質問: vbs、コマンドプロンプト、Power Shellどれかを用いて、リモートのファイルサーバに存在する共有フォルダの一覧を取得する方法を教えてください。 なお、共有フォルダとは下記を開いた際に表示される一覧のことです。 \\FileSever.local (ここではファイルサーバのFQDNをFileSever.internalとしています。) Webで調べても、dirなどで共有フォルダ配下のフォルダやファイルの一覧を取得する方法や、ファイルサーバ上で共有一覧を取得する方法は見つかるのですが、 肝心のリモートからファイルサーバの共有フォルダの一覧の取得方法が見つかりません。
回答: コマンドプロンプト上から、`NET`コマンドの`VIEW`オプションでご所望の情報が取れます。 ``` C:\>net help view このコマンドの構文は次のとおりです: NET VIEW \\コンピューター名 [/CACHE] | [/ALL] | /DOMAIN[:ドメイン名]] NET VIEW は、コンピューター上で共有されているリソースの一覧を表示します。オプ ションなしで使用した場合は、現在のドメインまたはネットワークのコンピューター の一覧が表示されます。 \\コンピューター名 表示する共有リソースが含まれるコンピューター です。 /DOMAIN:ドメイン名 使用可能なコンピューターを表示するドメインを指定 します。ドメイン名を省略した場合は、ローカル エリア ネットワーク内のすべてのドメインが表示されます。 /CACHE 指定したコンピューター上のリソースに対するオフ ライン クライアント キャッシュの設定を表示します。 /ALL $ 共有に含まれるすべての共有を表示します。 ``` 例えばローカルPC(Windows 10)からリモートPC \\winpc11 (Windows 7)の共有リソースである「183120r」と「DISKS」を列挙すると、下図のようになります。 ![NETコマンド実行の様子 Windows Server は無く、あくまでワークグループでの運用ですが、権限に問題が無い限りは事情は同じだと思います。 **追記しました:**2019/04/11 02:10 「\\コンピューター名」だけでなく、頭の`\\`を除いた「コンピューター名」でもコマンド`NET VIEW`を実行できました。Windows起動直後はブラウズができない場合があるので注意してください。