次の方法で共有


Remove-PSSession

1 つ以上の PowerShell セッション (PSSessions) を閉じます。

構文

Remove-PSSession
      [-Id] <Int32[]>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-PSSession
      [-Session] <PSSession[]>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-PSSession
      -InstanceId <Guid[]>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-PSSession
      -Name <String[]>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-PSSession
      [-ComputerName] <String[]>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

説明

Remove-PSSession コマンドレットは、現在のセッションの PowerShell セッション (PSSessions) を閉じます。 PSSession で実行されているコマンドをすべて停止し、PSSession を終了して、PSSession が使用していたリソースを解放します。 PSSession がリモート コンピューターに接続されている場合、このコマンドレットはローカル コンピューターとリモート コンピューター間の接続も閉じます。

PSSession を削除するには、セッションの名前ComputerNameID、または InstanceID を入力します。

PSSession を変数に保存した場合、セッション オブジェクトは変数内に残りますが、PSSession の状態は Closed です。

例 1: ID を使用してセッションを削除する

Remove-PSSession -Id 1, 2

このコマンドは,IDが1および2の PSSession を除去します。

例 2: 現在のセッションのすべてのセッションを削除する

Get-PSSession | Remove-PSSession
Remove-PSSession -Session (Get-PSSession)
$s = Get-PSSession
Remove-PSSession -Session $s

これらのコマンドにより、現在のセッション内のすべての PSSession が 削除されます。 これらの 3 つのコマンドの形式は異なっていますが、効果は同じです。

例 3: 名前を使用してセッションを閉じる

$r = Get-PSSession -ComputerName Serv*
$r | Remove-PSSession

これらのコマンドは、Serv で始まる名前を持つコンピューターに接続されている PSSession を閉じます。

例 4: ポートに接続されているセッションを閉じる

Get-PSSession | where {$_.port -eq 90} | Remove-PSSession

このコマンドは、ポート 90 に接続されている PSSession を 閉じます。 このコマンド形式を使用すると、ComputerNameNameInstanceIDID 以外のプロパティによって PSSession を識別できます。

例 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 または RemoteRunspaceID に基づいて PSSession を閉じる方法を示しています。

最初のコマンドでは 、Get-PSSession コマンドレットを使用して、現在のセッションの PSSession を 取得します。 パイプライン演算子 (|) を使用して PSSessions を Format-Table コマンドレットに送信し、テーブル内の ComputerName プロパティと InstanceID プロパティを書式設定します。 AutoSize パラメーターは、表示する列を圧縮します。

結果の表示から、閉じる PSSession を識別し、その PSSessionInstanceID をコピーして 2 番目のコマンドに貼り付けることができます。

2 番目のコマンドでは 、Remove-PSSession コマンドレットを使用して、指定したインスタンス ID を持つ PSSession を削除します。

例 6: 現在のセッションのすべてのセッションを削除する関数をCreateする

Function EndPSS { Get-PSSession | Remove-PSSession }

この関数は、現在のセッションのすべての PSSession を 削除します。 この関数を PowerShell プロファイルに追加した後、すべてのセッションを削除するには、「 」と入力します EndPSS

パラメーター

-ComputerName

コンピューターの名前の配列を指定します。 このコマンドレットは、指定したコンピューターに接続されている PSSession を閉じます。 ワイルドカード文字を使用できます。

1 台または複数のリモート コンピューターの NetBIOS 名、IP アドレス、または完全修飾ドメイン名を入力します。 ローカル コンピューターを指定するには、コンピューター名、localhost、またはドット (.) を入力します。

Type:String[]
Aliases:Cn
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:True

-Confirm

コマンドレットの実行前に確認を求めるメッセージが表示されます。

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Id

セッションの ID の配列を指定します。 このコマンドレットは、指定された ID を使用して PSSessions を閉じます。 1 つ以上の ID をコンマで区切って入力するか、範囲演算子 (..) を使用して ID の範囲を指定します。

ID は、現在のセッションの PSSession を一意に識別する整数です。 InstanceId よりも覚えて入力する方が簡単ですが、現在のセッションでのみ一意です。 PSSession の ID を見つけるには、パラメーターを指定せずに Get-PSSession コマンドレットを実行します。

Type:Int32[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-InstanceId

インスタンス ID の配列を指定します。 このコマンドレットは、指定されたインスタンス ID を持つ PSSession を閉じます。

インスタンス ID は、現在のセッションの PSSession を一意に識別する GUID です。 インスタンス ID は、1 台のコンピューターで複数のセッションが実行されている場合でも一意です。

インスタンス ID は、PSSession を表す オブジェクトの InstanceID プロパティに格納されます。 現在のセッションで PSSessionsInstanceID を検索するには、「 」と入力しますGet-PSSession | Format-Table Name, ComputerName, InstanceId

Type:Guid[]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

セッションのフレンドリ名の配列を指定します。 このコマンドレットは、指定されたフレンドリ名を持つ PSSession を 閉じます。 ワイルドカード文字を使用できます。

PSSession のフレンドリ名は一意ではない可能性があるため、Name パラメーターを使用する場合は、Remove-PSSession コマンドで WhatIf パラメーターまたは Confirm パラメーターも使用することを検討してください。

Type:String[]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:True

-Session

閉じる PSSessions のセッション オブジェクトを指定します。 PSSessions を含む変数、または PSSessions を作成または取得するコマンド (New-PSSession や Get-PSSession コマンドなど) を入力します。 また、1 つ以上のセッション オブジェクトを Remove-PSSession にパイプすることもできます。

Type:PSSession[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

コマンドレットの実行時に発生する内容を示します。 このコマンドレットは実行されません。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

入力

PSSession

セッション オブジェクトをこのコマンドレットにパイプできます。

出力

None

このコマンドレットはオブジェクトを返しません。

メモ

  • Id パラメーターは必須です。 現在のセッションのすべての PSSession を 削除するには、「 」と入力します Get-PSSession | Remove-PSSession
  • PSSession は、リモート コンピューターへの永続的な接続を使用します。 PSSession をCreateして、データを共有する一連のコマンドを実行します。 詳細を表示するには「Get-Help about_PSSessions」を入力します。
  • PSSessions は、現在のセッションに固有です。 セッションを終了すると、そのセッションで作成した PSSession は 強制的に閉じられます。