Powershell Windows 2003 通配符不起作用

标签 powershell windows-server-2003 wildcard

我在 Windows 2003 和 Windows 2008 中都运行 Powershell,并且两者都在运行 2.0,但在 Windows 2003 中,通配符似乎不被接受(或者至少不以相同的方式使用react)。例如:

((get-counter -counter '\process(w3*)\id process').CounterSamples)

在 Windows 2008 中运行良好,但在 Windows 2003 中失败。
((get-counter -counter '\process(w3wp)\id process').CounterSamples)

在 Windows 2003 中运行良好。

如何在 Windows 2003 中根据通配符进行过滤?

最佳答案

嗨,我遇到了这样的问题,这似乎是由 windows server 2003 和 2008 的工作方式之间的差异引起的,而不是 powershell 本身,所以我所做的是编写一个代码块来检测我正在运行的 windows server 的版本和然后更改我要执行的代码。您可以使用下面的代码或将其放入 switch 语句中。

$WindowsVesrion = Get-WmiObject win32_operatingSystem

IF ($WindowsVesrion.Version -gt 6.0)
    {
    ((get-counter -counter '\process(w3*)\id process').CounterSamples)
    }
ELSE {
     ((get-counter -counter '\process(w3wp)\id process').CounterSamples)
     }

关于Powershell Windows 2003 通配符不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11060811/

相关文章:

python 应用程序到 exe 无法在 WinSRV2003 上运行

arrays - Excel:使用 vlookup 但在数组中使用通配符

powershell - Powershell 5中的命令Get-WindowsFeature?

powershell文件夹统计

certificate - 即使在修补程序之后 SHA256 也不起作用

codeigniter - 如何在 Windows Server 和 IIS 上的 codeigniter 中删除 index.php?

node.js - -print 通过 npm 打印出字符串,但实际上通过 powershell 进行评估

windows vscode终端中的javac Foo.java && java Foo不工作

java - 什么是多级通配符?语法困惑

javascript - 使用 JavaScript 和通配符的 UltraEdit 脚本