Ниже приведен мой сценарий с очищенными идентификаторами. Базовым классом для диагностики является MyCompany.MyApp, а базовым классом является компьютер Windows. Если я запускаю это на целевой машине напрямую с параметрами, я возвращаю XML. Если я запустил свой компьютер, он будет пустым. Это имеет смысл локально, но я думал, когда вы запускаете открытия, которые агент запускает на машине, на которую вы нацеливаете? Все мои другие открытия до сих пор были реестром, поэтому я могу сделать что-то совершенно неправильное.Discovery Script не работает
Param($sourceId, $managedEntityId, $ComputerName)
$api = New-Object -ComObject 'MOM.ScriptAPI'
$discoveryData = $api.CreateDiscoveryData(0, $SourceId, $ManagedEntityId)
$Diagnostics = Invoke-Command -ComputerName $ComputerName {
Get-WebApplication -Name "diagnostics"
}
foreach ($x in $Diagnostics)
{
$instance = $discoveryData.CreateClassInstance("$MPElement[Name='MyCompany.MyApp.Diagnostics']$")
$instance.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", $ComputerName)
$discoveryData.AddInstance($instance)
}