1

以下のスクリプトにキャッチを追加して、オンラインではないマシンを無視するにはどうすればよいですか?

現在、マシンがオンラインでない場合、次のエラー メッセージが表示されます。

Get-WmiObject : The RPC server is unavailable. (Exception from HRESULT: 0x800706BA)
At C:\fcheck\run.ps1:6 char:9
+     gwmi <<<<  win32_operatingsystem -computername $hostname | ForEach-Object {
    + CategoryInfo          : InvalidOperation: (:) [Get-WmiObject], COMException
    + FullyQualifiedErrorId : GetWMICOMException,Microsoft.PowerShell.Commands.GetWmiObjectCommand

これまでの私のコードは次のとおりです。

$dict.Keys | foreach-object {
    $currKey = $_
    $dict[$_] | ForEach-Object {
        $PSObject = New-Object PSCustomObject | Select hostname, os, type
        $PSObject.hostname = $_
        $PSObject.os = Get-OS $_
        $PSObject.type = $currType
        $VMObjects += $PSObject
    }
}


$VMObjects | ft
4

2 に答える 2

0

コマンドレットを使用する場合はGet-WmiObject、次のようにエラー アクション フラグを設定します。

-ErrorAction SilentlyContinue

これは、遭遇してもエラーを表示しません。

于 2013-10-01T14:08:04.047 に答える