我猜测将使用Start-Process,但我不确定如何一次完成这两件事。
用户是本地用户,是Administrators的成员。
此外,无需用户输入。
更新:这是我尝试过的以及为什么它不起作用。 正如Keith建议的那样,我尝试了以下方法:
$passwd = ConvertTo-SecureString -AsPlainText "opensesame" -Force
$cred = new-object system.management.automation.pscredential 'John',$passwd
Start-Process powershell.exe -credential $cred
这没有以管理员模式启动powershell窗口。添加runas谓词不起作用,因为start-process有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
答案 0 :(得分:3)
试试这个:
$passwd = ConvertTo-SecureString -AsPlainText "opensesame" -Force
$cred = new-object system.management.automation.pscredential 'John',$passwd
Start-Process powershell.exe -credential $cred
此TechNet article包含有关使用凭据的脚本的更多信息。