Триггер SCOM при обнаружении по требованию - DISCOVERY_NOT_FOUND
Я пытаюсь использовать PowerShell Script в пакете управления, который я создаю, для автоматического запуска обнаружения.
Я пытаюсь использовать скрипт PowerShell, описанный здесь в ссылке:
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 ответ
Обнаружения могут выполняться на сервере управления SCOM / шлюзе или агенте. Пример обнаружения Мишеля запускается на сервере управления. Большинство обнаружений будут выполняться на агенте, в этом случае вам нужно изменить класс на "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}