您可以设置默认
随着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'
以获取更多信息。
您可以设置默认