在将其与用户名,密码和进程关联之前,我有以下代码行来创建访问远程服务器的对象:
$process = [WMIClass]"\\remoteServer\ROOT\cimv2:Win32_Process"
我在两台PC上试过这个,一个没有任何错误,但是另一个我要运行的有一个例外:
Cannot convert value "\\remoteServer\ROOT\cimv2:Win32_Process" to type "System.Manage
ment.ManagementClass". Error: "Access is denied. (Exception from HRESULT: 0x800
70005 (E_ACCESSDENIED))"
remoteServer是同一个。不知道我必须在本地PC或远程PC上设置这项工作吗?在两台客户端PC上,用户名都是管理员的成员。
答案 0 :(得分:11)
您是否考虑过调查PowerShell远程处理?如果您正在运行PowerShell 2.0,我建议您查看它。设置远程处理后,您将能够使用Invoke-Command在远程服务器上执行命令:
Invoke-Command -ComputerName {serverName} –ScriptBlock { commands }
ScriptBlock可以包含任何powershell命令,因此您可以使用此机制启动远程计算机上的进程。要启用远程处理,您需要使用Enable-PSRemoting cmdlet,您可以在http://blogs.msdn.com/powershell/archive/2009/04/30/enable-psremoting.aspx和http://technet.microsoft.com/en-us/library/dd819498.aspx
获取详细信息答案 1 :(得分:2)
你有什么理由不想使用psexec吗?
http://technet.microsoft.com/en-us/sysinternals/bb545027.aspx
答案 2 :(得分:1)
我知道这是一篇旧帖子,但我认为您需要做的是在远程计算机上运行以下命令:
“获取-ExecutionPolicy”
听起来像设置为“Restricted”,这意味着它不会运行任何“Invoke-Commands”命令或远程脚本。
您可以将其更改为7个选项中的1个: