2014-02-08 38 views
0

我猜測啓動過程將被使用,但我不確定如何一次完成這兩件事。從Powershell中,如何在不同的用戶環境下以管理員模式啓動可執行文件?

該用戶是本地用戶並且是管理員的成員。

此外,不需要用戶輸入。

更新:這是我已經嘗試過,爲什麼它沒有工作。 基思建議,我試着做以下幾點:

$passwd = ConvertTo-SecureString -AsPlainText "opensesame" -Force 
$cred = new-object system.management.automation.pscredential 'John',$passwd 
Start-Process powershell.exe -credential $cred 

這在管理員模式下沒有推出PowerShell窗口。添加運行方式動詞不能因爲工作的啓動過程有two completely separate ways to call it,其中一個需要-Verb作爲參數,其中一個需要-Credential:

Start-Process [-FilePath] <string> [[-ArgumentList] <string[]>] [-Credential <PSCredential>] [-LoadUserProfile] [-NoNewWindow] [-PassThru] [-RedirectStandardError <string>] [-RedirectStandardInput <string>] [-RedirectStandardOutput <string>] [-UseNewEnvironment] [-Wait] [-WorkingDirectory <string>] [<CommonParameters>] 

Start-Process [-FilePath] <string> [[-ArgumentList] <string[]>] [-PassThru] [-Verb <string>] [-Wait] [-WindowStyle {<Normal> | <Hidden> | <Minimized> | <Maximized>}] [-WorkingDirectory <string>] [<CommonParameters>] 

這意味着下面的返回錯誤:

Start-Process powershell.exe -credential $cred -verb runas 

回答

3

試試這個:

$passwd = ConvertTo-SecureString -AsPlainText "opensesame" -Force 
$cred = new-object system.management.automation.pscredential 'John',$passwd 
Start-Process powershell.exe -credential $cred 

TechNet article對使用​​的憑據腳本的詳細信息。

+0

更新了問題以反映此信息。 –

+0

是的,忘了那兩個參數是互斥的。從答案中刪除了那一點。我會再看看這個。我認爲UAC是在這個系統上啓用的? –

+0

是的。這是在Azure Worker角色上運行的,這就是爲什麼它具有嚴格的自動化和用戶要求。 –

相關問題