【 Close-SmbSession 】コマンドレット――確立しているSMBセッションを強制的に終了するWindows PowerShell基本Tips(76)

本連載は、PowerShellコマンドレットについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は「Close-SmbSession」コマンドレットを解説します。

» 2023年07月14日 05時00分 公開
[後藤諭史@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「Windows PowerShell基本Tips」のインデックス

連載目次

 本連載では、Windows PowerShellの基本的なコマンドレットについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、確立しているSMB(Server Message Block)セッションを強制的に終了する「Close-SmbSession」コマンドレットです。

Close-SmbSessionコマンドレットとは?

 ネットワーク経由でのファイル共有は非常に便利ですが、大量のクライアントからのアクセスはサーバ側のリソースを消費することにつながり、サーバの性能低下を招くことになります。

 また、さまざまな理由によって共有フォルダに同時にアクセスできるユーザー数に制限をかけている環境下では、適切に共有アクセスを切断しないユーザー(例えば、PCの電源を落とさずに帰宅するユーザーなど)がいると、必要なユーザーに必要なときにリソースを割り当てられないことも問題になります(画面1)。

ALT 画面1 共有フォルダのアクセス数上限に達してしまった場合のメッセージ

 「Close-SmbSession」コマンドレットは、現在サーバとして確立しているSMBセッションを強制的に切断するコマンドレットです。これにより、セッションを占有しているユーザーがいた場合、もしくは大量のアクセスでサーバが過負荷になっている場合に、セッションを強制切断することで状況の改善を図ることができます。

 コマンドプロンプトであれば「net session <コンピュータ名> /delete」を使用しますが、Close-SmbSessionコマンドレットであれば、本連載第74回で紹介した「Get-SmbSession」コマンドレットと組み合わせることで、より便利に利用することができます。

Close-SmbSessionコマンドレットの書式

Close-SmbSession [オプション]


Close-SmbSessionコマンドレットの主なオプション

オプション 意味
-SessionId 切断したいSMBセッションのセッションIDを指定する。省略可能
-ClientComputerName 切断したいセッションを確立しているIPアドレスを指定する。省略可能
-ClientUserName 切断したいセッションを確立しているユーザー名を指定する。省略可能


確立されているSMBセッションを切断する

 オプションを指定せずにClose-SmbSessionコマンドレットを実行すると、現在確立している全てのSMBセッションを切断します(画面2)。なお、Close-SmbSessionコマンドレットは、管理者権限で実行する必要があります。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。