本連載は、PowerShellコマンドレットについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は「Get-SmbOpenFile」コマンドレットを解説します。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
本連載では、Windows PowerShellの基本的なコマンドレットについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、SMBサーバ上で開かれているファイルの情報を取得する「Get-SmbOpenFile」コマンドレットです。
Windowsのファイル共有は、「SMB(Server Message Block)」プロトコルを使用したネットワークファイルシステムです。その歴史は古く、「Microsoft One Drive」や「Microsoft Teams」といったファイルを共有できるクラウドサービス出現以前から、企業ITシステムを支えてきました。
One Driveでは「ファイルを同時に複数人で開いて、同時に編集する」という共同作業が当たり前にできますが、Windowsの共有フォルダでは1人がファイルを開くとファイルが「ロック」され、他の人はそのファイルを編集することができません(画面1)。
ファイルを編集するには、編集可能な状態でファイルを開いている人に、いったんファイルを閉じてもらうしかありません。
こうした状況で必要なのは、「誰が」「どこから」ファイルを開いているかを確認する手段であり、それを可能にするのがGet-SmbOpenFileコマンドレットです。
Get-SmbOpenFileコマンドレットでは、現在SMBサーバ上で開かれているファイルや、「誰が」「どこからアクセスしてきているか」などの詳細情報を取得することが可能です。
コマンドプロンプトであれば「net」コマンドの「file」オプションを付与しての実行になりますが、Get-SmbOpenFileコマンドレットであればより細かい情報を取得できます。
オプション | 意味 |
---|---|
-SessionId | 情報を取得したいオープンファイルのセッションIDを指定する。省略可能 |
-ClientComputerName | 情報を取得したいオープンファイルの使用者IPアドレスを指定する。省略可能 |
-ClientUserName | 情報を取得したいオープンファイルの使用者ユーザー名を指定する。省略可能 |
オプションを指定せずにGet-SmbOpenFileコマンドレットを実行すると、基本的なセッション情報を取得できます(画面2)。取得可能な情報は、「ファイルID」「セッションID」「ファイルパス」「相対パス」です。なお、Get-SmbOpenFileコマンドレットは、管理者権限で実行する必要があります。
Get-SmbOpenFile
「Format-List」(「FL」と省略可能)を併用すると、オープンファイルの詳細情報を取得できます。FLを併用する場合は、コマンドレット実行例のようにパイプ(|)でつないで実行します。Format-Listに対してオプションを付与せずに実行すると、代表的なプロパティが取得できます(画面3)。
Get-SmbOpenFile | fl
Format-Listに「*」オプションを付与して実行すると、取得可能なプロパティを全て表示できます(画面4)。
Get-SmbOpenFile | fl *
なお、Format-Listで詳細情報を出力すると情報過多になるため、必要な情報のみを出力したい場合は、以下のようなコマンドレットを実行します(画面5)。
Get-SmbOpenFile | FT FileId,Path,ClientComputerName,ClientUserName
画面5のような状態で出力すれば、誰がどこからどのファイルを開いているかをひと目で把握できます。
Get-SmbOpenFileコマンドレットで出力される「Session ID」は、本連載第74回で紹介した「Get-SmbSession」コマンドレットで取得できるSession IDと共通(ファイルを開いているSMBセッションを表している)です。
したがって、このファイルが「いつから開かれていたのか」(開いてからどのくらいの秒数が経過しているか)を確認することも可能です(画面6)。
Get-SmbSession -SessionId (Get-SmbOpenFile -FileId "739002810973").SessionId | FT SecondsExists,SecondsIdle
Microsoft MVP for Cloud and Datacenter Management(2012-2023)。現業の傍ら、コミュニティーイベントでの登壇や著作にてMicrosoftテクノロジーに関する技術情報の発信、共有を続けている。ネットワークやハードウェアといった物理層に近いところが大好きな、昔ながらのインフラ屋さん。得意技はケーブル整線。近著は『詳解! Windows Server仮想ネットワーク』(日経BP社)。
Copyright © ITmedia, Inc. All Rights Reserved.