当您使用
(GWMI -ComputerName $server -Class Win32_OperatingSystem -ErrorAction Stop).Caption
来获取标题
Microsoft(R) Windows(R) Server 2003 Standard x64 Edition
Microsoft Windows Server 2008 R2 Standard
Microsoft Windows Server 2012 Datacenter
从结果中删除"Microsoft Windows"
和"Microsoft(R) Windows"
的简单方法是什么?
我提出了:
(GWMI Win32_OperatingSystem -Comp $server).Caption -Replace "^Microsoft Windows "
这会将"Microsoft Windows Server 2012 Datacenter"
转换为"Server 2012 Datacenter"
,但Windows Server 2003和Windows Server 2008上的旧计算机与替换正则表达式不匹配。
3条答案
按热度按时间zpf6vheq1#
下面是我的:
输出:
你想要的是:
输出:
sdnqo3pr2#
我在我的环境中找到了所有的操作系统作为测试。我不会担心这个答案的WMI,因为这不是问题的重点。
使用下面的here-string,其中包含了我的所有测试示例,
我运行了一个正则表达式,它可以找到带有可选(R)和®(〈--版权符号)的Microsoft Windows:
有关正则表达式的详细信息,请参阅here。
它将输出
dm7nw8vv3#
我将继续使用regex方法,并使用“Microsoft {可选地后跟(R)}”,如下例所示: