在 Windows 10 中以不同用户身份运行程序的脚本

在 Windows 10 中以不同用户身份运行程序的脚本

我有一台 Windows 10 PC,其中有一个管理员帐户和一个普通用户帐户。我想编写一个 Powershell 脚本,以便从管理员帐户运行普通用户帐户中的程序。因此,我将从管理员帐户运行脚本,然后 UI 会弹出到用户帐户中。用户帐户将与管理员同时登录。我尝试使用 psexec.exe,但 UI 在用户帐户中显示为空白且无响应。这可能吗?如果可以,我该怎么做?谢谢

答案1

start-process powershell -Credential $user

在哪里https://serverfault.com/questions/95431/in-a-powershell-script-how-can-i-check-if-im-running-with-administrator-privil显示如何检查您是否是管理员以确认这一点:

$currentPrincipal = New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent())
$currentPrincipal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)

因此,我以管理员身份启动了 Powershell,使用它来检查它是否为管理员,然后在从该进程启动另一个 Powershell 进程后确认该进程不处于管理员模式。

这应该可以满足您的需要。

如果您想避免输入密码提示,可以生成一个凭据对象以在凭据参数中使用。我建议检查此处的选项:https://techcommunity.microsoft.com/t5/office-365/cred-get-credential-without-asking-for-prompts-in-powershell/mp/483274

相关内容