Exchange Online の操作をするため PowerShell から Office365 へ接続する場合がありますが、終了時に PowerShell ウィンドウの「閉じる」で終了させていたため、セッション上限に達して新規接続ができなかったことがありました。この方法では接続したセッションが即時に破棄がされずに 15 分程度セッションがアクティブの状態となってしまうようです。
サービスによっては 1 人のユーザーまたは 1 つのドメインでの同時接続数に制限があるため、セッションを適切に閉じずにログオフした場合は、セッションが終了するまで利用できる接続が少なくなります。今回は PowerShell のセッションを終了させる方法について調べてみました。
PowerShell でセッションを確認する[Get-PSSession]
サービスにセッション接続をしている PowerShell ウィンドウにて、”Get-PSSession” コマンドを実行すると接続中のセッションの一覧を確認することができます。
コマンド例
Get-PSSession
コマンド実行例
PS C:\Users\Administrator> Get-PSSession
Id Name ComputerName ComputerType State ConfigurationName Availability
-- ---- ------------ ------------ ----- ----------------- ------------
2 Session2 outlook.offi... RemoteMachine Opened Microsoft.Exchange Available
PS C:\Users\Administrator>
このように現在接続中のセッションを確認することができます。
終了させたいセッションの ID を確認しておきます。
PowerShell でセッションを終了する[Remove-PSSession]
PowerShell セッションを終了させるには、”Remove-PSSession” コマンドで Get-PSSession にて確認した終了するセッション ID を指定して実行します。
コマンド例
Remove-PSSession -ID <セッションID>
コマンド実行例
PS C:\Users\Administrator> Remove-PSSession -ID 2
PS C:\Users\Administrator>
これで指定したセッションを終了させることができます。
再度 Get-PSSession にて、アクティブなセッションを確認すると指定したセッションが終了しています。