何时使用 -ComputerName 以及何时使用 -ConnectionUri?

When to use -ComputerName and when -ConnectionUri?

在学习 PowerShell 的过程中,我偶然发现了一些让我感到困惑的事情。 我真的不明白为什么有时我必须使用

New-PSSession -ComputerName "servername" 

有时

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

我找不到这两种方法的明确解释。到底有什么区别?

New-PSSession 正在使用 PSremoting,使用前应进行配置。配置意味着您可以对每台计算机进行稍微不同的操作。最简单的示例是不同的端口和不同的端点名称。 Uri格式如下:<Transport>://<ComputerName>:<Port>/<ApplicationName>

对于默认配置,您只需传递 ComputerName,所有其他值都将采用默认值。

但是,如果您没有默认配置,您可以选择:

  • 通过ConnectionURI所有数据
  • 使用ComputerName,连同 UseSSLPortApplicationName 参数来指定 ConnectionURI 值。

所以这只是将相同信息传递给命令的两种方式。

在你的例子中你可以这样做:

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

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

两者的行为完全相同