我正在编写从批处理文件启动的小型PowerShell脚本,该脚本会将标准用户(登录后)更改为本地管理员。它需要完全自动化,我知道给定机器的管理员凭据。我想我会先传递管理员凭据,但是我无法绕过密码提示(因为它需要用户操作)。到目前为止,我有这个。
Start-Process powershell.exe -Credential "Domain\Username" -NoNewWindow -ArgumentList "Start-Process powershell.exe -Verb runAs"
$wshell = New-Object -ComObject wscript.shell;
$wshell.AppActivate('Windows PowerShell Credential Request')
Sleep 1
$wshell.SendKeys('SuperSecret')
Sendkeys目前还没有工作,当我尝试将其作为参数传递时,-Password
也没有。我不确定是否应该采用这种方法,或者是否有其他逻辑可以让我假设本地管理员而不会被提示开始。此外,这将在多台计算机上运行,但凭据是常量,因为它们都将位于同一网络上。