我正在运行一个 kiosk 类型的系统,其中用户的权限几乎为零。
我想在他们的桌面上放置一个图标,该图标将作为他们的 Active Directory 凭据运行特定程序。我熟悉 SysInternals ShellRunAs,但它需要右键单击,这意味着重新培训用户。
我是否可以通过让他们像往常一样双击图标来完成此操作,然后他们会收到输入用户名/密码的提示,然后执行该程序?
如果 PowerShell 是您的一个选项,PowerShell 脚本可以提示输入凭据,然后使用这些凭据启动进程。
Start-Process -FilePath "C:\Windows\notepad.exe" -Credential (Get-Credential)
Run Code Online (Sandbox Code Playgroud)
用户看到这个提示,然后进程就开始了。

您可以修改快捷方式以使用命令行RunAs实用程序。例如,这是一个快捷方式的目标,它将尝试以用户BillyBob 的身份在资源管理器中打开特定文件夹:
C:\Windows\System32\runas.exe /user:BillyBob "Explorer.exe F:\Projects"
Run Code Online (Sandbox Code Playgroud)
/user 参数还可以接受域凭据(硬编码,或使用 %USERDOMAIN% 环境变量:
C:\Windows\System32\runas.exe /user:%USERDOMAIN%\BillyBob "Explorer.exe F:\Projects"\BillyBob "Explorer.exe F:\Projects"
Run Code Online (Sandbox Code Playgroud)
用户名可以分配给%username%环境变量:
C:\Windows\System32\runas.exe /user:%username% "Explorer.exe F:\Projects"
Run Code Online (Sandbox Code Playgroud)
或者,域和用户名都来自环境:
C:\Windows\System32\runas.exe /user:%USERDOMAIN%\%username% "Explorer.exe F:\Projects"
Run Code Online (Sandbox Code Playgroud)
打开快捷方式后,cmd.exe将显示一个窗口,要求输入指定帐户的密码:
如果您需要用户输入用户名,那么事情会变得有点棘手,您必须将其放入 .bat 文件中:
@Echo Off
set INPUT=
set /P INPUT=Username: %=%
C:\Windows\System32\runas.exe /user:%INPUT% "Explorer.exe F:\Projects"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
47445 次 |
| 最近记录: |