Enter-PSSession
リモート コンピューターとの対話型セッションを開始します。
構文
Enter-PSSession
[-ComputerName] <String>
[-EnableNetworkAccess]
[[-Credential] <PSCredential>]
[-ConfigurationName <String>]
[-Port <Int32>]
[-UseSSL]
[-ApplicationName <String>]
[-SessionOption <PSSessionOption>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[<CommonParameters>]
Enter-PSSession
[-HostName] <String>
[-Options <Hashtable>]
[-Port <Int32>]
[-UserName <String>]
[-KeyFilePath <String>]
[-Subsystem <String>]
[-ConnectingTimeout <Int32>]
[-SSHTransport]
[<CommonParameters>]
Enter-PSSession
[[-Session] <PSSession>]
[<CommonParameters>]
Enter-PSSession
[[-ConnectionUri] <Uri>]
[-EnableNetworkAccess]
[[-Credential] <PSCredential>]
[-ConfigurationName <String>]
[-AllowRedirection]
[-SessionOption <PSSessionOption>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[<CommonParameters>]
Enter-PSSession
[-InstanceId <Guid>]
[<CommonParameters>]
Enter-PSSession
[[-Id] <Int32>]
[<CommonParameters>]
Enter-PSSession
[-Name <String>]
[<CommonParameters>]
Enter-PSSession
[-VMId] <Guid>
[-Credential] <PSCredential>
[-ConfigurationName <String>]
[<CommonParameters>]
Enter-PSSession
[-VMName] <String>
[-Credential] <PSCredential>
[-ConfigurationName <String>]
[<CommonParameters>]
Enter-PSSession
[-ContainerId] <String>
[-ConfigurationName <String>]
[-RunAsAdministrator]
[<CommonParameters>]
説明
コマンドレットは Enter-PSSession
、1 台のリモート コンピューターとの対話型セッションを開始します。
セッション中に、入力したコマンドは、リモート コンピューターで直接入力した場合と同様に、リモート コンピューターで実行されます。 一度に 1 つのみの対話型セッションを確立できます。
通常、ComputerName パラメーターを使用して、リモート コンピューターの名前を指定します。
ただし、対話型セッションの コマンドレットを使用して作成した New-PSSession
セッションを使用することもできます。 ただし、、、または Receive-PSSession
コマンドレットをDisconnect-PSSession
Connect-PSSession
使用して、対話型セッションから切断したり、対話型セッションに再接続したりすることはできません。
PowerShell 6.0 以降では、ローカル コンピューターで SSH を使用でき、リモート コンピューターが PowerShell SSH エンドポイントで構成されている場合は、Secure Shell (SSH) を使用してリモート コンピューターへの接続を確立できます。 SSH ベースの PowerShell リモート セッションの利点は、複数のプラットフォーム (Windows、Linux、macOS) で動作することです。 SSH ベースのリモート処理の場合は、 HostName パラメーター セットを使用して、リモート コンピューターと関連する接続情報を指定します。 PowerShell SSH リモート処理を設定する方法の詳細については、「 SSH 経由の PowerShell リモート処理」を参照してください。
対話型セッションを終了し、リモート コンピューターから切断するには、 コマンドレットを Exit-PSSession
使用するか、「」と入力します exit
。
例
例 1: 対話型セッションを開始する
PS> Enter-PSSession
[localhost]: PS>
このコマンドは、ローカル コンピューターで対話型セッションを開始します。 コマンド プロンプトが変更され、現在、別のセッションでコマンドを実行していることを示します。
入力したコマンドは新しいセッションで実行され、結果がテキストとして既定のセッションに返されます。
例 2: 対話型セッションを操作する
最初のコマンドでは、 コマンドレットを Enter-PSSession
使用して、リモート コンピューターである Server01 との対話型セッションを開始します。 セッションを開始すると、コマンド プロンプトが変更され、コンピューター名が含まれます。
2 番目のコマンドは、PowerShell プロセスを取得し、出力をファイルに Process.txt
リダイレクトします。
コマンドは、リモート コンピューターに送信され、ファイルはリモート コンピューター上に保存されます。
3 番目のコマンドでは、Exit キーワード (keyword)を使用して対話型セッションを終了し、接続を閉じます。
4 番目のコマンドは、Process.txt ファイルがリモート コンピューター上にあることを確認します。 ローカル コンピューター上の Get-ChildItem
("dir") コマンドでファイルが見つかりません。
PS C:\> Enter-PSSession -ComputerName Server01
[Server01]: PS C:\>
[Server01]: PS C:\> Get-Process PowerShell > C:\ps-test\Process.txt
[Server01]: PS C:\> exit
PS C:\>
PS C:\> dir C:\ps-test\Process.txt
Get-ChildItem : Cannot find path 'C:\ps-test\Process.txt' because it does not exist.
At line:1 char:4
+ dir <<<< c:\ps-test\Process.txt
このコマンドは、リモート コンピューターとの対話型セッションで作業する方法を示します。
例 3: Session パラメーターを使用する
PS> $s = New-PSSession -ComputerName Server01
PS> Enter-PSSession -Session $s
[Server01]: PS>
これらのコマンドでは、 の Session パラメーター Enter-PSSession
を使用して、既存の PowerShell セッション (PSSession) で対話型セッションを実行します。
例 4: 対話型セッションを開始し、ポートと資格情報のパラメーターを指定する
PS> Enter-PSSession -ComputerName Server01 -Port 90 -Credential Domain01\User01
[Server01]: PS>
このコマンドは、Server01 コンピューターとの対話型セッションを開始します。 Port パラメーターを使用して ポート を指定し、 Credential パラメーターを使用して、リモート コンピューターに接続するアクセス許可を持つユーザーのアカウントを指定します。
例 5: 対話型セッションを停止する
PS> Enter-PSSession -ComputerName Server01
[Server01]: PS> Exit-PSSession
PS>
この例は、対話型セッションを開始および停止する方法を示しています。 最初のコマンドでは、 コマンドレットを Enter-PSSession
使用して、Server01 コンピューターとの対話型セッションを開始します。
2 番目のコマンドでは、 コマンドレットを Exit-PSSession
使用してセッションを終了します。 Exit キーワード (keyword)を使用して対話型セッションを終了することもできます。 Exit-PSSession
と Exit は同じ効果を持ちます。
例 6: SSH を使用して対話型セッションを開始する
PS> Enter-PSSession -HostName UserA@LinuxServer01
この例では、Secure Shell (SSH) を使用して対話型セッションを開始する方法を示します。 リモート コンピューターでパスワードを使用するように SSH が構成されている場合は、パスワードの入力を求められます。 それ以外の場合は、キーベースのユーザー認証を使用する必要があります。
例 7: ポートとユーザー認証キーを使用して SSH を使用して対話型セッションを開始する
PS> Enter-PSSession -HostName UserA@LinuxServer02:22 -KeyFilePath c:\sshkeys\userAKey_rsa
この例では、SSH を使用して対話型セッションを開始する方法を示します。 ユーザー名と SSH ポート番号は、 HostName パラメーターの値の一部として指定されます。 KeyFilePath パラメーターは、リモート コンピューターでユーザーを認証するために使用される RSA キーの場所を指定します。
例 8: SSH オプションを使用して対話型セッションを開始する
$options = @{
Port=22
User = 'UserA'
Host = 'LinuxServer02'
}
Enter-PSSession -KeyFilePath c:\sshkeys\userAKey_rsa -Options $options
この例では、SSH を使用して対話型セッションを開始する方法を示します。 Options パラメーターは、リモート システムへの接続を確立した基になるssh
コマンドにオプションとして渡される値のハッシュテーブルを受け取ります。
パラメーター
-AllowRedirection
この接続を代替 Uniform Resource Identifier (URI) にリダイレクトできます。 既定では、リダイレクトは許可されません。
ConnectionURI パラメーターを使用すると、リモートの送信先は別の URI にリダイレクトするように指示を返すことができます。 既定では、PowerShell は接続をリダイレクトしませんが、このパラメーターを使用して接続のリダイレクトを許可できます。
また、MaximumConnectionRedirectionCount セッション オプション値を変更することで、接続をリダイレクトする回数を制限することもできます。 コマンドレットの MaximumRedirection パラメーターを New-PSSessionOption
使用するか、ユーザー設定変数の MaximumConnectionRedirectionCount プロパティを $PSSessionOption
設定します。 既定値は 5 です。
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ApplicationName
接続 URI のアプリケーション名セグメントを指定します。 このパラメーターは、このコマンドの ConnectionURI パラメーターを使用しないときに、アプリケーション名を指定するために使用します。
既定値は、ローカル コンピューターの $PSSessionApplicationName
基本設定変数の値です。 このユーザー設定変数が定義されていない場合、既定値は WSMAN です。 この値はほとんどの用途に適しています。 詳細については、「 about_Preference_Variables」を参照してください。
WinRM サービスでは、アプリケーション名を使用して、接続要求をサービスするリスナーを選択します。 このパラメーターの値は、リモート コンピューター上のリスナーの URLPrefix プロパティの値に一致している必要があります。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Authentication
ユーザーの資格情報の認証に使用するメカニズムを指定します。 このパラメーターの有効値は、次のとおりです。
- Default
- Basic
- Credssp
- ダイジェスト
- Kerberos
- ネゴシエート
- NegotiateWithImplicitCredential
既定値は Default です。
CredSSP 認証は、Windows Vista、Windows Server 2008、およびそれ以降のバージョンの Windows オペレーティング システムでのみ使用できます。
このパラメーターの値の詳細については、「 AuthenticationMechanism Enum」を参照してください。
注意事項
ユーザーの資格情報が認証対象のリモート コンピューターに渡される Credential Security Support Provider (CredSSP) 認証は、リモート ネットワーク共有にアクセスする場合など、複数のリソースの認証を必要とするコマンドを対象としています。 このメカニズムを使用すると、リモート操作のセキュリティ リスクが高まります。 リモート コンピューターのセキュリティが低下している場合は、そのリモート コンピューターに渡される資格情報を使用してネットワーク セッションが制御される場合があります。
Type: | AuthenticationMechanism |
Accepted values: | Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CertificateThumbprint
この処理を実行するアクセス許可を持つユーザー アカウントのデジタル公開キー証明書 (X509) を指定します。 証明書の拇印を入力します。
証明書は、クライアント証明書ベースの認証で使用されます。 これらの証明書は、ローカル ユーザー アカウントにしかマップできません。ドメイン アカウントでは機能しません。
証明書を取得するには、PowerShell 証明書: ドライブで または Get-ChildItem
コマンドを使用Get-Item
します。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ComputerName
コンピューター名を指定します。 このコマンドレットは、指定されたリモート コンピューターとの対話型セッションを開始します。 コンピューター名を1 つだけ入力します。 既定値はローカル コンピューターです。
コンピューターの NetBIOS 名、IP アドレス、または完全修飾ドメイン名を入力します。 コンピューター名を に Enter-PSSession
パイプすることもできます。
ComputerName パラメーターの値に IP アドレスを使用するには、コマンドに Credential パラメーターを含める必要があります。 また、HTTPS トランスポート用にコンピューターを構成するか、リモート コンピューターの IP アドレスをローカル コンピューター上の WinRM TrustedHosts 一覧に含める必要があります。 TrustedHosts リストにコンピューター名を追加する手順については、 about_Remote_Troubleshootingの「How to Add a Computer to the Trusted Host List」を参照してください。
注意
Windows オペレーティング システムで、 ComputerName パラメーターの値にローカル コンピューターを含めるには、[管理者として実行] オプションを使用して PowerShell を起動する必要があります。
Type: | String |
Aliases: | Cn |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ConfigurationName
対話型セッションに使用するセッション構成を指定します。
セッション構成の構成名または完全修飾リソース URI を入力します。 構成名のみを指定した場合は、次のスキーマ URI が先頭に付加されます。 http://schemas.microsoft.com/powershell
SSH で使用する場合、これは、sshd_configで定義されているターゲットで使用するサブシステムを指定します。 SSH の既定値はサブシステムです powershell
。
セッションのセッション構成は、リモート コンピューター上にあります。 指定したセッション構成がリモート コンピューター上に存在しない場合、コマンドは失敗します。
既定値は、ローカル コンピューターの $PSSessionConfigurationName
基本設定変数の値です。 このユーザー設定変数が設定されていない場合、既定値は Microsoft.PowerShell です。 詳細については、「 about_Preference_Variables」を参照してください。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ConnectingTimeout
最初の SSH 接続が完了するまでの時間をミリ秒単位で指定します。 指定した時間内に接続が完了しない場合は、エラーが返されます。
このパラメーターは PowerShell 7.2 で導入されました
Type: | Int32 |
Position: | Named |
Default value: | unlimited |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ConnectionUri
セッションの接続エンドポイントを定義する URI を指定します。 URI は完全修飾名にする必要があります。 この文字列の形式は次のとおりです。
<Transport>://<ComputerName>:<Port>/<ApplicationName>
既定値は、次のとおりです。
http://localhost:5985/WSMAN
ConnectionURI を指定しなかった場合は、UseSSL、ComputerName、Port、および ApplicationName パラメーターを使用して、ConnectionURI 値を指定できます。
URI のトランスポート セグメントの有効な値は、HTTP および HTTPS です。 トランスポート セグメントを使用して接続 URI を指定したが、ポートを指定しない場合、セッションは標準ポート (HTTP の場合は 80、HTTPS の場合は 443) を使用して作成されます。 PowerShell リモート処理に既定のポートを使用するには、HTTP の場合はポート 5985、HTTPS の場合は 5986 を指定します。
宛先コンピューターが接続を別の URI にリダイレクトする場合、コマンドで AllowRedirection パラメーターを使用しない限り、PowerShell はリダイレクトを防止します。
Type: | Uri |
Aliases: | URI, CU |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ContainerId
コンテナーの ID を指定します。
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Credential
この処理を実行するアクセス許可を持つユーザー アカウントを指定します。 既定値は現在のユーザーです。
User01 や Domain01\User01 などのユーザー名を入力するか、コマンドレットによって生成された PSCredential オブジェクトをGet-Credential
入力します。 ユーザー名を入力すると、パスワードの入力を求められます。
資格情報は PSCredential オブジェクトに格納され、パスワードは SecureString として格納されます。
注意
SecureString データ保護の詳細については、SecureString のセキュリティ保護に関するページを参照してください。
Type: | PSCredential |
Position: | 1 |
Default value: | Current user |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-EnableNetworkAccess
このコマンドレットがループバック セッションに対話型セキュリティ トークンを追加することを示します。 対話型トークンを使用すると、他のコンピューターからデータを取得するコマンドをループバック セッションで実行できます。 たとえば、リモート コンピューターからローカル コンピューターに XML ファイルをコピーするコマンドをセッションで実行できます。
ループバック セッションは、同じコンピューターで開始および終了する PSSession です。 ループバック セッションを作成するには、 ComputerName パラメーターを省略するか、その値を に設定します。 (dot)、localhost、またはローカル コンピューターの名前。
既定では、ループバック セッションはネットワーク トークンを使用して作成されます。これにより、リモート コンピューターに対して認証するための十分なアクセス許可が提供されない可能性があります。
EnableNetworkAccess パラメーターは、ループバック セッションでのみ有効です。 リモート コンピューターでセッションを作成するときに EnableNetworkAccess を 使用すると、コマンドは成功しますが、 パラメーターは無視されます。
Authentication パラメーターの CredSSP 値を使用して、ループバック セッションでリモート アクセスを許可することもできます。その場合、セッションの資格情報が他のコンピューターに委任されます。
このパラメーターは Windows PowerShell 3.0 で導入されました。
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-HostName
Secure Shell (SSH) ベースの接続のコンピューター名を指定します。 これは ComputerName パラメーターに似ていますが、リモート コンピューターへの接続は Windows WinRM ではなく SSH を使用して行われます。 このパラメーターでは、 という形式 user@hostname:port
を使用して、ホスト名パラメーター値の一部としてユーザー名またはポートを指定できます。 ホスト名の一部として指定されたユーザー名またはポートは、 パラメーターと -Port
パラメーター (指定されている場合) よりも-UserName
優先されます。 これにより、このパラメーターに複数のコンピューター名を渡すことができます。一部のコンピューター名には特定のユーザー名やポートがあり、他のコンピューター名やポートは および -Port
パラメーターから-UserName
使用されます。
このパラメーターは PowerShell 6.0 で導入されました。
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Id
既存のセッションの ID を指定します。 Enter-PSSession
は、対話型セッションに指定されたセッションを使用します。
セッションの ID を見つけるには、 コマンドレットを使用します Get-PSSession
。
Type: | Int32 |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-InstanceId
既存のセッションのインスタンス ID を指定します。 Enter-PSSession
は、対話型セッションに指定されたセッションを使用します。
インスタンス ID は GUID です。 セッションのインスタンス ID を見つけるには、 コマンドレットを使用します Get-PSSession
。 セッション、名前、または ID パラメーターを使用して、既存のセッションを指定することもできます。 または、 ComputerName パラメーターを使用して一時的なセッションを開始できます。
Type: | Guid |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-KeyFilePath
リモート コンピューターでユーザーを認証するために Secure Shell (SSH) によって使用されるキー ファイル パスを指定します。
SSH を使用すると、基本パスワード認証の代わりに、秘密キーまたは公開キーを使用してユーザー認証を実行できます。 リモート コンピューターがキー認証用に構成されている場合は、このパラメーターを使用して、ユーザーを識別するキーを指定できます。
このパラメーターは、PowerShell 6.0 で導入されました。
Type: | String |
Aliases: | IdentityFilePath |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Name
既存のセッションのフレンドリ名を指定します。 Enter-PSSession
は、対話型セッションに指定されたセッションを使用します。
指定した名前が複数のセッションと一致する場合、コマンドは失敗します。 Session、InstanceID、または ID パラメーターを使用して、既存のセッションを指定することもできます。 または、 ComputerName パラメーターを使用して一時的なセッションを開始することもできます。
セッションのフレンドリ名を確立するには、 コマンドレットの Name パラメーターを New-PSSession
使用します。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Options
リモート SSH ベースのセッションに接続するときに使用される SSH オプションのハッシュテーブルを指定します。 使用できるオプションは、Unix ベースの バージョンの ssh コマンドでサポートされている任意の値です。
パラメーターによって明示的に渡された値は 、Options ハッシュテーブルで渡された値よりも優先されます。 たとえば、Port パラメーターを使用すると、Options ハッシュテーブルで渡されたキーと値のペアがオーバーライドPort
されます。
Type: | Hashtable |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Port
このコマンドに使用されるリモート コンピューター上のネットワーク ポートを指定します。
PowerShell 6.0 では、このパラメーターは、Secure Shell (SSH) 接続をサポートする HostName パラメーター セットに含まれていました。
WinRM (ComputerName パラメーター セット)
リモート コンピューターに接続するには、リモート コンピューターで、接続に使用されるポートをリッスンすることが必要です。 既定のポートは、HTTP の WinRM ポートである 5985 と、HTTPS の WinRM ポートである 5986 です。
代替ポートを使用する前に、そのポートでリッスンするようにリモート コンピューター上の WinRM リスナーを構成する必要があります。 リスナーを構成するには、次のコマンドを使用します。
winrm delete winrm/config/listener?Address=*+Transport=HTTP
winrm create winrm/config/listener?Address=*+Transport=HTTP @{Port="\<port-number\>"}
必要な場合を除き、Port パラメーターを使用しないでください。 コマンドのポート設定は、コマンドが実行されるすべてのコンピューターまたはセッションに適用されます。 代替ポートの設定によっては、コマンドがすべてのコンピューターで実行されない場合があります。
SSH (HostName パラメーター セット)
リモート コンピューターに接続するには、リモート コンピューターを SSH サービス (SSHD) で構成し、接続で使用されるポートでリッスンしている必要があります。 SSH の既定のポートは 22 です。
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RunAsAdministrator
PSSession が管理者として実行されることを示します。
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Session
対話型セッションに使用する PowerShell セッション (PSSession) を指定します。 このパラメーターは、セッション オブジェクトを受け取ります。 Name、InstanceID、または ID パラメーターを使用して PSSession を指定することもできます。
セッション オブジェクトを含む変数、または セッション オブジェクトを作成または取得するコマンド (または Get-PSSession
コマンドなど) をNew-PSSession
入力します。 セッション オブジェクトを に Enter-PSSession
パイプすることもできます。 このパラメーターを使用して送信できる PSSession は 1 つだけです。 複数の PSSession を含む変数を入力すると、コマンドは失敗します。
または EXIT キーワード (keyword)を使用Exit-PSSession
すると、対話型セッションは終了しますが、作成した PSSession は開いたままで使用できます。
Type: | PSSession |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-SessionOption
セッションの詳細オプションを設定します。 コマンドレットを使用New-PSSessionOption
して作成した SessionOption オブジェクトや、キーがセッション オプション名で値がセッション オプション値であるハッシュ テーブルを入力します。
オプションの既定値は、設定されている場合は、基本設定変数の $PSSessionOption
値によって決まります。 それ以外の場合、既定値はセッション構成で設定されたオプションによって決まります。
セッション オプションの値は、基本設定変数とセッション構成で設定された $PSSessionOption
セッションの既定値よりも優先されます。 ただし、セッション構成で設定された最大値、クォータ、または制限よりも優先されることはありません。
既定値を含むセッション オプションの説明については、「」を参照してください New-PSSessionOption
。
基本設定変数の $PSSessionOption
詳細については、「 about_Preference_Variables」を参照してください。 セッション構成の詳細については、「 about_Session_Configurations」を参照してください。
Type: | PSSessionOption |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SSHTransport
Secure Shell (SSH) を使用してリモート接続が確立されていることを示します。
既定では、PowerShell は Windows WinRM を使用してリモート コンピューターに接続します。 このスイッチは、SSH ベースのリモート接続を確立するために HostName パラメーター セットを使用するように PowerShell に強制します。
このパラメーターは、PowerShell 6.0 で導入されました。
Type: | SwitchParameter |
Accepted values: | true |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Subsystem
新しい PSSession に使用される SSH サブシステムを指定します。
これは、sshd_configで定義されているターゲットで使用するサブシステムを指定します。 サブシステムは、定義済みのパラメーターを使用して PowerShell の特定のバージョンを開始します。 指定したサブシステムがリモート コンピューターに存在しない場合、コマンドは失敗します。
このパラメーターを使用しない場合、既定値は "powershell" サブシステムです。
Type: | String |
Position: | Named |
Default value: | Powershell |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-UserName
リモート コンピューターでセッションを作成するために使用するアカウントのユーザー名を指定します。 ユーザー認証方法は、リモート コンピューターでの Secure Shell (SSH) の構成方法によって異なります。
SSH が基本パスワード認証用に構成されている場合は、ユーザー パスワードの入力を求められます。
SSH がキー ベースのユーザー認証用に構成されている場合は、 KeyFilePath パラメーターを使用してキー ファイル パスを指定でき、パスワード プロンプトは表示されません。 クライアント ユーザー キー ファイルが SSH の既知の場所にある場合は、キー ベースの認証に KeyFilePath パラメーターは必要なく、ユーザー名に基づいてユーザー認証が自動的に行われることに注意してください。 詳細については、キー ベースのユーザー認証に関する SSH ドキュメントを参照してください。
これは必須のパラメーターではありません。 UserName パラメーターが指定されていない場合は、接続に現在のログオン ユーザー名が使用されます。
このパラメーターは、PowerShell 6.0 で導入されました。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UseSSL
このコマンドレットが Secure Sockets Layer (SSL) プロトコルを使用してリモート コンピューターへの接続を確立することを示します。 既定では、SSL は使用されません。
WS-Management は、ネットワーク経由で送信されるすべての PowerShell コンテンツを暗号化します。 UseSSL パラメーターは、HTTP 接続ではなく HTTPS 接続を介してデータを送信する追加の保護です。
このパラメーターを使用しても、コマンドに使用されているポートで SSL を使用できない場合、コマンドは失敗します。
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-VMId
仮想マシンの ID を指定します。
Type: | Guid |
Aliases: | VMGuid |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-VMName
仮想マシンの名前を指定します。
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
入力
コンピューター名を文字列としてこのコマンドレットにパイプできます。
セッション オブジェクトをこのコマンドレットにパイプできます。
出力
None
このコマンドレットは、出力を返しません。
メモ
PowerShell には、 の次のエイリアスが Enter-PSSession
含まれています。
- すべてのプラットフォーム:
etsn
リモート コンピューターに接続するには、リモート コンピューターの Administrators グループのメンバーであることが必要です。 ローカル コンピューターで対話型セッションを開始するには、[ 管理者として実行 ] オプションを使用して PowerShell を起動する必要があります。
を使用 Enter-PSSession
すると、リモート コンピューター上のユーザー プロファイルが対話型セッションに使用されます。 PowerShell モジュールを追加するコマンドやコマンド プロンプトを変更するコマンドなど、リモート ユーザー プロファイル内のコマンドは、リモート プロンプトが表示される前に 実行します。
Enter-PSSession
では、ローカル コンピューターの UI カルチャ設定を対話型セッションに使用します。 ローカル UI カルチャを見つけるには、自動変数を使用します $UICulture
。
Enter-PSSession
には、、Get-Command
Out-Default
、および Exit-PSSession
コマンドレットが必要です。 これらのコマンドレットがリモート コンピューターのセッション構成に含まれていない場合、コマンドは Enter-PSSession
失敗します。
コマンドをリモート コンピューターに送信する前に解析して解釈する とは異なり Invoke-Command
、 Enter-PSSession
コマンドは解釈されずにリモート コンピューターに直接送信されます。
入力するセッションがコマンドの処理中にビジー状態になっている場合は、PowerShell がコマンドに応答するまでに遅延が発生する Enter-PSSession
可能性があります。 セッションが使用可能になるとすぐに接続されます。 コマンドをEnter-PSSession
キャンセルするには、CtrlC キーを押します+。
HostName パラメーター セットは、PowerShell 6.0 以降に含まれていました。 Secure Shell (SSH) に基づく PowerShell リモート処理を提供するために追加されました。 SSH と PowerShell の両方が複数のプラットフォーム (Windows、Linux、macOS) でサポートされており、PowerShell リモート処理は、PowerShell と SSH がインストールおよび構成されているこれらのプラットフォームで動作します。 これは、WinRM に基づく以前の Windows のみのリモート処理とは別であり、WinRM 固有の機能と制限の多くは適用されません。 たとえば、WinRM ベースのクォータ、セッション オプション、カスタム エンドポイント構成、切断/再接続機能は現在サポートされていません。 PowerShell SSH リモート処理を設定する方法の詳細については、「 SSH 経由の PowerShell リモート処理」を参照してください。
PowerShell 7.1 より前では、SSH 経由のリモート処理は、次ホップのリモート セッションをサポートしていませんでした。 この機能は、WinRM を使用したセッションに限定されていました。 PowerShell 7.1 を使用すると、任意の対話型リモート セッション内で Enter-PSSession
と Enter-PSHostProcess
が機能します。
実行可能ファイルは ssh
、次のソースから次の順序で構成データを取得します。
- コマンド ライン オプション
- ユーザーの構成ファイル (~/.ssh/config)
- システム全体の構成ファイル (/etc/ssh/ssh_config)
次のコマンドレット パラメーターは、パラメーターとオプションに ssh
マップされます。
コマンドレット パラメーター | ssh パラメーター | 同等の ssh -o オプション |
---|---|---|
-KeyFilePath |
-i <KeyFilePath> |
-o IdentityFile=<KeyFilePath> |
-UserName |
-l <UserName> |
-o User=<UserName> |
-Port |
-p <Port> |
-o Port=<Port> |
-ComputerName -Subsystem |
-s <ComputerName> <Subsystem> |
-o Host=<ComputerName> |
パラメーターによって明示的に渡された値は 、Options ハッシュテーブルで渡された値よりも優先されます。 ファイルの詳細 ssh_config
については、「 ssh_config(5)」を参照してください。