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>]
Description
此 Cmdlet 僅適用於 Windows 平臺。
Cmdlet Connect-WSMan
會連線到遠端電腦上的 WinRM 服務,並建立與遠端電腦的持續性連線。 您可以在 WSMan 提供者的內容中使用這個 Cmdlet,以連線到遠端電腦上的 WinRM 服務。 不過,您也可以使用此 Cmdlet 連線到遠端電腦上的 WinRM 服務,再變更為 WSMan 提供者。 遠端電腦會出現在 WSMan 提供者的根目錄中。
當用戶端和伺服器計算機位於不同的網域或工作組時,需要明確認證。
如需如何從遠端電腦上的 WinRM 服務中斷連線的資訊,請參閱 Disconnect-WSMan
Cmdlet。
範例
範例 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
此命令會建立遠端 server01 電腦的連線。
Connect-WSMan
Cmdlet 通常用於 WSMan 提供者的內容中,以連線到遠端電腦,在此案例中為 server01 計算機。 不過,您可以在變更至 WSMan 提供者之前,先使用 Cmdlet 來建立遠端電腦的連線。 這些聯機會出現在 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
此命令會使用系統管理員帳戶認證建立與遠端系統伺服器的連線。
第一個命令會使用 Get-Credential Cmdlet 來取得系統管理員認證,然後將認證儲存在 變數中 $cred
。 Get-Credential
根據系統登錄設定,透過對話框或命令行提示您輸入使用者名稱和密碼的密碼。
第二個命令會 使用 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 建立與遠端 server01 計算機的連線。
範例 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
定義的連線選項,建立與遠端 server01 計算機的連線。
第一個命令會使用 New-WSManSessionOption
將一組連線設定選項儲存在變數中 $a
。 在此情況下,會話選項會設定連線逾時 30 秒(30,000 毫秒)。
第二個命令會 使用 SessionOption 參數,將儲存在 變數中的 $a
認證傳遞至 Connect-WSMan
。 然後, Connect-WSMan
使用指定的會話選項連線到遠端 server01 計算機。
參數
-ApplicationName
指定連接中的應用程式名稱。 ApplicationName 參數的預設值為 WSMAN。 遠端端端點的完整識別碼格式如下:
<Transport>://<Server>:<Port>/<ApplicationName>
例如:http://server01:8080/WSMAN
裝載會話的 網際網路資訊服務 (IIS)會將具有此端點的要求轉送至指定的應用程式。 此 WSMAN 的預設設定適用於大部分用途。 如果許多電腦與執行 Windows PowerShell 的電腦建立遠端連線,則此參數的設計用途為 。 在此情況下,IIS 會裝載 Web Services for Management (WS-Management) 以提高效率。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Authentication
指定用於伺服器的驗證機制。 此參數可接受的值為:
Basic
- 基本是一種配置,其中使用者名稱和密碼會以純文本傳送至伺服器或 Proxy。Default
- 使用 WS-Management 通訊協定所實作的驗證方法。 這是預設值。Digest
- 摘要是一種挑戰回應配置,使用伺服器指定的數據字串來進行挑戰。Kerberos
- 用戶端電腦和伺服器會使用 Kerberos 憑證相互驗證。Negotiate
- 交涉是一種挑戰回應配置,會與伺服器或 Proxy 交涉,以判斷要用於驗證的配置。 例如,此參數值允許交涉來判斷是否使用 Kerberos 通訊協定或 NTLM。CredSSP
- 使用認證安全性支援提供者 (CredSSP) 驗證,讓使用者委派認證。 此選項是針對在一部遠端電腦上執行的命令所設計,但從其他遠端電腦上收集資料或執行其他命令。
警告
CredSSP 會將使用者認證從本機計算機委派給遠端電腦。 這種做法會增加遠端作業的安全性風險。 如果遠端電腦遭到入侵,當認證傳遞至該計算機時,可以使用認證來控制網路會話。
類型: | AuthenticationMechanism |
別名: | auth, am |
接受的值: | None, Default, Digest, Negotiate, Basic, Kerberos, ClientCertificate, Credssp |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-CertificateThumbprint
指定具有執行此動作許可權之用戶帳戶的數位公鑰憑證 (X509)。 輸入憑證的憑證指紋。
憑證將用於用戶端憑證式驗證。 它們只能對應至本機用戶帳戶;它們不適用於網域帳戶。
若要取得憑證指紋,請使用 Get-Item
Windows PowerShell 憑證:磁碟驅動器中的 或 Get-ChildItem
命令。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-ComputerName
指定要執行管理作業的電腦。 此值可以是完整功能變數名稱、NetBIOS 名稱或IP位址。 使用本機計算機名稱、使用localhost,或使用點 (.
) 來指定本機電腦。 本機計算機是預設值。 當遠端電腦位於與使用者不同的網域時,您必須使用完整功能變數名稱。 您可以使用管線將此參數的值傳送至 Cmdlet。
類型: | String |
別名: | cn |
Position: | 0 |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-ConnectionURI
指定連接端點。 此字串格式如下所示:
<Transport>://<Server>:<Port>/<ApplicationName>
下列字串是此參數正確格式化的值:
http://Server01:8080/WSMAN
URI 必須完整。
類型: | Uri |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Credential
指定具有執行此動作許可權的用戶帳戶。 預設為目前使用者。 輸入使用者名稱,例如 User01
、 Domain01\User01
或 User@Domain.com
。 或者,輸入 PSCredential 物件,例如 Cmdlet 所傳回的物件 Get-Credential
。 當您輸入使用者名稱時,此 Cmdlet 會提示您輸入密碼。
類型: | PSCredential |
別名: | cred, c |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-OptionSet
指定一組切換至服務,以修改或精簡要求的性質。 這些參數類似於命令行殼層中使用的參數,因為它們是特定的服務。 您可以指定任意數目的選項。
下列範例示範傳遞 a、b 和 c 參數值 1、2 和 3 的語法:
-OptionSet @{a=1;b=2;c=3}
類型: | Hashtable |
別名: | os |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Port
指定客戶端連線到 WinRM 服務時要使用的埠。 當傳輸為 HTTP 時,預設埠為 80。 當傳輸是 HTTPS 時,預設埠為 443。
當您使用 HTTPS 做為傳輸時,ComputerName 參數的值必須符合伺服器的憑證一般名稱 (CN)。 不過,如果 SkipCNCheck 參數指定為 SessionOption 參數的一部分,則伺服器的憑證通用名稱不需要符合伺服器的主機名。 SkipCNCheck 參數應該只用於信任的電腦。
類型: | Int32 |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-SessionOption
指定 WS 管理會話的擴充選項。 輸入您使用 Cmdlet 建立的 New-WSManSessionOption
SessionOption 物件。 如您可以可用選項的詳細資訊, 請輸入 Get-Help New-WSManSessionOption
。
類型: | SessionOption |
別名: | so |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-UseSSL
指定使用安全套接字層 (SSL) 通訊協定來建立遠端電腦的連線。 預設不會使用 SSL。
WS-Management 會加密透過網路傳輸的所有 Windows PowerShell 內容。 UseSSL 參數可讓您指定 HTTPS 的額外保護,而不是 HTTP。 如果連線所使用的埠上無法使用 SSL,而且您指定此參數,則命令會失敗。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
輸入
None
您無法使用管線將物件傳送至此 Cmdlet。
輸出
None
此 Cmdlet 不會傳回任何輸出。
備註
您可以在遠端電腦上執行管理命令或查詢管理資料,而不需建立 WS 管理工作階段。 您可以使用和Get-WSManInstance
的 Invoke-WSManAction
ComputerName 參數來執行此動作。 當您使用 ComputerName 參數時,Windows PowerShell 會建立用於單一命令的暫存連線。 命令執行之後,連接就會關閉。
相關連結
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應