0

ここでぐるぐる回っています...スクリプトの「致命的なエラー」を処理して続行しようとしています。-EA silentlycontinueうまくいかないことはわかっていforeachますが、それを回避するために使用に戻ってきますが、たとえば、私が見つけた解決策はうまくいかず、これは私がやろうとしていることではない例です...

コード:

get-content serverLists.txt | 
foreach {get-wmiobject -computer $_ -query "Select * from win32_logicaldisk where drivetype=3"} | 
Format-Table SystemName,DeviceID,Size,FreeSpace,VolumeName

死にます:

get-wmiobject : Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
At line:1 char:40
+ get-content serverLists.txt | foreach {get-wmiobject -computer $_ -query "Select ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Get-WmiObject], UnauthorizedAccessException
    + FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.PowerShell.Commands.GetWmiObjectCommand

私はそれを続行したい、try/catchを試して調査しましたが、これは読み取り可能な形式でエラーを表示して停止します.ping/ポートチェックソリューションを見てきましたが、一部のサーバーはファイアウォールの背後にありますが、特定のポートは開いていますなど致命的なエラーを処理して続行したいだけです...

ところで、これは権利の問題ではありません。多数のサーバーを正常に通過し、スクリプトは 1 つのサーバーで停止して停止します。

4

1 に答える 1