SCOM 2012 SP1 用の管理パックをカスタム作成しており、その中にモニターがあります。このモニターは、Microsoft.Windows.PowerShellTriggerOnlyProbe モジュールと、リモートの非ドメイン サーバーへの WMI の PowerShell スクリプト クエリに基づいています。このスクリプトは、リモート サーバー上の特定のプロセスをチェックする必要があります。
対応するスクリプトのアート:
$user = "username"
$password = ConvertTo-SecureString "password" -AsPlainText -Force
$cred = New-Object -TypeName System.Management.Automation.PSCredential -argumentlist $user,$password
try {
Get-WmiObject win32_Process -Impersonation Impersonate -Authentication Packet -credential $cred -ComputerName "$serverIP" | Select Name | Where-Object {$_.Name -eq "$Process"}
}
Catch {
$ErrorMSG = $_.Exception.Message.ToString()
}
SCOM のアクション アカウントで PowerShell コンソールからスクリプトを実行すると、スクリプトは"Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))"
完全に機能しますが、ManagementPack にインポートすると、次のエラーが発生します: $ErrorMSG.
リモート サーバーでローカル管理者の資格情報を使用しました。
リモート サーバーに PowerShell がないため、PowerShell リモート処理を使用できません。唯一の方法は、WMI を使用することです。助けてください!