通过powershell运行远程进程

Dav*_*.ca 1 powershell

在将其与用户名,密码和进程关联之前,我有以下代码行来创建访问远程服务器的对象:

$process = [WMIClass]"\\remoteServer\ROOT\cimv2:Win32_Process"
Run Code Online (Sandbox Code Playgroud)

我在两台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))"
Run Code Online (Sandbox Code Playgroud)

remoteServer是同一个.不知道我必须在本地PC或远程PC上设置这项工作吗?在两台客户端PC上,用户名都是管理员的成员.

小智 11

您是否考虑过研究PowerShell远程处理?如果您正在运行PowerShell 2.0,我建议您查看它.设置远程处理后,您将能够使用Invoke-Command在远程服务器上执行命令:

Invoke-Command -ComputerName {serverName} –ScriptBlock { commands }
Run Code Online (Sandbox Code Playgroud)

ScriptBlock可以包含任何powershell命令,因此您可以使用此机制启动远程计算机上的进程.要启用远程处理,您需要使用Enable-PSRemoting cmdlet,您可以在http://blogs.msdn.com/powershell/archive/2009/04/30/enable-psremoting.aspxhttp获取此详细信息: //technet.microsoft.com/en-us/library/dd819498.aspx