Connect-WSMan
リモート コンピューター上の WinRM サービスに接続します。
構文
Connect-WSMan
[-ApplicationName <String>]
[[-ComputerName] <String>]
[-OptionSet <Hashtable>]
[-Port <Int32>]
[-SessionOption <SessionOption>]
[-UseSSL]
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[<CommonParameters>]
Connect-WSMan
[-ConnectionURI <Uri>]
[-OptionSet <Hashtable>]
[-Port <Int32>]
[-SessionOption <SessionOption>]
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[<CommonParameters>]
説明
このコマンドレットは、Windows プラットフォームでのみ使用できます。
Connect-WSMan
コマンドレットは、リモート コンピューター上の WinRM サービスに接続し、リモート コンピューターへの永続的な接続を確立します。 WSMan プロバイダーのコンテキストでこのコマンドレットを使用して、リモート コンピューター上の WinRM サービスに接続できます。 ただし、WSMan プロバイダーに変更する前に、このコマンドレットを使用してリモート コンピューター上の WinRM サービスに接続することもできます。 リモート コンピューターが WSMan プロバイダーのルート ディレクトリに表示されます。
クライアント コンピューターとサーバー コンピューターが異なるドメインまたはワークグループにある場合は、明示的な資格情報が必要です。
リモート コンピューター上の WinRM サービスから切断する方法については、Disconnect-WSMan
コマンドレットを参照してください。
例
例 1: リモート コンピューターに接続する
PS C:\> Connect-WSMan -ComputerName "server01"
PS C:\> cd WSMan:
PS WSMan:\>
PS WSMan:\> dir
WSManConfig: Microsoft.WSMan.Management\WSMan::WSMan
ComputerName Type
------------ ----
localhost Container
server01 Container
このコマンドは、リモート サーバー 01 コンピューターへの接続を作成します。
Connect-WSMan
コマンドレットは、通常、WSMan プロバイダーのコンテキストでリモート コンピューター (この場合は server01 コンピューター) に接続するために使用されます。 ただし、WSMan プロバイダーに変更する前に、コマンドレットを使用してリモート コンピューターへの接続を確立できます。 これらの接続は、ComputerName の一覧に表示されます。
例 2: 管理者資格情報を使用してリモート コンピューターに接続する
PS C:\> $cred = Get-Credential Administrator
PS C:\> Connect-WSMan -ComputerName "server01" -Credential $cred
PS C:\> cd WSMan:
PS WSMan:\>
PS WSMan:\> dir
WSManConfig: Microsoft.WSMan.Management\WSMan::WSMan
ComputerName Type
------------ ----
localhost Container
server01 Container
このコマンドは、管理者アカウントの資格情報を使用して、リモート システム サーバー 01 への接続を作成します。
最初のコマンドでは、Get-Credential コマンドレットを使用して管理者の資格情報を取得し、$cred
変数に格納します。
Get-Credential
は、システム レジストリの設定に応じて、ダイアログ ボックスまたはコマンド ラインでユーザー名とパスワードのパスワードの入力を求められます。
2 番目のコマンドでは、Credential パラメーターを使用して、$credに格納されている資格情報を渡して Connect-WSMan
します。
Connect-WSMan
管理者資格情報を使用してリモート システム サーバー 01 に接続します。
例 3: 指定したポートを介してリモート コンピューターに接続する
PS C:\> Connect-WSMan -ComputerName "server01" -Port 80
PS C:\> cd WSMan:
PS WSMan:\>
PS WSMan:\> dir
WSManConfig: Microsoft.WSMan.Management\WSMan::WSMan
ComputerName Type
------------ ----
localhost Container
server01 Container
このコマンドは、ポート 80 経由でリモート サーバー 01 コンピューターへの接続を作成します。
例 4: 接続オプションを使用してリモート コンピューターに接続する
PS C:\> $a = New-WSManSessionOption -OperationTimeout 30000
PS C:\> Connect-WSMan -ComputerName "server01" -SessionOption $a
PS C:\> cd WSMan:
PS WSMan:\> dir
WSManConfig: Microsoft.WSMan.Management\WSMan::WSMan
ComputerName Type
------------ ----
localhost Container
server01 Container
この例では、New-WSManSessionOption
コマンドで定義されている接続オプションを使用して、リモート サーバー 01 コンピューターへの接続を作成します。
最初のコマンドでは、New-WSManSessionOption
を使用して、接続設定オプションのセットを $a
変数に格納します。 この場合、セッション オプションは 30 秒 (30,000 ミリ秒) の接続時間を設定します。
2 番目のコマンドでは、SessionOption パラメーターを使用して、$a
変数に格納されている資格情報を渡して Connect-WSMan
します。 次に、Connect-WSMan
指定したセッション オプションを使用してリモート サーバー 01 コンピューターに接続します。
パラメーター
-ApplicationName
接続内のアプリケーション名を指定します。 ApplicationName パラメーターの既定値は WSMAN です。 リモート エンドポイントの完全な識別子は、次の形式です。
<Transport>://<Server>:<Port>/<ApplicationName>
例: http://server01:8080/WSMAN
セッションをホストするインターネット インフォメーション サービス (IIS) は、このエンドポイントを持つ要求を指定されたアプリケーションに転送します。 WSMAN のこの既定の設定は、ほとんどの用途に適しています。 このパラメーターは、多くのコンピューターが Windows PowerShell を実行している 1 台のコンピューターへのリモート接続を確立する場合に使用するように設計されています。 この場合、IIS は Web Services for Management (WS-Management) をホストして効率を高めます。
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Authentication
サーバーで使用する認証メカニズムを指定します。 このパラメーターに使用できる値は次のとおりです。
-
Basic
- Basic は、ユーザー名とパスワードがクリア テキストでサーバーまたはプロキシに送信されるスキームです。 -
Default
- WS-Management プロトコルによって実装された認証方法を使用します。 これが既定値です。 -
Digest
- ダイジェストは、チャレンジにサーバー指定のデータ文字列を使用するチャレンジ応答スキームです。 -
Kerberos
- クライアント コンピューターとサーバーは、Kerberos 証明書を使用して相互に認証します。 -
Negotiate
- ネゴシエートは、認証に使用するスキームを決定するためにサーバーまたはプロキシとネゴシエートするチャレンジ応答スキームです。 たとえば、このパラメーター値を使用すると、ネゴシエーションで Kerberos プロトコルと NTLM のどちらを使用するかを判断できます。 -
CredSSP
- 資格情報セキュリティ サポート プロバイダー (CredSSP) 認証を使用します。これにより、ユーザーは資格情報を委任できます。 このオプションは、1 台のリモート コンピューターで実行されるが、他のリモート コンピューターからデータを収集したり、他のリモート コンピューターで追加のコマンドを実行したりするコマンド用に設計されています。
注意
CredSSP は、ローカル コンピューターからリモート コンピューターにユーザーの資格情報を委任します。 この方法により、リモート操作のセキュリティ リスクが高まります。 リモート コンピューターが侵害された場合、資格情報が渡されるときに、資格情報を使用してネットワーク セッションを制御できます。
型: | AuthenticationMechanism |
Aliases: | auth, am |
指定可能な値: | None, Default, Digest, Negotiate, Basic, Kerberos, ClientCertificate, Credssp |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-CertificateThumbprint
このアクションを実行するアクセス許可を持つユーザー アカウントのデジタル公開キー証明書 (X509) を指定します。 証明書の拇印を入力します。
証明書は、クライアント証明書ベースの認証で使用されます。 これらはローカル ユーザー アカウントにのみマップできます。ドメイン アカウントでは機能しません。
証明書の拇印を取得するには、Windows PowerShell 証明書: ドライブの Get-Item
または Get-ChildItem
コマンドを使用します。
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-ComputerName
管理操作を実行する対象のコンピューターを指定します。 値には、完全修飾ドメイン名、NetBIOS 名、または IP アドレスを指定できます。 ローカル コンピューター名を使用するか、localhost を使用するか、ドット (.
) を使用してローカル コンピューターを指定します。 ローカル コンピューターが既定です。 リモート コンピューターがユーザーとは別のドメインにある場合は、完全修飾ドメイン名を使用する必要があります。 このパラメーターの値をコマンドレットにパイプできます。
型: | String |
Aliases: | cn |
配置: | 0 |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-ConnectionURI
接続エンドポイントを指定します。 この文字列の形式は次のとおりです。
<Transport>://<Server>:<Port>/<ApplicationName>
次の文字列は、このパラメーターに対して正しく書式設定された値です。
http://Server01:8080/WSMAN
URI は完全修飾されている必要があります。
型: | Uri |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Credential
このアクションを実行するアクセス許可を持つユーザー アカウントを指定します。 既定値は現在のユーザーです。
User01
、Domain01\User01
、User@Domain.com
などのユーザー名を入力します。 または、 コマンドレットによって返されるオブジェクトなど、Get-Credential
オブジェクトを入力します。 ユーザー名を入力すると、このコマンドレットによってパスワードの入力が求められます。
型: | PSCredential |
Aliases: | cred, c |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-OptionSet
要求の性質を変更または調整するサービスへのスイッチのセットを指定します。 これらは、サービス固有であるため、コマンド ライン シェルで使用されるスイッチに似ています。 任意の数のオプションを指定できます。
次の例は、a、b、および c パラメーターの値 1、2、3 を渡す構文を示しています。
-OptionSet @{a=1;b=2;c=3}
型: | Hashtable |
Aliases: | os |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Port
クライアントが WinRM サービスに接続するときに使用するポートを指定します。 トランスポートが HTTP の場合、既定のポートは 80 です。 トランスポートが HTTPS の場合、既定のポートは 443 です。
トランスポートとして HTTPS を使用する場合、ComputerName パラメーターの値は、サーバーの証明書の共通名 (CN) と一致する必要があります。 ただし、SkipCNCheck パラメーターが SessionOption パラメーターの一部として指定されている場合、サーバーの証明書共通名はサーバーのホスト名と一致する必要はありません。 SkipCNCheck パラメーターは、信頼できるコンピューターにのみ使用する必要があります。
型: | Int32 |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-SessionOption
WS-Management セッションの拡張オプションを指定します。
コマンドレットを使用して作成する New-WSManSessionOption
オブジェクトを入力します。 使用可能なオプションの詳細については、「Get-Help New-WSManSessionOption
」と入力します。
型: | SessionOption |
Aliases: | so |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-UseSSL
リモート コンピューターへの接続を確立するために Secure Sockets Layer (SSL) プロトコルを使用することを指定します。 既定では、SSL は使用されません。
WS-Management は、ネットワーク経由で送信されるすべての Windows PowerShell コンテンツを暗号化します。 UseSSL パラメーターを使用すると、HTTP ではなく HTTPS の追加保護を指定できます。 接続に使用されているポートで SSL を使用できず、このパラメーターを指定すると、コマンドは失敗します。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
None
このコマンドレットにオブジェクトをパイプすることはできません。
出力
None
このコマンドレットは出力を返しません。
メモ
WS-Management セッションを作成せずに、リモート コンピューターで管理コマンドを実行したり、管理データにクエリを実行したりできます。 これを行うには、 と Invoke-WSManAction
の Get-WSManInstance
パラメーターを使用します。
ComputerName パラメーターを使用すると、Windows PowerShell によって、1 つのコマンドに使用される一時的な接続が作成されます。 コマンドの実行後、接続は閉じられます。
関連リンク
PowerShell