我在php中创建一个VBS,保存到网络上的远程服务器,然后创建一个PowerShell脚本来运行它并从PHP执行。
$ITIMHOS = "ABD-DEF-123";
//create the ps1
$fs = fopen("\\\\spc-nsa-001\\nscap\\RunVBS.ps1","a"); //create batch file
fwrite($fs,"Start-Process cmd.exe /c'\\\\spc-nsa-001\\nscap\\JP-Computer-import-".$ITIMHOS.".vbs'"); //write batch file contents
fclose($fs);
VBS必须在该远程服务器上运行,这就是我这样做的原因,它必须由特定用户运行,这是我遇到的问题用。我目前使用这个:
$psRun = '\\\\spc-nsa-001\\c$\\windows\\syswow64\\WindowsPowerShell\\v1.0\\powershell.exe'; //64bit server, 32bit web server
$ps1File = '\\\\spc-nsa-001\\nscap\\runVBS.ps1';
exec($psRun.' -command '.$ps1File);
任何人都可以建议/帮助我如何使用不同的用户运行它(DOMAIN \ user.name,P4 $$ word)
答案 0 :(得分:1)
您可以使用Invoke-command或Enter-PSSession。 以下是Invoke-command
的示例{{1}}
请注意,为了使用这些cmdlet,必须配置WinRM。有关详细信息,请参阅此处 - https://technet.microsoft.com/en-us/library/hh849694.aspx