2

Windows 2003 と Windows 2008 の両方で Powershell を実行しており、どちらも 2.0 を実行していますが、Windows 2003 ではワイルドカードが受け入れられないようです (または、少なくとも同じように反応しません)。例えば:

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

Windows 2008 では正常に動作しますが、Windows 2003 では失敗します。

((get-counter -counter '\process(w3wp)\id process').CounterSamples)

Windows 2003 では正常に動作します。

Windows 2003 でワイルドカードに基づいてフィルター処理するにはどうすればよいですか?

4

1 に答える 1

2

こんにちは、私はこのような問題を抱えていました。これは、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)
     }
于 2012-06-17T19:56:54.760 に答える