1

私は仕事に就こうとしているが、現時点ではできないことを以下に示します。実行して netsh コマンドの出力を取得したいのですが、必要なのは 3 つの出力を確認することだけです。

実行した場合のコマンド出力は次のとおりです。

netsh int tcp show global | where {$_ -match ': disabled'}


Receive-Side Scaling State          : disabled 
Chimney Offload State               : disabled 
Direct Cache Acess (DCA)            : disabled 
Receive Window Auto-Tuning Level    : disabled 
ECN Capability                      : disabled 
RFC 1323 Timestamps                 : disabled

次に、以下を実行して「Chimney Offload State」などを取得し、それが DISABLED に設定されていることを確認すると、失敗し、そうでない場合に ENABLED に設定されていることを示す ELSE ステートメントに進みます...修正方法がわかりませんこれください:

コード:

clear
$netsh = netsh int tcp show global | where {$_ -match ': disabled'}

if ($netsh -eq 'Chimney Offload State               : disabled')
{
    Write-Host "TCP Chimney disabled"
}
else
{
    Write-Host "TCP Chimney is ENABLED - WRONG!!!"
}
4

2 に答える 2

6

別の方法は、結果をオブジェクト化することです。

$pso = New-Object -TypeName PSObject

netsh int tcp show global | where {$_ -match ':'} | foreach{
    $item = $_.Split(':') -replace '\s|-|\(|\)'
    $pso | Add-Member -MemberType NoteProperty -Name $item[0] -Value $item[1]
}

if($pso.ChimneyOffloadState -eq 'disabled')
{
   ...
}
于 2013-04-09T13:34:18.020 に答える