PowerShell で get-acl を使用してファイルにエクスポートする 1 つのスクリプトに問題があります。私がやろうとしているのは、isinherited フラグ Flase を持つファイル サーバーからすべてのアクセス許可をエクスポートすることです。この部分は完全に機能しますが、これらのフォルダーのタイプを許可または拒否するだけです。私が必要とするのは、特定のフォルダに対する正確なアクセス許可を知ることです。そのユーザーは読み取りまたは書き込み、実行などを許可していますか。これが私が行ったことのコード全体です。
$OutFile = "C:\install\powershell\Permissions.txt"
$Header = "Folder Path,IdentityReference,AccessControlType,IsInherited,InheritanceFlags,PropagationFlags"
Del $OutFile
Add-Content -Value $Header -Path $OutFile
$RootPath = "C:\install\powershell\"
$Folders = dir $RootPath -recurse | where {$_.psiscontainer -eq $true}
foreach ($Folder in $Folders){
$ACLs = get-acl $Folder.fullname | ForEach-Object { $_.Access }
Foreach ($ACL in $ACLs){
if ($ACL.IsInherited -eq $false){
$OutInfo = $Folder.Fullname + "," + $ACL.IdentityReference + "," + $ACL.AccessControlType + "," + $ACL.IsInherited + "," + $ACL.InheritanceFlags + "," + $ACL.PropagationFlags
Add-Content -Value $OutInfo -Path $OutFile
}}}
私の質問は次のとおりです。$ACL を追加するにはどうすればよいですか。正確な許可レベルを取得します。それは可能ですか?ACL の解析に使用できるオブジェクトのリストを取得するs?
I
方法.
よろしくお願いします。
UPD: $ACL.FileSystemRights を試してみることができるようです。必要なものが得られたら、この投稿を更新します。UPD2: はい、$Header に FileSystemRights を追加し、$OutInfo に " + $ACL.FileSystemRights + " を追加する必要があったようです。しかし、これは誰かが必要なものを手に入れるのに役立つかもしれません! :)