本連載は、PowerShellコマンドレットについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は「Close-SmbSession」コマンドレットを解説します。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
本連載では、Windows PowerShellの基本的なコマンドレットについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、確立しているSMB(Server Message Block)セッションを強制的に終了する「Close-SmbSession」コマンドレットです。
ネットワーク経由でのファイル共有は非常に便利ですが、大量のクライアントからのアクセスはサーバ側のリソースを消費することにつながり、サーバの性能低下を招くことになります。
また、さまざまな理由によって共有フォルダに同時にアクセスできるユーザー数に制限をかけている環境下では、適切に共有アクセスを切断しないユーザー(例えば、PCの電源を落とさずに帰宅するユーザーなど)がいると、必要なユーザーに必要なときにリソースを割り当てられないことも問題になります(画面1)。
「Close-SmbSession」コマンドレットは、現在サーバとして確立しているSMBセッションを強制的に切断するコマンドレットです。これにより、セッションを占有しているユーザーがいた場合、もしくは大量のアクセスでサーバが過負荷になっている場合に、セッションを強制切断することで状況の改善を図ることができます。
コマンドプロンプトであれば「net session <コンピュータ名> /delete」を使用しますが、Close-SmbSessionコマンドレットであれば、本連載第74回で紹介した「Get-SmbSession」コマンドレットと組み合わせることで、より便利に利用することができます。
オプション | 意味 |
---|---|
-SessionId | 切断したいSMBセッションのセッションIDを指定する。省略可能 |
-ClientComputerName | 切断したいセッションを確立しているIPアドレスを指定する。省略可能 |
-ClientUserName | 切断したいセッションを確立しているユーザー名を指定する。省略可能 |
オプションを指定せずにClose-SmbSessionコマンドレットを実行すると、現在確立している全てのSMBセッションを切断します(画面2)。なお、Close-SmbSessionコマンドレットは、管理者権限で実行する必要があります。
Close-SmbSession
Close-SmbSessionコマンドレットを実行した際には、セッションを切断して問題ないかどうか、確認のプロンプトが表示されます。個別に応答する場合は[Y]キー、全てのセッションを切断して問題ない場合は[A]キーを入力します。
確認のプロンプトが不要の場合や、スクリプトで本コマンドレットを使用する場合は「-Force」オプションを指定することで、確認プロンプトを返すことなく切断が実行されます(画面3)。
Close-SmbSession -Force
特定のセッションのみ切断したい場合は、「-SessionId」オプションを利用して切断したいセッションIDを指定します(画面4)。セッションIDは、Get-SmbSessionコマンドレット(本連載第74回参照)で取得可能です。
Close-SmbSession -SessionId "738734375381" -Force
同様に「ユーザー名」や「接続元IPアドレス」でセッションを特定し、切断することも可能です。例えば、複数個所から同一のユーザーIDで接続してきている場合、ユーザー名を指定することで複数の接続をまとめて切断することが可能です(画面5)。
Close-SmbSession -ClientUserName "SV01\Administrator" -Force
上記例では、2つのIPアドレスから同一ユーザー(SV01\Administrator)で接続していましたが、ユーザー名を指定したことで、2つの接続を切断できたことが分かります。
Microsoft MVP for Cloud and Datacenter Management(2012-2023)。現業の傍ら、コミュニティーイベントでの登壇や著作にてMicrosoftテクノロジーに関する技術情報の発信、共有を続けている。ネットワークやハードウェアといった物理層に近いところが大好きな、昔ながらのインフラ屋さん。得意技はケーブル整線。近著は『詳解! Windows Server仮想ネットワーク』(日経BP社)。
Copyright © ITmedia, Inc. All Rights Reserved.