我正在为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控制台运行时,脚本工作完美,但当我在ManagementPack中导入它时,我收到此错误:$ "Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))"
$ ErrorMSG。
在远程服务器上使用本地管理员凭据。
远程服务器上没有powershell,所以我不能使用powershell远程处理,唯一的方法是使用WMI。 请帮忙!
答案 0 :(得分:0)
您需要尝试以脚本身份运行脚本。如果代理使用默认的本地系统帐户运行,那么这是唯一需要的测试。