我将如何在下面的脚本中添加一个捕获,从而使它忽略非联机的机器?
当前,当机器不在联机时,我将收到以下错误消息:
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发布于 2013-10-01 16:57:03
在尝试导致错误的操作之前,请检查计算机是否联机。
if (test-connection -computername $hostname -quiet -count 1) {
# Run your process
} else {
# Computer is offline, do we need to do something different?
}Test-Connection可在PowerShell 2.0及更高版本中使用。
发布于 2013-10-01 14:08:04
当使用Get-WmiObject cmdlet时,使用以下设置错误操作标志:
-ErrorAction SilentlyContinue当遇到错误时,这不会显示任何错误。
https://stackoverflow.com/questions/19117996
复制相似问题