在 Windows 资源管理器中,我可以右键单击一个可执行文件并选择“以管理员身份运行”,这将使用提升的权限启动选定的进程,或者我可以右键单击可执行文件并单击“以不同用户身份运行”,指定用户名和密码将使用指定的用户上下文以标准权限启动进程。
如何以不同用户身份运行并在提升的上下文中运行?一个完美的例子是使用与当前登录用户不同的用户上下文打开提升的命令提示符。
Yas*_*ass 25
我认为不存在这样的选择。
作为一种变通方法,您可以以管理员身份启动命令行并执行以下命令以作为其他用户以管理员权限运行命令行。
runas /netonly /user:YourUser cmd.exe
Pau*_*ith 15
是的,psexec绝对可以做到这一点。
以下示例在 Windows 8.1 上运行良好;以管理员身份运行命令提示符,然后:
// -i makes the app interactive
// -h elevates the execution context
// Omitting the password forces a secure prompt
psexec -u DOMAIN\user -i -h "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe"
Run Code Online (Sandbox Code Playgroud)
小智 9
您可以通过 PowerShell 执行此操作:
Start-Process powershell -Credential domain\differentUserName -ArgumentList '-noprofile -command &{Start-Process "TheApp.exe" -verb runas}'
Run Code Online (Sandbox Code Playgroud)
我注意到这是一个非常古老的问题,但给出的答案并不理想,而且已经被淘汰了。所有现有的答案都需要输入古老的命令并知道可执行文件的确切路径。一个理想的选择是使用您已经用于权限提升的相同过程来实现这一点。
如果您使用的是非家庭版 Windows(Vista 到 10),您可以使用安全策略管理器使其在发生提升时提示您提供密码。它还为您提供了选择完全不同的用户并输入他们的密码的选项......这将导致提升的进程以他们的身份运行。
只需打开开始菜单并键入secpol.msc并按 Enter 键即可启动它(如果可用)。您正在寻找Local Policies> Security Options> User Account Control: Behavior of the elevation prompt for administrators in Admin Approval Mode> Prompt for credentials。Vista 有一个类似的选项,没有提到“管理员批准模式”,但它做同样的事情。
我认为这是一个比这里提供的其他选项更自然的选择,并且让人想起 *nix 上的 gksudo。但是,如果您的 Windows 版本不包含 secpol.msc,则您必须执行一些注册表操作才能启用它。
| 归档时间: |
|
| 查看次数: |
84384 次 |
| 最近记录: |