gpt4 book ai didi

powershell - 检查 powershell 版本并根据版本运行函数

转载 作者:行者123 更新时间:2023-12-03 13:15:49 30 4
gpt4 key购买 nike

我正在尝试检查 powershell 版本,并根据哪个版本,由于不同版本之间的命令和语法差异,我需要运行特定的函数。我正在尝试创建一个仅包含版本号的变量,以便于比较。这是代码。

$PSversion = {$PSVersionTable.PSVersion | sort-object major | ForEach-Object     {$_.major}}

Switch ($PSversion) {
2 {V2}
4 {V4}
5 {V5}
}

function V2 {
"You have Powershell Version 2"
}

function V4 {
"You have Powershell Version 4"
}

function V5 {
"You have Powershell Version 5"
}

当我运行脚本时,它返回一个空行,当我打印出变量的内容时,我得到了数字和一个新行。我试过使用替换来摆脱新行,但它总是存在。如果我直接在powershell窗口中输入变量命令,然后打印出变量的内容,我只得到版本号,没有换行。如果我从同一个 powershell 窗口运行脚本,我将一无所获。

enter image description here

对此的任何帮助将不胜感激!我不必使用这种方法,任何检查powershell版本并根据版本运行函数的方法都是我正在寻找的。

最佳答案

除了@MathiasRJesson 关于在使用函数之前将它们移动到的评论之外,您还为 $PSversion 分配了一个脚本块。多变的。它不评价它。

这个:

$PSversion = {$PSVersionTable.PSVersion | sort-object major | ForEach-Object     {$_.major}}

应该:
$PSversion = $PSVersionTable.PSVersion | sort-object major | ForEach-Object     {$_.major}

或者可能只是:
$PSversion = $PSVersionTable.PSVersion.Major

关于powershell - 检查 powershell 版本并根据版本运行函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47910319/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com