假设我有两台服务器,服务器A和服务器B.
服务器A有PSVersion 5.0,服务器B有PSVersion 2.0。
如果我在服务器A上创建一个PSSession到服务器B,如下所示:
$remotesession = New-PSSession -ComputerName $serverB `
-Authentication Negotiate `
-Port 5985 `
-Credential $cred
并使用Invoke-Command -Session $remotesession -ScriptBlock { #stuff }
在服务器B上使用命令,我可以使用PowerShell 5.0命令,因为服务器A具有更高的PowerShell版本吗?或者服务器B不会识别那些?
实际的问题是,当我在RemoteServer上创建PSSession时,哪个服务器说哪个PowerShell版本正在使用?
抱歉英语不好,我无法很好地描述我的问题,所以我希望你能理解我想要了解的内容:)
答案 0 :(得分:0)
我可以使用PowerShell 5.0命令,因为服务器A具有更高的PowerShell版本吗?
没有。它将在PSv2环境中运行。
实际的问题是,当我在RemoteServer上创建PSSession时,哪个服务器说哪个PowerShell版本正在使用?
您创建会话的那个。在这种特殊情况下的ServerB。您进入远程服务器的环境并可以使用它的命令。
添加强>
刚检查确定。从PSv2客户端连接到PSv5服务器,我可以使用特定的PSv5 cmdlet,即Compress-Archive
。