このへんを参考に
https://gallery.technet.microsoft.com/scriptcenter/site/search?query=%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9&f%5B1%5D.Value=%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9&f%5B1%5D.Type=SearchText&f%5B0%5D.Value=Hey%2C%20Scripting%20Guy&f%5B0%5D.Type=User&ac=4
https://www.yamamanx.com/windows-powershell-csv/
http://saborin.hatenablog.com/entry/2017/06/10/234304
-Recurse使うと、全部掘り下げてしまってえらい時間がかかるので、 代わりに¥*¥*¥*・・・と掘り下げたい階層ぶんくっつける。
サーバーに接続してPowerShell
(ドメインサーバのAdminユーザて、ファイルサーバのアクセス権見られる権限あるのかな…)
CSVを吐き出したいディレクトリにCDする
下記コード実行(サーバ名とかShareのあたりは適宜修正する)
1 |
Get-ChildItem -path \\aa-server\share\*\*\* | where {$_.mode -match "d"} | Get-Acl | Select-object @{Label="Path";Expression={Convert-Path $_.Path}}, AccessToString |Export-Csv acl.csv -encoding Default |
※階層の深さは\*で追加する。その深さの階層しか見ないので注意
出力したCSVをエクセルで開き、フィルタ
テキストフィルター>指定の値を含む>調べたいユーザー/グループ名[スペース]
区切り位置>カンマやタブ>その他>Ctrl+J(改行で区切る)
区切った中から、目当てのユーザーの列を抜き出す
1 |
=INDEX(C3:ZZ3,MATCH("ユーザー/グループ名[スペース]",C3:ZZ3,0)) |
以上