Remove-PSSession

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

構文

Remove-PSSession
      [-Id] <Int32[]>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-PSSession
      [-Session] <PSSession[]>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-PSSession
      -ContainerId <String[]>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-PSSession
      -VMId <Guid[]>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-PSSession
      -VMName <String[]>
      [-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 を持つ PSSession1 削除します 2

例 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

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

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

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

このコマンドは、 ポート 90 に接続されている PSSession を閉じます。 このコマンド形式を使用すると、ComputerName、Name、InstanceIDID 以外のプロパティで 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

Remove-PSSession -InstanceID fc4e9dfa-f246-452d-9fa3-1adbdd64ae85

これらのコマンドは、インスタンス ID または RemoteRunspaceID に基づいて PSSession を閉じる方法を示しています。

最初のコマンドでは、コマンドレットを 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 }

この関数は、現在のセッションのすべての 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

-ContainerId

コンテナーの ID の配列を指定します。 このコマンドレットは、指定された各コンテナーのセッションを削除します。 このコマンドを docker ps 使用して、コンテナー ID の一覧を取得します。 詳細については、docker ps コマンドのヘルプを参照してください。

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

-Id

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

ID は、現在のセッションの PSSession一意に識別する整数です。 InstanceId よりも覚えて入力する方が簡単ですが、現在のセッションでのみ一意です。 PSSessionID を検索するには、パラメーターを指定せずにコマンドレットを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 です。 1 台のコンピューターで複数のセッションが実行されている場合でも、インスタンス ID は一意です。

インスタンス ID は、PSSession を 表すオブジェクトの InstanceID プロパティに 格納されます。 現在のセッションで PSSessions の InstanceID を検索するには、「.」と入力します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

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

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

-VMId

仮想マシンの ID の配列を指定します。 このコマンドレットは、指定された各仮想マシンとの対話型セッションを開始します。 使用可能な仮想マシンを表示するには、次のコマンドを使用します。

Get-VM | Select-Object -Property Name, ID

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

-VMName

仮想マシンの名前の配列を指定します。 このコマンドレットは、指定された各仮想マシンとの対話型セッションを開始します。 使用可能な仮想マシンを表示するには、コマンドレットを Get-VM 使用します。

Type:String[]
Position:Named
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

このコマンドレットは、出力を返しません。

メモ

PowerShell には、次のエイリアスが Remove-PSSession含まれています。

  • すべてのプラットフォーム:

    • rsn
  • Id パラメーターは必須です。 現在の セッションのすべての PSSession を 削除するには、「.」と入力します Get-PSSession | Remove-PSSession

  • PSSession は、リモート コンピューターへの永続的な接続を使用します。 PSSession作成して、データを共有する一連のコマンドを実行します。 詳細を表示するには「Get-Help about_PSSessions」を入力します。

  • PSSession は 、現在のセッションに固有です。 セッションを終了すると、 そのセッションで作成した PSSession が強制的に閉じられます。