Remove-PSSession
1 つ以上の PowerShell セッション (PSSessions) を閉じます。
構文
Id (既定)
Remove-PSSession
[-Id] <Int32[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Session
Remove-PSSession
[-Session] <PSSession[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
InstanceId
Remove-PSSession
-InstanceId <Guid[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Name
Remove-PSSession
-Name <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
ComputerName
Remove-PSSession
[-ComputerName] <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
説明
Remove-PSSession コマンドレットは、現在のセッションの PowerShell セッション (PSSessions) を閉じます。 PSSessionsで実行されているコマンドをすべて停止し、PSSessionを終了し、PSSession が使用していたリソースを解放します。 PSSession がリモート コンピューターに接続されている場合、このコマンドレットはローカル コンピューターとリモート コンピューター間の接続も閉じます。
PSSessionを削除するには、セッションの Name、ComputerName、ID、または InstanceID を入力します。
PSSession を変数に保存した場合、セッション オブジェクトは変数に残りますが、PSSession の状態は Closed です。
例
例 1: ID を使用してセッションを削除する
Remove-PSSession -Id 1, 2
このコマンドは、ID が 1 と 2 の PSSessions を削除します。
例 2: 現在のセッションのすべてのセッションを削除する
Get-PSSession | Remove-PSSession
Remove-PSSession -Session (Get-PSSession)
$s = Get-PSSession
Remove-PSSession -Session $s
これらのコマンドを実行すると、現在のセッションで PSSessions がすべて削除されます。 3 つのコマンド形式は異なって見えますが、同じ効果があります。
例 3: 名前を使用してセッションを閉じる
$r = Get-PSSession -ComputerName Serv*
$r | Remove-PSSession
これらのコマンドは、名前が Serv で始まるコンピューターに接続されている PSSessions を閉じます。
例 4: ポートに接続されているセッションを閉じる
Get-PSSession | where {$_.port -eq 90} | Remove-PSSession
このコマンドは、ポート 90 に接続されている PSSessions を閉じます。 このコマンド形式を使用すると、ComputerName、Name、InstanceID、ID以外のプロパティによって、PSSessions を識別できます。
例 5: インスタンス ID に基づいてセッションを閉じる
Get-PSSession | Format-Table ComputerName, InstanceID -AutoSize
ComputerName InstanceId
------------ ----------------
Server01 875d231b-2788-4f36-9f67-2e50d63bb82a
localhost c065ffa0-02c4-406e-84a3-dacb0d677868
Server02 4699cdbc-61d5-4e0d-b916-84f82ebede1f
Server03 4e5a3245-4c63-43e4-88d0-a7798bfc2414
TX-TEST-01 fc4e9dfa-f246-452d-9fa3-1adbdd64ae85 PS C:\> Remove-PSSession -InstanceID fc4e9dfa-f246-452d-9fa3-1adbdd64ae85
これらのコマンドは、インスタンス ID に基づいて PSSession を閉じる方法、または RemoteRunspaceID する方法を示しています。
最初のコマンドでは、 Get-PSSession コマンドレットを使用して、現在のセッションの PSSession を取得します。 パイプライン演算子 (|) を使用して PSSessions を Format-Table コマンドレットに送信し、テーブル内の ComputerName プロパティと InstanceID プロパティを書式設定します。 AutoSize パラメーターは、表示する列を圧縮します。
結果の表示から、閉じる PSSession を識別し、その PSSession の InstanceID をコピーして 2 番目のコマンドに貼り付けることができます。
2 番目のコマンドでは、 Remove-PSSession コマンドレットを使用して、指定したインスタンス ID を持つ PSSession を削除します。
例 6: 現在のセッションのすべてのセッションを削除する関数を作成する
Function EndPSS { Get-PSSession | Remove-PSSession }
この関数は、現在のセッション内のすべての PSSessions を削除します。
この関数を PowerShell プロファイルに追加した後、すべてのセッションを削除するには、「EndPSS
」と入力します。
パラメーター
-ComputerName
コンピューターの名前の配列を指定します。 このコマンドレットは、指定したコンピューターに接続されている PSSessions を閉じます。 ワイルドカード文字を使用できます。
1 台以上のリモート コンピューターの NetBIOS 名、IP アドレス、または完全修飾ドメイン名を入力します。 ローカル コンピューターを指定するには、コンピューター名、localhost、またはドット (.) を入力します。
パラメーターのプロパティ
型: | String[] |
規定値: | None |
ワイルドカードのサポート: | True |
DontShow: | False |
Aliases: | Cn |
パラメーター セット
ComputerName
配置: | 0 |
必須: | True |
パイプラインからの値: | False |
プロパティ名別のパイプラインからの値: | True |
残りの引数からの値: | False |
-Confirm
コマンドレットを実行する前に確認を求めるメッセージが表示されます。
パラメーターのプロパティ
型: | SwitchParameter |
規定値: | False |
ワイルドカードのサポート: | False |
DontShow: | False |
Aliases: | cf |
パラメーター セット
(All)
配置: | Named |
必須: | False |
パイプラインからの値: | False |
プロパティ名別のパイプラインからの値: | False |
残りの引数からの値: | False |
-Id
セッションの ID の配列を指定します。 このコマンドレットは、指定した ID で PSSessions を閉じます。 1 つ以上の ID をコンマで区切って入力するか、範囲演算子 (..) を使用して ID の範囲を指定します。
ID は、現在のセッションで PSSession を一意に識別する整数です。 InstanceIdよりも覚えやすく、入力する方が簡単ですが、現在のセッションでのみ一意です。 PSSession の ID を検索するには、パラメーターを指定せずに Get-PSSession コマンドレットを実行します。
パラメーターのプロパティ
型: | Int32[] |
規定値: | None |
ワイルドカードのサポート: | False |
DontShow: | False |
パラメーター セット
Id
配置: | 0 |
必須: | True |
パイプラインからの値: | False |
プロパティ名別のパイプラインからの値: | True |
残りの引数からの値: | False |
-InstanceId
インスタンス ID の配列を指定します。 このコマンドレットは、指定したインスタンス ID を持つ PSSessions を閉じます。
インスタンス ID は、現在のセッションで PSSession を一意に識別する GUID です。 1 台のコンピューターで複数のセッションが実行されている場合でも、インスタンス ID は一意です。
インスタンス ID は、PSSessionを表すオブジェクトの InstanceID プロパティに格納されます。
現在のセッションで PSSessions の InstanceID を特定するには、「Get-PSSession | Format-Table Name, ComputerName, InstanceId
」と入力します。
パラメーターのプロパティ
型: | Guid[] |
規定値: | None |
ワイルドカードのサポート: | False |
DontShow: | False |
パラメーター セット
InstanceId
配置: | Named |
必須: | True |
パイプラインからの値: | False |
プロパティ名別のパイプラインからの値: | True |
残りの引数からの値: | False |
-Name
セッションのフレンドリ名の配列を指定します。 このコマンドレットは、指定したフレンドリ名を持つ PSSessions を閉じます。 ワイルドカード文字を使用できます。
PSSession のフレンドリ名は一意ではない可能性があるため、Name パラメーターを使用する場合は、Remove-PSSession コマンドの WhatIf パラメーターまたは Confirm パラメーターも使用することを検討してください。
パラメーターのプロパティ
型: | String[] |
規定値: | None |
ワイルドカードのサポート: | True |
DontShow: | False |
パラメーター セット
Name
配置: | Named |
必須: | True |
パイプラインからの値: | False |
プロパティ名別のパイプラインからの値: | True |
残りの引数からの値: | False |
-Session
PSSessions のセッション オブジェクトを閉じるように指定します。 PSSessions を含む変数、または PSSessions を作成または取得するコマンド (New-PSSession コマンドや Get-PSSession コマンドなど) を入力します。 また、1 つ以上のセッション オブジェクトを Remove-PSSession にパイプ処理することもできます。
パラメーターのプロパティ
型: | PSSession[] |
規定値: | None |
ワイルドカードのサポート: | False |
DontShow: | False |
パラメーター セット
Session
配置: | 0 |
必須: | True |
パイプラインからの値: | True |
プロパティ名別のパイプラインからの値: | True |
残りの引数からの値: | False |
-WhatIf
コマンドレットを実行した場合の動作を示します。 コマンドレットは実行されません。
パラメーターのプロパティ
型: | SwitchParameter |
規定値: | False |
ワイルドカードのサポート: | False |
DontShow: | False |
Aliases: | ウィスコンシン |
パラメーター セット
(All)
配置: | Named |
必須: | False |
パイプラインからの値: | False |
プロパティ名別のパイプラインからの値: | False |
残りの引数からの値: | False |
CommonParameters
このコマンドレットでは、一般的なパラメーター -Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction、-WarningVariable の各パラメーターがサポートされています。 詳細については、about_CommonParametersを参照してください。
入力
PSSession
セッション オブジェクトをこのコマンドレットにパイプできます。
出力
None
このコマンドレットはオブジェクトを返しません。
メモ
-
ID パラメーターは必須です。 現在のセッションのすべての PSSessions を削除するには、「
Get-PSSession | Remove-PSSession
」と入力します。 -
PSSession は、リモート コンピューターへの永続的な接続を使用します。
PSSession を作成して、データを共有する一連のコマンドを実行します。 詳細については、「
Get-Help about_PSSessions
」と入力します。 - PSSessions は、現在のセッションに固有です。 セッションを終了すると、そのセッションで作成した PSSessions が強制的に閉じられます。