Enter-PSSession
使用遠端電腦啟動互動式會話。
語法
ComputerName (預設值)
Enter-PSSession
[-ComputerName] <String>
[[-Credential] <PSCredential>]
[-EnableNetworkAccess]
[-ConfigurationName <String>]
[-Port <Int32>]
[-UseSSL]
[-ApplicationName <String>]
[-SessionOption <PSSessionOption>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[<CommonParameters>]
SSHHost
Enter-PSSession
[-HostName] <String>
[-Options <Hashtable>]
[-Port <Int32>]
[-UserName <String>]
[-KeyFilePath <String>]
[-Subsystem <String>]
[-ConnectingTimeout <Int32>]
[-SSHTransport]
[<CommonParameters>]
Session
Enter-PSSession
[[-Session] <PSSession>]
[<CommonParameters>]
Uri
Enter-PSSession
[[-ConnectionUri] <Uri>]
[[-Credential] <PSCredential>]
[-EnableNetworkAccess]
[-ConfigurationName <String>]
[-AllowRedirection]
[-SessionOption <PSSessionOption>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[<CommonParameters>]
InstanceId
Enter-PSSession
[-InstanceId <Guid>]
[<CommonParameters>]
Id
Enter-PSSession
[[-Id] <Int32>]
[<CommonParameters>]
Name
Enter-PSSession
[-Name <String>]
[<CommonParameters>]
VMId
Enter-PSSession
[-VMId] <Guid>
[-Credential] <PSCredential>
[-ConfigurationName <String>]
[<CommonParameters>]
VMName
Enter-PSSession
[-VMName] <String>
[-Credential] <PSCredential>
[-ConfigurationName <String>]
[<CommonParameters>]
ContainerId
Enter-PSSession
[-ContainerId] <String>
[-ConfigurationName <String>]
[-RunAsAdministrator]
[<CommonParameters>]
Description
Enter-PSSession Cmdlet 會啟動具有單一遠端電腦的互動式會話。
在工作階段期間,您輸入的命令會在遠端電腦上執行,就如同您直接在遠端電腦上輸入一樣。 您一次只能有一個互動式會話。
一般而言,您可以使用 ComputerName 參數來指定遠端電腦的名稱。
不過,您也可以使用互動式會話的 New-PSSession Cmdlet 來建立的會話。 不過,您無法使用 Disconnect-PSSession、Connect-PSSession或 Receive-PSSession Cmdlet 來中斷連線,或重新連線到互動式會話。
從 PowerShell 6.0 開始,如果本地電腦上有 SSH 可用,並且遠端電腦配置了 PowerShell SSH 終結點,則可以使用安全外殼 (SSH) 建立與遠端電腦的連接。 SSH 型 PowerShell 遠端工作階段的優點是其可跨多個平台運作(Windows、Linux、macOS)。 針對 SSH 型遠端,您可以使用設定 HostName 參數來指定遠端電腦和相關連線資訊。 如需如何設定PowerShell SSH 遠端的詳細資訊,請參閱透過SSH PowerShell 遠端處理。
若要結束互動式工作階段並從遠端電腦中斷連線,請使用 Exit-PSSession Cmdlet,或輸入 exit。
範例
範例 1:啟動互動式會話
PS> Enter-PSSession
[localhost]: PS>
此命令會在本機電腦上啟動互動式會話。 命令提示字元會變更,表示您現在在不同的會話中執行命令。
您在新會話中輸入的命令會執行,結果會以文字的形式傳回預設會話。
範例 2:使用互動式會話
第一個命令會使用 Enter-PSSession Cmdlet,以遠端電腦 Server01 啟動互動式會話。 工作階段啟動時,命令提示字元會變更為包含計算機名稱。
第二個命令會取得 PowerShell 程式,並將輸出重新導向至 Process.txt 檔案。
命令會提交至遠端電腦,並將檔案儲存在遠端電腦上。
第三個命令會使用 Exit 關鍵詞來結束互動式作業階段並關閉連線。
第四個命令會確認 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>
這些命令會使用 的 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 Cmdlet 來啟動與 Server01 計算機的互動式會話。
第二個命令會使用 Exit-PSSession Cmdlet 結束會話。 您也可以使用 Exit 關鍵詞結束互動式工作階段。
Exit-PSSession 和 Exit 具有相同的效果。
範例 6:使用 SSH 啟動互動式工作階段
PS> Enter-PSSession -HostName UserA@LinuxServer01
此範例示範如何使用安全殼層 (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
允許將此連線重新導向至替代的統一資源標識碼(URI)。 根據預設,不允許重新導向。
當您使用 ConnectionURI 參數時,遠端目的地可以傳回指示以重新導向至不同的 URI。 根據預設,PowerShell 不會重新導向連線,但您可以使用此參數來允許它重新導向連線。
您也可以變更 MaximumConnectionRedirectionCount 會話選項值,來限制重新導向連線的次數。 使用 Cmdlet 的 New-PSSessionOption 參數,或設定 預設變數的 $PSSessionOption 屬性。 預設值為 5。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | False |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
Uri
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-ApplicationName
指定連線 URI 的應用程式名稱區段。 當您不使用命令中的 ConnectionURI 參數時,請使用此參數來指定應用程式名稱。
預設值是本機計算機上 $PSSessionApplicationName 喜好設定變數的值。 如果未定義此喜好設定變數,預設值為 WSMAN。 此值適用於大部分使用。 如需詳細資訊,請參閱 about_Preference_Variables。
WinRM 服務會使用應用程式名稱來選取接聽程式來服務連線要求。 此參數的值應該符合遠端電腦上接聽程式 URLPrefix 屬性的值。
參數屬性
| 類型: | String |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
ComputerName
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-Authentication
指定用來驗證使用者認證的機制。 此參數可接受的值為:
- 預設
- 基本
- Credssp
- 摘要
- Kerberos
- 談判
- 使用隱式憑證進行協商
預設值為 Default。
CredSSP 驗證僅適用於 Windows Vista、Windows Server 2008 和更新版本的 Windows作系統。
如需此參數值的詳細資訊,請參閱 AuthenticationMechanism 列舉。
謹慎
認證安全性支援提供者(CredSSP)驗證的設計目的是將使用者的認證傳遞給遠端電腦進行認證,適用於需要在多個資源上進行驗證的命令,例如存取遠端網路共用。 此機制會增加遠端作業的安全性風險。 如果遠端電腦遭到入侵,傳遞給它的認證可用來控制網路會話。
參數屬性
| 類型: | AuthenticationMechanism |
| 預設值: | None |
| 接受的值: | Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
ComputerName
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
Uri
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-CertificateThumbprint
指定具有執行此動作許可權之用戶帳戶的數位公鑰憑證 (X509)。 輸入憑證的指紋。
憑證用於客戶端憑證型驗證。 它們只能對應至本機用戶帳戶;它們不適用於網域帳戶。
若要取得憑證,請使用PowerShell憑證: 磁碟驅動器中的 Get-Item 或 Get-ChildItem 命令。
參數屬性
| 類型: | String |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
ComputerName
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
Uri
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-ComputerName
指定計算機名稱。 此 Cmdlet 會啟動具有指定遠端電腦的互動式工作階段。 只輸入一個計算機名稱。 預設值為本機電腦。
輸入 NetBIOS 名稱、IP 位址或電腦的完整功能變數名稱。 您也可以使用管線將電腦名稱傳送至 Enter-PSSession。
若要在 ComputerName 參數的值中使用 IP 位址,命令必須包含 Credential 參數。 此外,計算機必須針對 HTTPS 傳輸進行設定,或遠端電腦的 IP 位址必須包含在本機電腦上的 WinRM TrustedHosts 清單中。 如需將計算機名稱新增至 TrustedHosts 清單的指示,請參閱 about_Remote_Troubleshooting中的。
備註
在 Windows作系統上,若要將本機電腦包含在 ComputerName 參數的值中,您必須使用 [以系統管理員身分執行] 選項啟動 PowerShell。
參數屬性
| 類型: | String |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
| 別名: | Cn |
參數集
ComputerName
| Position: | 0 |
| 必要: | True |
| 來自管線的值: | True |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-ConfigurationName
指定用於互動式工作階段的工作階段組態。
輸入工作階段組態的組態名稱或完整限定資源URI。 如果您只指定組態名稱,則前面會加上下列架構 URI:http://schemas.microsoft.com/powershell。
搭配 SSH 使用時,這會指定要在目標上使用的子系統,如 sshd_config 中所定義。 SSH 的預設值是 powershell 子系統。
會話的會話組態位於遠端電腦上。 如果遠端電腦上沒有指定的工作階段組態,命令會失敗。
預設值是本機計算機上 $PSSessionConfigurationName 喜好設定變數的值。 如果未設定此喜好設定變數,則預設值為 Microsoft.PowerShell。 如需詳細資訊,請參閱 about_Preference_Variables。
參數屬性
| 類型: | String |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
ComputerName
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
Uri
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
VMId
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
VMName
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
ContainerId
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-ConnectingTimeout
指定允許初始 SSH 連線完成的毫秒時間量。 如果連線未在指定時間內完成,則會傳回錯誤。
此參數已在 PowerShell 7.2 中引進
參數屬性
| 類型: | Int32 |
| 預設值: | unlimited |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
SSHHost
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-ConnectionUri
指定 URI,定義工作階段的連接端點。 URI 必須完整限定。 此字串格式如下所示:
<Transport>://<ComputerName>:<Port>/<ApplicationName>
預設值如下:
http://localhost:5985/WSMAN
如果您未指定 ConnectionURI,您可以使用 UseSSL、ComputerName、Port和 ApplicationName 參數來指定 ConnectionURI 值。
URI 傳輸區段的有效值為 HTTP 和 HTTPS。 如果您使用傳輸區段指定連線 URI,但未指定埠,則會使用標準埠來建立會話:80 代表 HTTP,而 HTTPS 則為 443。 若要使用 PowerShell 遠端的預設埠,請對於 HTTP 指定埠 5985,或對於 HTTPS 指定埠 5986。
如果目的地計算機將連線重新導向至不同的 URI,除非您在命令中使用 AllowRedirection 參數,否則 PowerShell 會防止重新導向。
參數屬性
| 類型: | Uri |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
| 別名: | URI, CU |
參數集
Uri
| Position: | 1 |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-ContainerId
指定容器的識別碼。
參數屬性
| 類型: | String |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
ContainerId
| Position: | 0 |
| 必要: | True |
| 來自管線的值: | True |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-Credential
指定具有執行此動作許可權的用戶帳戶。 預設值為目前的使用者。
輸入使用者名稱,例如 User01 或 Domain01\User01,或輸入 Cmdlet 所產生的 Get-Credential 物件。 如果您輸入使用者名稱,系統會提示您輸入密碼。
認證會儲存在 PSCredential 物件中,密碼會儲存為 secureString 。
備註
如需 SecureString 數據保護的詳細資訊,請參閱 SecureString 有多安全?。
參數屬性
| 類型: | PSCredential |
| 預設值: | Current user |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
ComputerName
| Position: | 1 |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
Uri
| Position: | 1 |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
VMId
| Position: | 1 |
| 必要: | True |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
VMName
| Position: | 1 |
| 必要: | True |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-EnableNetworkAccess
指出此 Cmdlet 會將互動式安全性令牌新增至回送會話。 互動式令牌可讓您在從其他電腦取得數據的回送會話中執行命令。 例如,您可以在會話中執行命令,將 XML 檔案從遠端電腦複製到本機電腦。
回送會話是 來自相同電腦上的 PSSession。 若要建立回送工作階段,請省略 ComputerName 參數,或將其值設定為 。 (dot)、localhost 或本機計算機的名稱。
根據預設,會使用網路令牌來建立回送會話,而網路令牌可能無法提供足夠的許可權來向遠端計算機進行驗證。
EnableNetworkAccess 參數只在回送會話中有效。 如果您在遠端電腦上建立會話時,使用 EnableNetworkAccess,命令會成功,但會忽略 參數。
您也可以使用 Authentication 參數的 CredSSP 值,在回送會話中允許遠端訪問,此參數會將會話認證委派給其他計算機。
此參數是在 Windows PowerShell 3.0 中引進的。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | False |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
ComputerName
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
Uri
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-HostName
指定安全殼層 (SSH) 型連線的電腦名稱。 這類似於 ComputerName 參數,不同之處在於遠端電腦的連線是使用 SSH 而不是 Windows WinRM。 此參數支援使用 user@hostname:port格式,將用戶名稱和/或埠指定為主機名參數值的一部分。 指定為主機名一部分的用戶名稱和/或埠,會優先於 -UserName 和 -Port 參數。 這允許將多個計算機名稱傳遞至此參數,其中有些具有特定的用戶名稱和/或埠,而另一些則使用來自 -UserName 和 -Port 參數的使用者名稱和/或埠。
此參數是在 PowerShell 6.0 中引進的。
參數屬性
| 類型: | String |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
SSHHost
| Position: | 0 |
| 必要: | True |
| 來自管線的值: | True |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Id
指定現有工作階段的識別碼。
Enter-PSSession 會針對互動式會話使用指定的會話。
若要尋找會話的標識符,請使用 Get-PSSession Cmdlet。
參數屬性
| 類型: | Int32 |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
Id
| Position: | 0 |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-InstanceId
指定現有工作階段的實例識別碼。
Enter-PSSession 會針對互動式會話使用指定的會話。
實例標識碼是 GUID。 若要尋找會話的實例標識碼,請使用 Get-PSSession Cmdlet。 您也可以使用 Session、Name或 ID 參數來指定現有的工作階段。 或者,您可以使用 ComputerName 參數來啟動暫存會話。
參數屬性
| 類型: | Guid |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
InstanceId
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-KeyFilePath
指定安全殼層 (SSH) 用來驗證遠端電腦上的使用者金鑰檔案路徑。
SSH 可透過私人/公鑰執行使用者驗證,作為基本密碼驗證的替代方案。 如果遠端電腦已設定金鑰驗證,則可以使用此參數來提供識別使用者的密鑰。
此參數是在 PowerShell 6.0 中引進的。
參數屬性
| 類型: | String |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
| 別名: | IdentityFilePath |
參數集
SSHHost
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Name
指定現有工作階段的易記名稱。
Enter-PSSession 會針對互動式會話使用指定的會話。
如果您指定的名稱符合一個以上的會話,命令就會失敗。 您也可以使用 Session、InstanceID或 ID 參數來指定現有的工作階段。 或者,您可以使用 ComputerName 參數來啟動暫存會話。
若要建立會話的易記名稱,請使用 Cmdlet 的 New-PSSession 參數。
參數屬性
| 類型: | String |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
Name
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-Options
指定連線到遠端 SSH 型工作階段時所使用的 SSH 選項哈希表。 可能的選項是 unix 型 ssh 命令版本所支援的任何值。
參數明確傳遞的任何值,都優先於 Options 哈希表中傳遞的值。 例如,使用 Port 參數會覆寫在 Port hashtable 中傳遞的任何 機碼/值組。
參數屬性
| 類型: | Hashtable |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
SSHHost
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Port
指定遠端電腦上用於此命令的網路埠。
在 PowerShell 6.0 中,此參數包含在支援安全殼層 (SSH) 連線的 HostName 參數集中。
WinRM (ComputerName 參數集)
若要連線到遠端電腦,遠端計算機必須接聽連線所使用的埠。 默認埠為 5985,這是 HTTP 的 WinRM 連接埠,而 5986 是 HTTPS 的 WinRM 連接埠。
使用替代埠之前,您必須在遠端電腦上設定 WinRM 接聽程式,以在該埠接聽。 使用下列命令來設定接聽程式:
winrm delete winrm/config/listener?Address=*+Transport=HTTPwinrm create winrm/config/listener?Address=*+Transport=HTTP @{Port="\<port-number\>"}
除非您必須,否則請勿使用 Port 參數。 命令中的埠設定會套用至命令執行所在的所有計算機或會話。 替代埠設定可能會防止命令在所有計算機上執行。
SSH (HostName 參數集)
若要連線到遠端電腦,遠端計算機必須設定為 SSH 服務 (SSHD),而且必須接聽連線所使用的埠。 SSH 的預設埠為 22。
參數屬性
| 類型: | Int32 |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
ComputerName
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
SSHHost
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-RunAsAdministrator
表示 PSSession 以系統管理員身分執行。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | False |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
ContainerId
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Session
指定要用於互動式會話的PowerShell工作階段(PSSession)。 此參數會採用會話物件。 您也可以使用 Name、InstanceID或 ID 參數來指定 PSSession。
輸入包含會話物件的變數,或建立或取得會話物件的命令,例如 New-PSSession 或 Get-PSSession 命令。 您也可以使用管線將會話物件傳送至 Enter-PSSession。 您可以使用此參數,只提交一個 PSSession。 如果您輸入的變數包含多個 PSSession,此命令會失敗。
當您使用 Exit-PSSession 或 EXIT 關鍵詞時,互動式會話會結束,但您所建立的 PSSession 會保持開啟且可供使用。
參數屬性
| 類型: | PSSession |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
Session
| Position: | 0 |
| 必要: | False |
| 來自管線的值: | True |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-SessionOption
設定工作階段的進階選項。 輸入 SessionOption 物件,例如您使用 New-PSSessionOption Cmdlet 建立的物件,或是鍵為工作階段選項名稱、值為工作階段選項值的哈希表。
如果設定選項,選項的預設值取決於 $PSSessionOption 喜好設定變數的值。 否則,預設值是由會話組態中設定的選項所建立。
會話選項值優先於 $PSSessionOption 喜好設定變數和會話組態中設定的會話預設值。 不過,它們不會優先於會話設定中設定的最大值、配額或限制。
如需工作階段選項的描述,包括預設值,請參閱 New-PSSessionOption。
如需 $PSSessionOption 喜好設定變數的相關信息,請參閱 about_Preference_Variables。 如需工作階段組態的詳細資訊,請參閱 about_Session_Configurations。
參數屬性
| 類型: | PSSessionOption |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
ComputerName
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
Uri
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-SSHTransport
指出遠端連線是使用安全殼層 (SSH) 建立的。
根據預設,PowerShell 會使用 Windows WinRM 連線到遠端電腦。 此參數會強制 PowerShell 使用 HostName 參數集來建立 SSH 型遠端連線。
此參數是在 PowerShell 6.0 中引進的。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | False |
| 接受的值: | true |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
SSHHost
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Subsystem
指定用於新 PSSession的 SSH 子系統。
這會指定要在目標上使用的子系統,如sshd_config中所定義。 子系統會使用預先定義的參數啟動特定版本的 PowerShell。 如果遠端電腦上沒有指定的子系統,命令會失敗。
如果未使用此參數,則預設值為“powershell”子系統。
參數屬性
| 類型: | String |
| 預設值: | Powershell |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
SSHHost
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-UserName
指定用來在遠端電腦上建立工作階段之帳戶的用戶名稱。 使用者身份驗證方法將取決於在遠端計算機上配置安全外殼 (SSH) 的方式。
如果將 SSH 配置為基本密碼身份驗證,則系統將提示您輸入用戶密碼。
如果將 SSH 配置為基於金鑰的使用者身份驗證,則可以通過 KeyFilePath 參數提供金鑰檔案路徑,並且不會出現密碼提示。 請注意,如果用戶端使用者密鑰檔位於 SSH 已知位置,則基於密鑰的身份驗證不需要 KeyFilePath 參數,並且使用者身份驗證將根據使用者名自動進行。 如需詳細資訊,請參閱有關密鑰型使用者驗證的 SSH 檔。
這不是必要的參數。 如果未指定 UserName 參數,則當前登錄使用者名將用於連接。
此參數是在 PowerShell 6.0 中引進的。
參數屬性
| 類型: | String |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
SSHHost
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-UseSSL
指出此 Cmdlet 會使用安全套接字層 (SSL) 通訊協定來建立與遠端電腦的連線。 根據預設,不會使用 SSL。
WS-Management 會加密透過網路傳輸的所有PowerShell內容。 UseSSL 參數是額外的保護,可跨 HTTPS 連線傳送數據,而不是 HTTP 連線。
如果您使用此參數,但在用於命令的埠上無法使用 SSL,則命令會失敗。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | False |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
ComputerName
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-VMId
指定虛擬機的識別碼。
參數屬性
| 類型: | Guid |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
| 別名: | VMGuid |
參數集
VMId
| Position: | 0 |
| 必要: | True |
| 來自管線的值: | True |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-VMName
指定虛擬機的名稱。
參數屬性
| 類型: | String |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
VMName
| Position: | 0 |
| 必要: | True |
| 來自管線的值: | True |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
CommonParameters
此 Cmdlet 支援一般參數:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 如需詳細資訊,請參閱 about_CommonParameters。
輸入
String
您可以使用管線將電腦名稱當做字串傳送至此 Cmdlet。
PSSession
您可以透過管線將會話物件傳送至此 CMDLET。
輸出
None
此 Cmdlet 不會傳回任何輸出。
備註
PowerShell 包含下列 Enter-PSSession的別名:
- 所有平臺:
etsn
若要連線到遠端電腦,您必須是遠端電腦上的 Administrators 群組成員。 若要在本機計算機上啟動互動式會話,您必須使用 以系統管理員身分執行 選項來啟動 PowerShell。
當您使用 Enter-PSSession時,遠端電腦上的使用者配置檔會用於互動式會話。 遠端使用者設定檔中的命令,包括新增 PowerShell 模組和變更命令提示字元的命令,在顯示遠端提示字元之前執行。
Enter-PSSession 會針對互動式會話使用本機電腦上的UI文化特性設定。 若要尋找本機 UI 文化特性,請使用 $UICulture 自動變數。
Enter-PSSession 需要 Get-Command、Out-Default和 Exit-PSSession Cmdlet。 如果這些 cmdlet 未包含在遠端電腦上的工作階段配置中,則命令 Enter-PSSession 將失敗。
不同於 Invoke-Command,它會先剖析並解譯命令,再將命令傳送至遠端計算機,Enter-PSSession 直接將命令傳送至遠端電腦,而不需要解譯。
如果您想要輸入的會話正忙於處理命令,則 PowerShell 回應 Enter-PSSession 命令之前可能會有延遲。 一旦會話可供使用,您就會連線。 若要取消 Enter-PSSession 命令,請按 CTRL+C。
從 PowerShell 6.0 開始,包含 HostName 參數集。 它已新增,以根據安全殼層 (SSH) 提供 PowerShell 遠端功能。 在多個平臺 (Windows、Linux、macOS) 和 PowerShell 遠端處理上都支援 SSH 和 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)
下列 Cmdlet 參數會對應至 ssh 參數和選項:
| Cmdlet 參數 | 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)。