本連載は、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コマンドレットは、管理者権限で実行する必要があります。
Copyright © ITmedia, Inc. All Rights Reserved.