次の方法で共有


Get-PSSession

現在のセッションの Windows PowerShell セッション (PSSession) を取得します。

構文

Get-PSSession [[-ComputerName] <string[]>] [<CommonParameters>]

Get-PSSession [-Id] <Int32[]> [<CommonParameters>]

Get-PSSession [-InstanceId <Guid[]>] [<CommonParameters>]

Get-PSSession [-Name <string[]>] [<CommonParameters>]

説明

Get-PSSession コマンドレットは、現在のセッションで作成された Windows PowerShell セッション (PSSession) を取得します。

パラメーターが指定されていない場合、Get-PSSession は現在のセッションで作成されたすべての PSSession を取得します。Get-PSSession のパラメーターを使用すると、特定のコンピューターに接続しているセッションを取得することも、名前、ID、またはインスタンス ID でセッション名を識別することもできます。

Windows PowerShell セッションの詳細については、「about_PSSessions」を参照してください。

パラメーター

-ComputerName <string[]>

指定されたコンピューターに接続している PSSession のみを取得します。ワイルドカードを使用できます。

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

必須

false

位置

1

既定値

パイプライン入力を許可する

true (ByPropertyName)

ワイルドカード文字を許可する

true

-Id <Int32[]>

指定された ID を持つ PSSession のみを取得します。1 つ以上の ID をコンマで区切って入力するか、範囲演算子 (..) を使用して ID の範囲を指定します。

ID は、現在のセッション内の PSSession を一意に識別する整数です。InstanceId よりも覚えやすく入力も容易ですが、一意であるのは現在のセッション内のみです。PSSession の ID を検索するには、パラメーターを指定せずに Get-PSSession を使用します。

必須

true

位置

1

既定値

All sessions in the shell

パイプライン入力を許可する

true (ByPropertyName)

ワイルドカード文字を許可する

false

-InstanceId <Guid[]>

指定されたインスタンス ID の PSSession のみを取得します。

インスタンス ID は、ローカル コンピューターまたはリモート コンピューターの PSSession を一意に識別する GUID です。Windows PowerShell で複数のセッションが実行されている場合でも、InstanceID は一意です。

InstanceID は、PSSession を表すオブジェクトの InstanceID プロパティに保存されます。現在のセッションの PSSession の InstanceID を検索するには、「get-pssession | Format-Table Name, ComputerName, InstanceId」と入力します。

必須

false

位置

named

既定値

パイプライン入力を許可する

true (ByPropertyName)

ワイルドカード文字を許可する

true

-Name <string[]>

指定されたフレンドリ名の PSSession のみを取得します。ワイルドカードを使用できます。

現在のセッションの PSSession の名前を検索するには、パラメーターを指定せずに「get-pssession」と入力します。

必須

false

位置

named

既定値

パイプライン入力を許可する

true (ByPropertyName)

ワイルドカード文字を許可する

true

<CommonParameters>

このコマンドレットは、次の共通パラメーターをサポートします: -Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer、および -OutVariable。詳細については、次を参照してください: about_Commonparameters.

入力と出力

入力値の型は、コマンドレットへのパイプが可能なオブジェクトの型です。戻り値の型は、コマンドレットによって返されるオブジェクトの型です。

入力

None

パイプを使用してこのコマンドレットに入力を渡すことはできません。

出力

System.Management.Automation.Runspaces.PSSession

Get-PSSession は、取得した各 PSSession の PSSession オブジェクトを返します。

Get-PSSession は現在のセッションで作成された PSSession を取得します。Windows PowerShell の起動時に作成されたセッションは取得されません。また、ローカル コンピューターに接続している場合も、他のセッションまたは他のコンピューターで作成された PSSession は取得されません。

例 1

C:\PS>get-pssession

説明
-----------
このコマンドは現在のセッションで作成された PSSession をすべて取得します。

このコンピューターに接続している場合も、他のセッションまたは他のコンピューターで作成された PSSession は取得されません。





例 2

C:\PS>$s = get-pssession -computername Server02

説明
-----------
このコマンドは、Server02 コンピューターに接続されている PSSession を取得し、$p 変数に保存します。





例 3

C:\PS>new-pssession -computername Server01, Server02, Server03

C:\PS> $s1, $s2, $s3 = get-pssession

説明
-----------
この例は、Get-PSSession コマンドの結果を複数の変数に保存する方法を示しています。

最初のコマンドは、New-PSSession コマンドレットを使用して 3 台のリモート コンピューター上に PSSession を作成します。

2 番目のコマンドは、Get-PSSession コマンドレットを使用して 3 つの PSSession を取得します。次に、各 PSSession を別々の変数に保存します。

Windows PowerShell がオブジェクトの配列を変数の配列に割り当てるとき、最初のオブジェクトは最初の変数に、2 番目のオブジェクトは 2 番目の変数に割り当て、以降も同様に割り当てを行っていきます。オブジェクトの数が変数の数よりも多い場合、残りのすべてのオブジェクトは配列の最後の変数に割り当てられます。変数の数がオブジェクトの数よりも多い場合、余分な変数は使用されません。





例 4

C:\PS>get-pssession | format-table -property computername, InstanceID

C:\PS> $s = get-pssession -InstanceID a786be29-a6bb-40da-80fb-782c67f7db0f

C:\PS> remove-pssession -session $s

説明
-----------
この例は、インスタンス ID を使用して PSSession を取得し、その後で PSSession を削除する方法を示しています。

最初のコマンドは、ローカル コンピューター上のすべての PSSession を取得します。このコマンドは PSSession を Format-Table コマンドレットに送って、各 PSSession の ComputerName プロパティと InstanceID プロパティを表示します。

2 番目のコマンドは、Get-PSSession コマンドレットを使用して特定の PSSession を取得し、$s 変数に保存します。このコマンドは、InstanceID パラメーターを使用して PSSession を識別します。

3 番目のコマンドは、Remove-PSSession コマンドレットを使用して、$s 変数の PSSession を削除します。





例 5

C:\PS>get-pssession -computername Serv*

説明
-----------
このコマンドは、名前が "Serv" で始まるコンピューターに接続する PSSession をすべて取得します。





例 6

C:\PS>get-pssession -name Test*, Ux*

説明
-----------
このコマンドは、名前が "Test" または "Ux" で始まる PSSession を取得します。





例 7

C:\PS>get-pssession 2

説明
-----------
このコマンドは、ID が 2 である PSSession を取得します。





関連項目

概念

about_PSSessions
about_Remote
New-PSSession
Remove-PSSession
Enter-PSSession
Exit-PSSession
Invoke-Command