2016-06-09 61 views
0

在我學習PowerShell的過程中,我偶然發現了一些令我困惑的東西。 我真的不明白爲什麼有時我不得不使用何時使用-Co​​mputerName和-ConnectionUri?

New-PSSession -ComputerName "servername" 

並且有時反而

New-PSSession -ConnectionUri "http://FQDN/powershell" etc... 

我找不到這兩種方式的一個明確的解釋。究竟有什麼區別?

回答

1

New-PSSession正在通過PSremoting進行工作,應該在使用前進行配置。配置意味着您可以爲每臺計算機稍微改變一下。最簡單的例子是不同的端口不同的端點名稱。 Uri格式如下:<Transport>://<ComputerName>:<Port>/<ApplicationName>

對於默認配置,您只需要通過ComputerName,對於所有其他值,將採用默認值。

但是,如果您有非缺省配置,你有一個選擇:

  • ConnectionURI所有的數據
  • 使用ComputerName,連同UseSSLPort,並ApplicationName參數指定ConnectionURI值。

所以這只是將相同信息傳遞給命令的兩種方式。

在您的例子,你可以這樣做:

New-PSSession -ConnectionUri "http://FQDN/powershell" 

New-PSSession -ComputerName "FQDN" -UseSSl $false -ApplicationName "powershell" 

雙方的行爲完全一樣

+0

我開始有點明白了。只是爲了澄清,我可以連接到我的交換服務器,如-computername exchange.domain.local或as -connectionuri http:// etc等。PowerShell環境的配置有哪些變化? – Micael

+0

通常只有Exchange具有特殊的PS設置,或者還有其他常見情況下需要使用非默認配置? – Micael

+0

沒有必要使用其中一個。帶有參數的ComputerName具有更強的類型,ConnectionURI更短 –