我有这个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
并且代码仍然远程执行,则此代码有效。
答案 0 :(得分:0)
这可能是一个许可问题。根据此链接:Creating Processes Remotely
如果帐户具有root \ cimv2的“执行方法”和“远程启用”权限,则远程创建的进程可以在任何帐户下运行。 “执行方法”和“远程启用”权限在“控制面板”的“WMI控制”中设置。