0
我有一個NTFS審計腳本,並且想添加一個基本的進度條。目前我有一個功能,我打電話正常,與$i = 100
表明我的最大%。我通過寫進度狀態
Get-ChildItem -Path $pathToFolders -Recurse -Force | ?{ $_.PSIsContainer } | % {$counter++}
通過文件夾中運行獲取文件夾的總數,再由這個數字除以我的$i
拿到%的增量,我需要在每次計算一個文件夾時間,增加我的進度條。問題是,腳本完成時,它只會將進度條填充到40-50%左右?我錯過了一些完全明顯的東西?
見我的代碼(注意$j = 0
在第一):
# Main
ForEach ($Folder in $Folders){
$ACLs = Get-ACL $Folder.FullName | % { $_.Access }
ForEach ($ACL in $ACLs){
$OutInfo = $Folder.Fullname + "," + $ACL.IdentityReference + "," + $ACL.AccessControlType + "," + $ACL.FileSystemRights + "," + $ACL.IsInherited + "," + $ACL.InheritanceFlags + "," + $ACL.PropagationFlags
Add-Content -Value $OutInfo -Path $outputCSV
}
Write-Progress -Activity "Auditing NTFS Permissions in ${$pathToFolders}..." -Status 'Progress ->' -PercentComplete $j
$j = $j + $i
}
}
非常感謝,但這似乎並不奏效 - $ j在它僅僅是一個不斷增加的百分比值之前沒有任何作用? – PnP
您必須在開始之前將'$ j'初始化爲0,並且您不需要再使用'$ i'(或者如果需要,您可以用'$ j'與'$ i'交換,但是您只需要一個計數器變量,而不是兩個)。 – qJake
是的,我已經將$ j設置爲0並且結果相同。事實上,酒吧一直保持在0%的水平。 – PnP