首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >添加要忽略非联机机器的捕获项

添加要忽略非联机机器的捕获项
EN

Stack Overflow用户
提问于 2013-10-01 13:50:48
回答 2查看 1.5K关注 0票数 1

我将如何在下面的脚本中添加一个捕获,从而使它忽略非联机的机器?

当前,当机器不在联机时,我将收到以下错误消息:

代码语言:javascript
复制
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

到目前为止,这是我的代码:

代码语言:javascript
复制
$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
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-01 16:57:03

在尝试导致错误的操作之前,请检查计算机是否联机。

代码语言:javascript
复制
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及更高版本中使用。

票数 1
EN

Stack Overflow用户

发布于 2013-10-01 14:08:04

当使用Get-WmiObject cmdlet时,使用以下设置错误操作标志:

代码语言:javascript
复制
-ErrorAction SilentlyContinue

当遇到错误时,这不会显示任何错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19117996

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档