何时使用 -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
,连同 UseSSL
、Port
和 ApplicationName
参数来指定 ConnectionURI 值。
所以这只是将相同信息传递给命令的两种方式。
在你的例子中你可以这样做:
New-PSSession -ConnectionUri "http://FQDN/powershell"
或
New-PSSession -ComputerName "FQDN" -UseSSl $false -ApplicationName "powershell"
两者的行为完全相同
在学习 PowerShell 的过程中,我偶然发现了一些让我感到困惑的事情。 我真的不明白为什么有时我必须使用
New-PSSession -ComputerName "servername"
有时
New-PSSession -ConnectionUri "http://FQDN/powershell" etc...
我找不到这两种方法的明确解释。到底有什么区别?
New-PSSession
正在使用 PSremoting,使用前应进行配置。配置意味着您可以对每台计算机进行稍微不同的操作。最简单的示例是不同的端口和不同的端点名称。 Uri格式如下:<Transport>://<ComputerName>:<Port>/<ApplicationName>
对于默认配置,您只需传递 ComputerName
,所有其他值都将采用默认值。
但是,如果您没有默认配置,您可以选择:
- 通过
ConnectionURI
所有数据 - 使用
ComputerName
,连同UseSSL
、Port
和ApplicationName
参数来指定 ConnectionURI 值。
所以这只是将相同信息传递给命令的两种方式。
在你的例子中你可以这样做:
New-PSSession -ConnectionUri "http://FQDN/powershell"
或
New-PSSession -ComputerName "FQDN" -UseSSl $false -ApplicationName "powershell"
两者的行为完全相同