以PHP

时间:2015-11-05 13:22:21

标签: php powershell

我在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)

1 个答案:

答案 0 :(得分:1)

您可以使用Invoke-command或Enter-PSSession。 以下是Invoke-command

的示例
{{1}}

请注意,为了使用这些cmdlet,必须配置WinRM。有关详细信息,请参阅此处 - https://technet.microsoft.com/en-us/library/hh849694.aspx