共有フォルダの設定を一覧化して確認します。net share じゃなくて PowerShell で確認する方法です。
背景
まず、net share でも良いのですが、場合によっては以下のような困ったことが起こりえます。
共有元のフルパスが長い場合、1行ずれて表示される
コメント(注釈/Description)が長い場合、すべての文字が表示されない(途中できれてしまう)
例えば以下。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
> net share 共有名 リソース 注釈 ------------------------------------------------------------------------------- ADMIN$ C:\WINDOWS Remote Admin C$ C:\ Default share print$ C:\windows\system32\spool\drivers プリンター ドライバー ★1行ずれてしまっている E$ E:\ Default share F$ F:\ Default share IPC$ Remote IPC Users C:\Users Backup F:\Backup Eドライブのバックアップ Movie E:\Movie 録画した映画 Music E:\Music 蔦屋で借りたCD Picture E:\Picture Data E:\Data あいうえおかきくけこさしすせ... ★途中で切れてしまいすべて表示されない |
ただ、確認するだけであれば良いのですが、ファイルサーバのリプレイスなどで設定を移行しなければならない場合は困ります。
スクリプトを用意して一気に流し込みたいのに1行ずれていたらいちいち修正しないといけないし、そもそも注釈が全て表示されていなければマウス操作でひとつひとつ該当のフォルダを確認する必要がでてきます。。。
その問題を解消するために PowerShell で確認する方法を調べたので紹介します。
確認方法
以下のコマンドを実行することで、共有の設定を確認できます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
PS > Get-WmiObject -class win32_share Name Path Description ---- ---- ----------- ADMIN$ C:\WINDOWS Remote Admin C$ C:\ Default share E$ E:\ Default share F$ F:\ Default share IPC$ Remote IPC print$ C:\windows\system32\spool\drivers プリンター ドライバー Backup F:\Backup Eドライブのバックアップ Users C:\Users Movie E:\Movie 録画した映画 Music E:\Music 蔦屋で借りたCD Picture E:\Picture Data E:\Data あいうえおかきくけこさしすせそたちつてと |
キレイに表示されていますね。
さらに、以下のコマンドでCSVファイルにエクスポートするのも簡単です。
1 |
PS > Get-WmiObject -class win32_share | Export-Csv sharelist.csv -Encoding default |
例えば、共有名とフォルダパスだけをとりだしたければ以下で良いです。
1 |
PS > Get-WmiObject -class win32_share | Select-Object Name,Path |
CSV に出力したければ、パイプで繋いで Export-csv 以降を実行すればいけます。
まとめ
共有の設定だけでなく、共有のアクセス権を一覧を取得するやり方も必要ですね。ファイルのアクセス権(NTFS のアクセス権)ではなく共有のアクセス権の方です。取得できれば Permcopy コマンドで設定はできるけど PowerShell でのやり方を知っておくと あとあと役に立ちそうです。
そろそろコマンドプロンプトの終わりが近づいているのではないでしょうか笑。積極的に PowerShell を使っていきたいと思います。
以上です。
↓↓↓ Powershell のおすすめレシピ ~結局はオライリー~