我想在windows-7 64位機器上從powershell腳本運行EXE。在這個腳本中,我想以另一個用戶身份運行exe。它在用戶調用腳本是實際用戶時起作用。但在我的情況下,這個PowerShell腳本將從系統用戶帳戶執行,而系統用戶腳本不起作用。這裏用一個簡單的代碼打開記事本。此代碼對系統用戶失敗。無法從系統用戶的PowerShell中運行EXE
$username = 'MyDomain\MyUser'
$password = 'mypswd'
$cred = New-Object System.Management.Automation.PSCredential -ArgumentList @($username,(ConvertTo-SecureString -String $password -AsPlainText -Force))
Start-Process -Credential $cred "notepad.exe"
我已經將執行策略設置爲無限制。當我運行此腳本系統用戶,然後我得到錯誤的
Start-Process : This command cannot be executed due to the error: Access is den ied. At D:\temp\trythis.ps1:4 char:14 + Start-Process <<<< -Credential $cred "notepad.exe" + CategoryInfo : InvalidOperation: (:) [Start-Process], InvalidOp erationException + FullyQualifiedErrorId : InvalidOperationException,Microsoft.PowerShell.C ommands.StartProcessCommand
是否有我可以運行此腳本系統用戶什麼辦法?
我試過你的方法,但我仍然得到同樣的問題。要重現此問題,我正在使用sysinternals的psexec實用程序。我首先在命令提示符「psexec -i -s powershell」中運行此命令,然後在powershell提示符下輸入問題中顯示的代碼。 – 2012-07-20 12:27:57
您是否使用PsExec遠程執行此操作?如果你是,那麼可能會有不同的權限集。如果你不是,那麼使用PsExec的目的是什麼? – 2012-07-20 13:17:11
是的,我正在遠程執行此操作。實際上,這將由我們的集成服務器調用。 – 2012-07-23 10:12:14