尝试从网络共享在远程PC上创建进程

时间:2016-01-29 15:33:51

标签: powershell

我有这个Powershell:

    Try
    {
       #Start the installer remotely
       $process = ([WMICLASS]"\\$comp\ROOT\CIMV2:Win32_Process").Create($InstallString)
       if ( $process.ReturnValue -eq 0 )
       {
          $logstr = $comp + ": spawned process " + $process.ProcessId
          Write-Host -ForegroundColor GREEN $logstr
       }
       else
       {
          Write-Host -ForegroundColor RED "${comp}: failed to create process ${InstallString}"
          Continue
       }
    }
    Catch
    {
       Write-Host -ForegroundColor RED "${comp}: error: $_.Exception.Message"
       Continue
    }

其中$comp是有效的PC名称,InstallString\\SERVERNAME\ShareFolder\setup.exe

在该ShareFolder中是一个安装程序及其文件。我希望我可以运行这样的设置进行远程安装,但它无法正常工作。它落入了其他地方:

COMPUTERNAME: failed to create process \\SERVERNAME\ShareFolder\setup.exe

我错过了什么?我可以在Powershell外部访问这条路径。

这适用于本地路径。我是否需要在Powershell中使用一些特殊语法来指向此共享?

如果exe(好的,不同的安装程序)位于COMPUTERNAME并且代码仍然远程执行,则此代码有效。

1 个答案:

答案 0 :(得分:0)

这可能是一个许可问题。根据此链接:Creating Processes Remotely

  

如果帐户具有root \ cimv2的“执行方法”和“远程启用”权限,则远程创建的进程可以在任何帐户下运行。 “执行方法”和“远程启用”权限在“控制面板”的“WMI控制”中设置。