ドルヲタ系インフラエンジニア じーふーの備忘録

クラウドをメインに扱うインフラエンジニアが書くメモやら雑感、たまにドルヲタ的活動記録残します。最近の推しはAzureのData Factory(V2)です。

【PowerShell】 指定ユーザ/グループのアクセス権を含むフォルダ・ファイル抽出スクリプト

指定ユーザやグループのアクセス権がACLに含まれているフォルダ、ファイルパスを抽出するスクリプトです。
取り急ぎ必要だったため急いで作ったスクリプトなので、そのうち見直したいです。

ACL: アクセス制御リスト

スクリプト内容

$result = $null;
$root_dirs = 'C:\app','D:\oradata'
$sid = 'hoge\fuga'
foreach ($root in $root_dirs) {
  $list=icacls $root /findsid $sid /T
  $list=foreach ($i in $list) { $i.split(' ')[2] }
  [Array]::Clear($list,$list.length-1,1)
  $result += $list
}
$result

説明

変数 役割
$result 結果格納変数
$root_dirs ルートDir指定(配列)。
$sid 検索するユーザ、および、グループ名

参考

icaclsコマンドでアクセス制御リスト中のメンバーを検索する − @IT