如何使Winrm默认使用Powershell 7进行远程会话

问题描述 投票:1回答:1

随着powershell 7的发布,似乎是时候摆脱ps 5.1了,所以我已经安装在几个服务器上,可以使用它。

但是,当我使用ps7从PC创建到这些服务器的会话时,我总是在远程计算机上运行ps5.1。

Invoke-Command -ComputerName name -ScriptBlock { 
        Write-Host $env:COMPUTERNAME
        $PSVersionTable.PsVersion
    }

哪个输出5.1.17763.316。默认情况下,如何使远程会话最好使用7.0.0版本的任何想法?

更新取得一些进展,尽管我会分享。

在powershell 7中的远程计算机上,运行以下命令

Enable-PSRemoting

这将创建一些PsSessionConfigurations,您可以使用以下命令查看。

Get-PSSessionConfiguration

现在您可以执行以下操作从Powershell 7创建会话

Invoke-Command -ComputerName ServerName -ScriptBlock { $PsVersionTable.PSVersion } -ConfigurationName Powershell.7
$session = New-PSSession ServerName -ConfigurationName Powershell.7
Invoke-Command -Session $session -ScriptBlock { $PsVersionTable.PSVersion } 

现在,在远程会话中使用ps 7,开心的日子。现在如何使它默认发生...?从这个github issue

将默认的microsoft.powershell端点设置为它们所使用的任何PowerShell选择

我想这就是我想做的,然后切换回ps 5.1并尝试了此命令:

Get-PSSessionConfiguration -Name microsoft.powershell | Set-PSSessionConfiguration -PSVersion 7.0

仅获得以下输出:

Set-PSSessionConfiguration:无法将参数'PSVersion'绑定到目标。异常设置“ PSVersion”:“值7.0不适用于PSVersion参数。可用值为2.0、3.0、4.0、5.0,5.1。“

尽管我会在ps7中尝试此操作,所以可以通过运行pwsh

切换回去,并再次运行相同的命令以使他跟随...]

写入错误:没有会话配置符合条件“ microsoft.powershell”。

所以仍然不太确定如何使ps7成为默认值...:(

随着powershell 7的发布,似乎是时候摆脱ps 5.1了,所以我已经安装在几个服务器上了。但是,当我从......>

您可以设置默认

会话配置本机用于通过$PSSessionConfigurationName preference variable远程传输到其他计算机。

例如,默认定位到PowerShell 7:

$PSSessionConfigurationName

请参见# When remoting, default to running PowerShell Core v7.x on the # the target machines: $PSSessionConfigurationName = 'PowerShell.7' 以获取更多信息。

powershell powershell-remoting powershell-6.0
1个回答
0
投票

您可以设置默认

© www.soinside.com 2019 - 2024. All rights reserved.