ここでぐるぐる回っています...スクリプトの「致命的なエラー」を処理して続行しようとしています。-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 つのサーバーで停止して停止します。