Synology共有フォルダのアクセス権限をCSVで出力したい!powershellなら可能。

IT技術
スポンサーリンク

SynologyのNASを一通り設定して思ったのが、

アクセス権限の一覧をエクスポートしたい!

Synologyの管理画面を一通り見たのですが、アクセス権限をエクスポートする機能はどうやら無さそうでした。

いちいちGUIでアクセス権限を共有フォルダの設定を一つづつ確認していくのは非常に面倒。

50個以上も共有フォルダを作っているので、そもそも目視だと間違えそう。。。

ってことで自力で一覧をエクスポートする手段を考えてみました。

思った以上に綺麗にエクスポートできて満足しています。

スポンサーリンク

Synology共有フォルダのアクセス権限はpowershellでエクスポート可能

Windows Serverならpowershellで一発なのに、、、

ん?

Synologyにもpowershellでアクセス権限が取れるのか?

取れましたw

コマンドはこんな感じ。

Get-Acl "\\192.168.100.10\営業" |Select-object @{Label="Path";Expression={Convert-Path $_.Path}}, Owner, AccessToString |Export-Csv C:\work\accesslist.csv -encoding Default
Get-Acl "\\192.168.100.10\総務" |Select-object @{Label="Path";Expression={Convert-Path $_.Path}}, Owner, AccessToString |Export-Csv C:\work\accesslist.csv -Append -encoding Default

2つ目のコマンドはオプションで「-Append」を付けています。

最初に作ったCSVに追記するように仕込んでいる感じです。

Ownerのプロパティは不要かもしれないので、そこはお好みで。

AccessToStringがアクセス権限のプロパティなので、これさえあれば私の場合用が済みました。

ちなみにsynologyのNASはドメイン参加しています。

SynologyのNASをドメイン参加せずにGet-Aclでアクセス権限を取得しても、SynologyのローカルアカウントはSSID(数字の羅列)で表記されるので何のことやら分からないと思います。

Synologyのローカルアカウントをpowershellで取得するのは厳しいですが、ドメインのグループやドメインユーザーであれば一覧を取ることは可能。

スポンサーリンク

SynologyのNASでアクセス権限を取得するために必要な条件

ではまとめます。

・ドメイン参加している
・SynologyのNASに付与しているアクセス権限はドメインユーザー・ドメイングループ
・SynologyのNASに作成したローカルアカウントを使ってアクセス制御している。各共有フォルダに権限付与しているローカルアカウントの一覧が欲しい

ドメイン参加しているようであれば是非powershellを使って一覧取得してみてください。

凄く楽ですよ。

コメント

タイトルとURLをコピーしました