SCOM触发器按需发现 - DISCOVERY_NOT_FOUND

时间:2013-08-16 19:06:04

标签: powershell scom system-center management-pack

我正在尝试在我创建的管理包中使用PowerShell脚本来自动触发发现。

我尝试使用描述here in link

的PowerShell脚本

Task Result/Output Discovery_not_found SCOM

TaskId               : ff34dc4f-2db3-1736-d9f2-6d85b539ff96
BatchId              : 53d9f71a-a3ce-494f-9536-cc2443d6fb1d
SubmittedBy          : dev2\administrator
RunningAs            : 
TargetObjectId       : 6904f683-999f-ae14-5be7-fef74d1e5596
TargetClassId        : ab4c891f-3359-3fb6-0704-075fbfe36710
LocationId           : 6904f683-999f-ae14-5be7-fef74d1e5596
Status               : Succeeded
Output               : <DataItem type="System.OnDemandDiscoveryResponse" time="2013-08-16T11:36:10.9682547-07:00" sourceHealthServiceId="6904F683-999F-AE14-5BE7-FEF74D1E5596"><Result>DISCOVERY_NOT_FOUND</Result><Timestamp></Timesta
                       mp></DataItem>
ErrorCode            : 0

我尝试了操作控制台任务,得到了与图像所示相同的结果。

注意我传入了我发现的GUID。我尝试将Target Id保持为$ Target / Id $,并将其更改为我的发现运行的目标类的GUID。两者都给出了相同的结果。

1 个答案:

答案 0 :(得分:0)

发现可以在SCOM Management Server / Gateway或Agent上运行。 Michel的样本发现在Management Server上运行。大多数发现都将在代理上运行,如果是这种情况,则需要将类更改为“Microsoft.SystemCenter.Agent”。替换此行:

$instance=get-scomclass -name Microsoft.SystemCenter.ManagementServer | get-
scomclassinstance | ?{$_.displayname -eq $Omserver}

用这个:

$instance = get-scomclass -name Microsoft.SystemCenter.Agent | get-
scomclassinstance | ?{$_.displayname -eq $TargetDisplayName}