Get-PSSession

ローカル コンピューターとリモート コンピューター上の PowerShell セッションを取得します。

構文

Get-PSSession
   [-Name <String[]>]
   [<CommonParameters>]
Get-PSSession
   [-ComputerName] <String[]>
   [-ApplicationName <String>]
   [-ConfigurationName <String>]
   [-Name <String[]>]
   [-Credential <PSCredential>]
   [-Authentication <AuthenticationMechanism>]
   [-CertificateThumbprint <String>]
   [-Port <Int32>]
   [-UseSSL]
   [-ThrottleLimit <Int32>]
   [-State <SessionFilterState>]
   [-SessionOption <PSSessionOption>]
   [<CommonParameters>]
Get-PSSession
   [-ComputerName] <String[]>
   [-ApplicationName <String>]
   [-ConfigurationName <String>]
   -InstanceId <Guid[]>
   [-Credential <PSCredential>]
   [-Authentication <AuthenticationMechanism>]
   [-CertificateThumbprint <String>]
   [-Port <Int32>]
   [-UseSSL]
   [-ThrottleLimit <Int32>]
   [-State <SessionFilterState>]
   [-SessionOption <PSSessionOption>]
   [<CommonParameters>]
Get-PSSession
   [-ConnectionUri] <Uri[]>
   [-ConfigurationName <String>]
   [-AllowRedirection]
   -InstanceId <Guid[]>
   [-Credential <PSCredential>]
   [-Authentication <AuthenticationMechanism>]
   [-CertificateThumbprint <String>]
   [-ThrottleLimit <Int32>]
   [-State <SessionFilterState>]
   [-SessionOption <PSSessionOption>]
   [<CommonParameters>]
Get-PSSession
   [-ConnectionUri] <Uri[]>
   [-ConfigurationName <String>]
   [-AllowRedirection]
   [-Name <String[]>]
   [-Credential <PSCredential>]
   [-Authentication <AuthenticationMechanism>]
   [-CertificateThumbprint <String>]
   [-ThrottleLimit <Int32>]
   [-State <SessionFilterState>]
   [-SessionOption <PSSessionOption>]
   [<CommonParameters>]
Get-PSSession
   [-ConfigurationName <String>]
   [-Name <String[]>]
   [-State <SessionFilterState>]
   -ContainerId <String[]>
   [<CommonParameters>]
Get-PSSession
   [-ConfigurationName <String>]
   -InstanceId <Guid[]>
   [-State <SessionFilterState>]
   -ContainerId <String[]>
   [<CommonParameters>]
Get-PSSession
   [-ConfigurationName <String>]
   [-Name <String[]>]
   [-State <SessionFilterState>]
   -VMId <Guid[]>
   [<CommonParameters>]
Get-PSSession
   [-ConfigurationName <String>]
   -InstanceId <Guid[]>
   [-State <SessionFilterState>]
   -VMId <Guid[]>
   [<CommonParameters>]
Get-PSSession
   [-ConfigurationName <String>]
   [-Name <String[]>]
   [-State <SessionFilterState>]
   -VMName <String[]>
   [<CommonParameters>]
Get-PSSession
   [-ConfigurationName <String>]
   -InstanceId <Guid[]>
   [-State <SessionFilterState>]
   -VMName <String[]>
   [<CommonParameters>]
Get-PSSession
   [-InstanceId <Guid[]>]
   [<CommonParameters>]
Get-PSSession
   [-Id] <Int32[]>
   [<CommonParameters>]

説明

Get-PSSession コマンドレットは、ローカル コンピューターとリモート コンピューター上のユーザーが管理する PowerShell セッション (PSSessions) を取得します。

Windows PowerShell 3.0 以降では、セッションは各接続のリモート側のコンピューターに格納されます。 Get-PSSessionComputerName または ConnectionUri パラメーターを使用して、ローカル コンピューターまたはリモート コンピューターに接続するセッションを、現在のセッションで作成されていなくても取得できます。

パラメーターがない場合、 Get-PSSession は現在のセッションで作成されたすべてのセッションを取得します。

NameIDInstanceIDStateApplicationNameConfigurationName などを使用して、Get-PSSessionが返すセッションの中から選択します。

残りのパラメーターを使用して、ComputerName または ConnectionUri パラメーターを使用するときにGet-PSSession コマンドを実行する一時的な接続を構成します。

Note

Windows PowerShell 2.0 では、パラメーターを指定せずに、 Get-PSSession は現在のセッションで作成されたすべてのセッションを取得します。 ComputerName パラメーターは、現在のセッションで作成されたセッションを取得し、指定されたコンピューターに接続します。

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

例 1: 現在のセッションで作成されたセッションを取得する

Get-PSSession

このコマンドは、現在のセッションで作成されたすべての PSSessions を取得します。 このコンピューターに接続しても、他のセッションまたは他のコンピューターで作成された PSSessions は取得されません。

例 2: ローカル コンピューターに接続されているセッションを取得する

Get-PSSession -ComputerName "localhost"

このコマンドは、ローカル コンピューターに接続されている PSSessions を取得します。 ローカル コンピューターを示すには、コンピューター名、localhost、またはドット (.) を入力します。

このコマンドは、別のセッションまたは別のコンピューターで作成された場合でも、ローカル コンピューター上のセッションをすべて返します。

例 3: コンピューターに接続されているセッションを取得する

Get-PSSession -ComputerName "Server02"

Id Name            ComputerName    State         ConfigurationName     Availability
 -- ----            ------------    -----         -----------------     ------------
  2 Session3        Server02       Disconnected  ITTasks                       Busy
  1 ScheduledJobs   Server02       Opened        Microsoft.PowerShell     Available
  3 Test            Server02       Disconnected  Microsoft.PowerShell          Busy

このコマンドは、Server02 コンピューターに接続されている PSSessions を取得します。

このコマンドは、別のセッションまたは別のコンピューターで作成された場合でも、Server02 上のセッションをすべて返します。

出力には、2 つのセッションの Disconnected 状態と Busy 可用性が示されています。 これらのセッション別のセッションで作成されており、現在使用されています。 ScheduledJobs セッション (OpenedおよびAvailable) が現在のセッションに作成されました。

例 4: このコマンドの結果を保存する

New-PSSession -ComputerName Server01, Server02, Server03
$s1, $s2, $s3 = Get-PSSession

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

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

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

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

例 5: インスタンス ID を使用してセッションを削除する

Get-PSSession | Format-Table -Property ComputerName, InstanceID
$s = Get-PSSession -InstanceID a786be29-a6bb-40da-80fb-782c67f7db0f
Remove-PSSession -Session $s

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

最初のコマンドは、現在のセッションで作成されたすべての PSSessions を取得します。 PSSessionsFormat-Table コマンドレットに送信します。このコマンドレットには、各PSSessionComputerName プロパティと InstanceID プロパティが表示されます。

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

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

例 6: 特定の名前を持つセッションを取得する

この例のコマンドは、特定の名前形式に準拠し、特定のセッション構成を使用するセッションを探して接続します。 このようなコマンドを使用すれば、同僚が開始したタスクのセッションを探して接続し、そのタスクを完了することができます。

Get-PSSession -ComputerName Server02, Server12 -Name BackupJob* -ConfigurationName ITTasks -SessionOption @{OperationTimeout=240000}

Id Name            ComputerName    State         ConfigurationName     Availability
 -- ----            ------------    -----         -----------------     ------------
  3 BackupJob04     Server02        Disconnected        ITTasks                  None

$s = Get-PSSession -ComputerName Server02 -Name BackupJob04 -ConfigurationName ITTasks | Connect-PSSession
$s

Id Name            ComputerName    State         ConfigurationName     Availability
-- ----            ------------    -----         -----------------     ------------
 5 BackupJob04     Server02        Opened        ITTasks                  Available

最初のコマンドは、 BackupJob で始まる名前を持つ Server02 および Server12 リモート コンピューター上のセッションを取得し、 ITTasks セッション構成を使用します。このコマンドでは、 Name パラメーターを使用して名前パターンを指定し、 ConfigurationName パラメーターを使用してセッション構成を指定します。 SessionOption パラメーターの値は、OperationTimeout の値を 240000 ミリ秒 (4 分) に設定するハッシュ テーブルです。 この設定により、コマンドの完了時間が長くなります。 ConfigurationName パラメーターと SessionOption パラメーターを使用して、 Get-PSSession コマンドレットが各コンピューターで実行される一時的なセッションを構成します。出力は、コマンドが BackupJob04 セッションを返したことを示しています。 セッションが切断され、 AvailabilityNoneされます。これは、セッションが使用されていないことを示します。

2 番目のコマンドでは、 Get-PSSession コマンドレットを使用して BackupJob04 セッションにアクセスし、 Connect-PSSession コマンドレットを使用してセッションに接続します。 このコマンドでは、セッションが $s 変数に保存されます。

3 番目のコマンドは、 $s 変数内のセッションを取得します。 出力は、 Connect-PSSession コマンドが成功したことを示しています。 セッションは Opened 状態であり、使用できます。

例 7: その ID を使用してセッションを取得する

Get-PSSession -Id 2

このコマンドは、ID 2を持つPSSessionを取得します。 ID プロパティの値は現在のセッションでのみ一意であるため、Id パラメーターはローカル コマンドでのみ有効です。

パラメーター

-AllowRedirection

このコマンドレットによって、代替の Uniform Resource Identifier (URI) へのこの接続のリダイレクトが許可されることを示します。 既定では、PowerShell は接続をリダイレクトしません。

このパラメーターは、ConnectionUri パラメーターを使用してGet-PSSession コマンドを実行するために作成される一時接続を構成します。

このパラメーターは Windows PowerShell 3.0 で導入されました。

型:SwitchParameter
配置:Named
規定値:False
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-ApplicationName

アプリケーションの名前を指定します。 このコマンドレットは、指定されたアプリケーションを使用するセッションにのみ接続します。

接続 URI のアプリケーション名セグメントを入力します。 たとえば、次の接続 URI では、アプリケーション名は WSMan: http://localhost:5985/WSMANです。 セッションのアプリケーション名は、セッションの Runspace.ConnectionInfo.AppName プロパティに格納されます。

このパラメーター値は、セッションを選択してフィルター処理するために使用されます。 セッションが使用するアプリケーションが変更されることはありません。

型:String
配置:Named
規定値:All sessions
必須:False
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-Authentication

Get-PSSession コマンドが実行されるセッションの資格情報を認証するために使用されるメカニズムを指定します。

このパラメーターは、ComputerName または ConnectionUri パラメーターを使用してGet-PSSession コマンドを実行するために作成される一時接続を構成します。

このパラメーターの有効値は、次のとおりです。

  • Default
  • Basic
  • CredSSP
  • Digest
  • Kerberos
  • Negotiate
  • NegotiateWithImplicitCredential.

既定値は Default です。

このパラメーターの値の詳細については、「 AuthenticationMechanism 列挙型を参照してください。

注意事項

ユーザーの資格情報が認証されるリモート コンピューターに渡される資格情報セキュリティ サポート プロバイダー (CredSSP) 認証は、リモート ネットワーク共有へのアクセスなど、複数のリソースで認証を必要とするコマンド用に設計されています。 このメカニズムを使用すると、リモート操作のセキュリティ リスクが高まります。 リモート コンピューターのセキュリティが低下している場合は、そのリモート コンピューターに渡される資格情報を使用してネットワーク セッションが制御される場合があります。

このパラメーターは Windows PowerShell 3.0 で導入されました。

型:AuthenticationMechanism
指定可能な値:Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos
配置:Named
規定値:Default
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-CertificateThumbprint

Get-PSSession コマンドを実行するセッションを作成するアクセス許可を持つユーザー アカウントのデジタル公開キー証明書 (X509) を指定します。 証明書の拇印を入力します。

このパラメーターは、ComputerName または ConnectionUri パラメーターを使用してGet-PSSession コマンドを実行するために作成される一時接続を構成します。

証明書は、クライアント証明書ベースの認証で使用されます。 これらの証明書は、ローカル ユーザー アカウントにしかマップできません。ドメイン アカウントでは機能しません。

証明書の拇印を取得するには、PowerShell Cert: ドライブで Get-Item または Get-ChildItem コマンドを使用します。

このパラメーターは Windows PowerShell 3.0 で導入されました。

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-ComputerName

コンピューターの名前の配列を指定します。 指定されたコンピューターに接続しているセッションを取得します。 ワイルドカード文字は使用できません。 既定値はありません。

Windows PowerShell 3.0 以降では、 PSSession オブジェクトは、各接続のリモート 側のコンピューターに格納されます。 指定したコンピューターでセッションを取得するために、PowerShell は各コンピューターへの一時的な接続を作成し、 Get-PSSession コマンドを実行します。

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

Note

このパラメーターは、Windows PowerShell 3.0 以降のバージョンの PowerShell を実行しているコンピューターからのみセッションを取得します。 それ以前のバージョンではセッションが保存されません。

型:String[]
Aliases:Cn
配置:0
規定値:None
必須:True
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-ConfigurationName

構成の名前を指定します。 このコマンドレットは、指定されたセッション構成を使用するセッションにのみ取得されます。

セッション構成の構成名または完全修飾リソース URI を入力します。 構成名のみを指定すると、次のスキーマ URI が先頭に付加されます: http://schemas.microsoft.com/powershell。 セッションの構成名は、セッションの ConfigurationName プロパティに格納されます。

このパラメーター値は、セッションを選択してフィルター処理するために使用されます。 セッションが使用するセッション構成が変更されることはありません。

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

型:String
配置:Named
規定値:All sessions
必須:False
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-ConnectionUri

Get-PSSession コマンドが実行される一時セッションの接続エンドポイントを定義する URI を指定します。 URI は完全修飾名にする必要があります。

このパラメーターは、ConnectionUri パラメーターを使用してGet-PSSession コマンドを実行するために作成される一時接続を構成します。

この文字列の形式は次のとおりです。

<Transport>://<ComputerName>:<Port\>/<ApplicationName>

既定値は http://localhost:5985/WSMAN です。

ConnectionUri を指定しない場合は、UseSSLComputerNamePort、および ApplicationName パラメーターを使用して、ConnectionURI 値を指定できます。 URI のトランスポート セグメントの有効な値は、HTTP および HTTPS です。 トランスポート セグメントで接続 URI を指定したが、ポートを指定しない場合、セッションは標準ポート (HTTP の場合は 80 、HTTPS の場合は 443 ) で作成されます。 PowerShell リモート処理に既定のポートを使用するには、HTTP のポート 5985 または HTTPS の 5986 を指定します。

宛先コンピューターが接続を別の URI にリダイレクトする場合、コマンドで AllowRedirection パラメーターを使用しない限り、PowerShell はリダイレクトを禁止します。

このパラメーターは Windows PowerShell 3.0 で導入されました。

このパラメーターは、Windows PowerShell 3.0 以降のバージョンの Windows PowerShell を実行しているコンピューターからのみセッションを取得します。 それ以前のバージョンではセッションが保存されません。

型:Uri[]
Aliases:URI, CU
配置:0
規定値:Http://localhost:5985/WSMAN
必須:True
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-ContainerId

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

型:String[]
配置:Named
規定値:None
必須:True
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-Credential

ユーザー資格情報を指定します。 このコマンドレットは、指定したユーザーのアクセス許可を持つコマンドを実行します。 リモート コンピューターに接続し、 Get-PSSession コマンドを実行するアクセス許可を持つユーザー アカウントを指定します。 既定値は現在のユーザーです。

User01Domain01\User01などのユーザー名を入力するか、Get-Credential コマンドレットによって生成されたPSCredential オブジェクトを入力します。 ユーザー名を入力すると、パスワードの入力を求められます。

資格情報は PSCredential オブジェクトに格納され、パスワードは SecureString として格納されます。

Note

SecureString データ保護の詳細については、「 SecureString のセキュリティ保護方法」を 参照してください。

このパラメーターは、ComputerName または ConnectionUri パラメーターを使用してGet-PSSession コマンドを実行するように作成された一時接続に構成します。

このパラメーターは Windows PowerShell 3.0 で導入されました。

型:PSCredential
配置:Named
規定値:Current user
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Id

セッション ID の配列を指定します。 このコマンドレットは、指定された ID を持つセッションのみを取得します。 1 つ以上の ID をコンマで区切って入力するか、範囲演算子 (..) を使用して ID の範囲を指定します。 id パラメーターを ComputerName パラメーターと共に使用することはできません。

ID は、現在のセッションのユーザー管理セッションを一意に識別する整数です。 InstanceIdよりも覚えやすく、入力する方が簡単ですが、現在のセッション内でのみ一意です。 セッションの ID は、セッションの ID プロパティに格納されます。

型:Int32[]
配置:0
規定値:All sessions
必須:True
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-InstanceId

セッションのインスタンス ID の配列を指定します。 このコマンドレットは、指定されたインスタンス ID を持つセッションのみを取得します。

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

セッションのインスタンス ID は、セッションの InstanceID プロパティに格納されます。

型:Guid[]
配置:Named
規定値:All sessions
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Name

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

セッションのフレンドリ名は、セッションの Name プロパティに格納されます。

型:String[]
配置:Named
規定値:All sessions
必須:False
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:True

-Port

Get-PSSession コマンドを実行する一時的な接続に使用される、指定したネットワーク ポートを指定します。 リモート コンピューターに接続するには、リモート コンピューターで、接続に使用されるポートをリッスンすることが必要です。 既定のポートは 5985(HTTP の WinRM ポート)、 5986 (HTTPS の WinRM ポート) です。

代替ポートを使用する前に、そのポートでリッスンするようにリモート コンピューター上の WinRM リスナーを構成する必要があります。 リスナーを構成するには、PowerShell プロンプトで次の 2 つのコマンドを入力します。

Remove-Item -Path WSMan:\Localhost\listener\listener* -Recurse

New-Item -Path WSMan:\Localhost\listener -Transport http -Address * -Port \<port-number\>

このパラメーターは、ComputerName または ConnectionUri パラメーターを使用してGet-PSSession コマンドを実行するように作成された一時接続に構成します。

必要な場合を除き、 Port パラメーターは使用しないでください。 コマンドで設定された Port は、コマンドを実行するすべてのコンピューターまたはセッションに適用されます。 代替ポートの設定によっては、コマンドがすべてのコンピューターで実行されない場合があります。

このパラメーターは Windows PowerShell 3.0 で導入されました。

型:Int32
配置:Named
規定値:5985, 5986
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-SessionOption

セッションの詳細オプションを指定します。 SessionOptionオブジェクト (New-PSSessionOption コマンドレットを使用して作成するオブジェクトなど) を入力するか、キーがセッション オプション名で値がセッション オプション値であるハッシュ テーブルを入力します。

オプションの既定値は、 $PSSessionOption 設定変数の値 (設定されている場合) によって決まります。 それ以外の場合、既定値はセッション構成で設定されたオプションによって決まります。

セッション オプションの値は、 $PSSessionOption 基本設定変数およびセッション構成で設定されたセッションの既定値よりも優先されます。 ただし、セッション構成で設定された最大値、クォータ、または制限よりも優先されることはありません。

デフォルト値を含むセッション・オプションの説明については、 New-PSSessionOptionを参照してください。 $PSSessionOption基本設定変数の詳細については、about_Preference_Variablesを参照してください。 セッション構成の詳細については、「 about_Session_Configurations」を参照してください。

型:PSSessionOption
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-State

セッションの状態を指定します。 このコマンドレットは、指定された状態のセッションのみを取得します。 このパラメーターに使用できる値は、 AllOpenedDisconnectedClosed、および Brokenです。 既定値は All です。

セッション状態の値は、現在のセッションを基準にしています。 現在のセッションで作成されておらず、現在のセッションに接続されていないセッションは、別のセッションに接続されている場合でも Disconnected 状態になります。

セッションの状態は、セッションの State プロパティに格納されます。

このパラメーターは Windows PowerShell 3.0 で導入されました。

型:SessionFilterState
指定可能な値:All, Opened, Disconnected, Closed, Broken
配置:Named
規定値:All
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-ThrottleLimit

Get-PSSession コマンドを実行するために確立できる同時接続の最大数を指定します。 このパラメーターを省略するか、 0 (ゼロ) の値を入力すると、既定値の 32 が使用されます。 スロットル制限は現在のコマンドのみに適用され、セッションまたはコンピューターには適用されません。

このパラメーターは Windows PowerShell 3.0 で導入されました。

型:Int32
配置:Named
規定値:32
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-UseSSL

このコマンドレットが Secure Sockets Layer (SSL) プロトコルを使用して、 Get-PSSession コマンドを実行する接続を確立することを示します。 既定では、SSL は使用されません。 コマンドに使用するポートで SSL が使用できない場合に、このパラメーターを指定すると、コマンドは失敗します。

このパラメーターは、ComputerName パラメーターを使用してGet-PSSession コマンドを実行するために作成される一時接続を構成します。

このパラメーターは Windows PowerShell 3.0 で導入されました。

型:SwitchParameter
配置:Named
規定値:False
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-VMId

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

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

型:Guid[]
Aliases:VMGuid
配置:Named
規定値:None
必須:True
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-VMName

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

型:String[]
配置:Named
規定値:None
必須:True
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

入力

None

このコマンドレットにオブジェクトをパイプすることはできません。

出力

PSSession

メモ

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

  • gsn

  • このコマンドレットは、New-PSSessionEnter-PSSessionInvoke-Command コマンドレットを使用して作成されたユーザー管理セッションPSSession オブジェクトなど) を取得します。 PowerShell の起動時に作成されるシステム管理セッションは取得されません。

  • Windows PowerShell 3.0 以降では、 PSSession オブジェクトは、サーバー側または接続の受信側にあるコンピューターに格納されます。 ローカル コンピューターまたはリモート コンピューターに格納されているセッションを取得するために、PowerShell は指定されたコンピューターへの一時的なセッションを確立し、セッションでクエリ コマンドを実行します。

  • リモート コンピューターに接続するセッションを取得するには、 ComputerName または ConnectionUri パラメーターを使用してリモート コンピューターを指定します。 Get-PSSessionが取得するセッションをフィルター処理するには、NameIDInstanceID、および State パラメーターを使用します。 残りのパラメーターを使用して、 Get-PSSession 使用する一時セッションを構成します。

  • ComputerName または ConnectionUri パラメーターを使用すると、Get-PSSessionは Windows PowerShell 3.0 以降のバージョンの PowerShell を実行しているコンピューターからのセッションのみを取得します。

  • PSSessionState プロパティの値は、現在のセッションを基準にしています。 したがって、 Disconnected の値は、 PSSession が現在のセッションに接続されていないことを意味します。 ただし、 PSSession がすべてのセッションから切断されているわけではありません。 別のセッションに接続されている可能性があるためです。 現在のセッションから PSSession に接続または再接続できるかどうかを判断するには、 Availability プロパティを使用します。

Availability None の値は、セッションに接続できることを示します。 Busy の値は、別のセッションに接続されているためPSSession に接続できないことを示します。

セッションの State プロパティの値の詳細については、「 RunspaceState 列挙型を参照してください。

セッションの Availability プロパティの値の詳細については、「 RunspaceAvailability 列挙型を参照してください。