2016-06-09 42 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更短 –