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
}
}