もくじ
📝 はじめに
社内ネットワークや自宅LANでファイル共有を使っていると、
「このPCではどんな共有フォルダが公開されているのか」
「意図しない共有が有効になっていないか」
を確認したくなる場面があります。
そんなときに役立つのが
Get-SmbShare です。
この記事では、PowerShellでWindowsの共有フォルダ(SMB共有)を確認する基本的な使い方を、
管理・切り分けの視点で分かりやすく解説します。
- このPCで公開されている共有フォルダを一覧で確認したいとき
- 不要・危険な共有が有効になっていないか調べたいとき
- トラブル時に共有設定の有無を切り分けたいとき
✅ このコマンドでできること(要点)
- PC上のすべてのSMB共有フォルダを一覧表示できる
- 共有名・パス・状態を確認できる
- 管理共有(C$ など)も含めて把握できる
- 共有設定の棚卸しや監査に使える
Get-SmbShare は、
Windowsで設定されているSMB共有フォルダの情報を一覧表示するコマンドです。
エクスプローラーや管理ツールを開かなくても、
PowerShellから現在の共有状態を即座に確認できる点が特徴です。
🧩 基本構文
Get-SmbShare
引数を付けずに実行すると、
このPCで公開されているすべての共有フォルダが表示されます。
▶ 基本的な使い方(まずこれだけ)
🔹 共有フォルダを一覧で確認する
Get-SmbShare
共有名(Name)、フォルダの実体パス(Path)、状態などが表示されます。
一覧が表示されれば、共有情報は正しく取得できています。
🔹 管理共有を含めて確認する
Get-SmbShare | Select-Object Name, Path, Description
C$ や ADMIN$ などの
管理共有が有効かどうかも確認できます。
🛠 よく使われる指定例
🔹 特定の共有名だけを確認する
Get-SmbShare -Name "ShareFolder"
目的の共有フォルダが存在するかをピンポイントで確認できます。
🔹 管理共有を除外して確認する
Get-SmbShare | Where-Object {$_.Name -notlike "*$"}
ユーザー向けに公開されている共有だけを抽出できます。
💼 実務でよく使う使用例(応用)
🔹 不要な共有がないか棚卸しする
Get-SmbShare | Select-Object Name, Path
実体パスを確認することで、
「なぜこのフォルダが共有されているのか」を把握できます。
🔹 ファイルサーバーの共有一覧を確認する
Get-SmbShare | Where-Object {$_.ScopeName -ne ""}
- Get-SmbShareAccess でアクセス権を確認
- Get-SmbSession で接続中ユーザーを確認
- Get-SmbOpenFile で開かれているファイルを確認
🧩 よくある勘違い・つまずきポイント
- 管理共有(C$ など)はデフォルトで存在する
- 共有があっても必ずアクセスできるとは限らない
- NTFS権限と共有権限は別管理である
- 共有名とフォルダ名は一致しないことがある
- 管理者権限が必要な環境がある
🔄 cmdとの違いについて
cmdの net share でも共有一覧は確認できますが、
表示形式が固定的です。
Get-SmbShare は、
条件抽出やスクリプト処理がしやすい点が大きな違いです。
⚠ エラー・うまく動かないときの確認ポイント
- 管理者権限でPowerShellを起動しているか
- SMBサービスが有効になっているか
- Homeエディションなど機能制限がないか
- 共有自体が設定されていない可能性
🧠 注意点
Get-SmbShare は確認専用の安全なコマンドですが、
共有フォルダの設定内容によっては
情報漏えいリスクが存在する場合があります。
定期的な確認をおすすめします。
📌 まとめ
- Get-SmbShareは共有フォルダ確認の基本コマンド
- 意図しない共有の発見に役立つ
- 管理・監査・トラブル切り分けに必須
- 次はアクセス権や接続状況と併用すると安心
🔎 PowerShellコマンドを探す
やりたいことからコマンドを探せます。
- ファイルを削除したい
- 一覧を表示したい
- 文字列を検索したい
- 条件で絞り込みたい
- エラーや実行できない原因を調べたい
- 共有フォルダを確認したい
- ネットワーク共有の状態を調べたい
