我正在尝试编写一个可以在远程服务器上运行的 PowerShell 脚本。在这些脚本中,我希望根据机器上运行的 Windows 版本执行不同的功能。
我似乎无法在网上找到任何有用的信息,关于如何确定运行脚本的机器上运行的是哪个版本的 Windows(Server 2003、Server 2008 R2 等)。有什么想法可以做到这一点吗?
答案1
我会选择这个:
gwmi win32_operatingSystem | select name
正如 todda.speot.is 提到的,这是我找到的同一个链接,但里面有很多答案,我测试了它们。我给出的那个似乎可以满足您的要求,尽管您必须对其进行解析(我认为这是正确的术语)。
以下是示例输出:
Microsoft Windows Server 2003 R2 Standard x64 Edition|C:\WINDOWS|\Device\Harddisk0\Partition1
http://www.eggheadcafe.com/software/aspnet/31845351/reliable-way-to-get-windows-version.aspx
答案2
Get-WmiObject -Class Win32_OperatingSystem | ForEach-Object -MemberName Caption
或者打高尔夫球
gwmi win32_operatingsystem |% caption
结果
Microsoft Windows 7 旗舰版
答案3
我会用:
gwmi win32_operatingSystem | 选择标题
不需要‘解析’。;^)
示例输出:
Microsoft Windows Server 2003 R2 标准 x64 版本