如何在 Windows 10 的“开始”菜单中以不同的用户身份运行?

如何在 Windows 10 的“开始”菜单中以不同的用户身份运行?

从开始菜单(通过 Shift + 右键单击​​应用程序)以不同的用户身份(例如域管理员帐户)运行应用程序曾经是 Windows 7 和 XP 中的一个选项。

但是,我在 Windows 10 中找不到该选项。解决方法似乎是 1) 在 Windows 资源管理器中找到该应用程序(shift + 右键单击​​)或 2) 从命令行使用 runas.exe。

但是,为了使用这些解决方法,我必须先查找可执行文件的名称。这有点困难,因为我没有记住每个 RSAT 工具的名称或可执行文件的名称。

(例如“Active Directory 用户和计算机”是 dsa.msc,“路由和远程访问”是 rrasmgmt.msc)

有没有更简单的方法可以做到这一点?

答案1

  1. 按 Windows + R 组合键打开注册表编辑器,输入regedit 并按 Enter。如果 UAC 提示,请单击“是”继续。
  2. 转到HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\Explorer- 如果找不到此项,则右键单击并在 Windows 下添加 Explorer 项并添加 DWORD 值ShowRunasDifferentuserinStart
  3. 在右侧窗格中,右键单击ShowRunasDifferentuserinStart 键,然后单击“修改”。
  4. 在数值数据框中输入 1 值
  5. 单击“确定”保存设置。
  6. 关闭注册表编辑器。重新启动系统。

重新启动后,您应该有“以不同用户身份运行选项”,有时位于“更多”下拉菜单下。

我已经在多个加入域和未加入域的 PC 上完成了此操作,效果非常好。

来源:windows10update.com

答案2

您只需右键单击快捷方式即可。

在此处输入图片描述

您还可以创建一个快捷方式并使用“runas”,与任何版本的 Windows 相同,如下所述回答经过克里斯·德怀尔

  1. 右击 > 新建 > 快捷方式
  2. 对于目标,键入“runas /user:ComputerName\administrator program.exe”

.....

使用 runas 命令创建快捷方式

.....

您还可以使用开始返回++即可重新获得该功能。

在此处输入图片描述

如果无法使用 StartIsBack++ 之类的程序,您可以通过将“开始菜单和任务栏”Show "Run as different user" command on Start组策略设置为已启用

在此处输入图片描述

在此处输入图片描述

相关 - 如何在 Windows 8 和 8.1 中的“开始”应用程序栏上添加或删除“以不同用户身份运行”

答案3

还有另一种(可能是新的)解决方案可以启用此功能,它比其他提供的解决方案简单得多。只需导航到设置>更新和安全>对于开发人员,并根据Windows资源管理器您可以看到可应用事物的列表。

乍一看,你可能有点难以理解这个列表,但我相信它的工作原理是这样的:如果它是灰色的,那么这意味着这个特定的东西已经是这样的(启用),然后点击申请将启用那些未变灰且当前被选中的按钮。

根据我刚才的描述,如果只想启用更改策略以在“开始”中显示以不同用户身份运行,他/她必须移除所有其他人的支票并击中申请

最后,下面是我所谈论的特定设置的屏幕截图:

在此处输入图片描述

答案4

只要辅助登录服务 ( seclogon) 正在运行,以下代码块就允许批处理文件和 VBScript 文件的组合来自动执行任务。批处理文件使用相对路径引用,允许将文件放置在允许当前和选定用户帐户至少具有读取权限的任何路径中。两个文件应位于同一路径内。将 和ShellExecute动词 一起使用runasuser会导致 Windows 弹出提示,允许用户从主机允许的任何登录方法中进行选择。

可以将此过程添加到用户启动过程中,以便一旦登录计算机系统就会发生。

批处理文件:{RunAsUser}{CMD}.cmd

@Echo Off

If "%~1" NEQ "/CALLBACK" Goto :label_Process_Run_As_User

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
REM Start the process once running as designated user
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

cd C:\
start "" %~dp0cmd.lnk

Goto :EOF

:label_Process_Run_As_User

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
REM Section below verifies if Secondary Login is available
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

REM Query [Secondary Logon]
sc query seclogon 1> nul 2> nul || (
    Goto :label_Missing_Secondary_Login
)

REM Check to see if [Secondary Logon] service is not disabled
sc qc seclogon | Find /i "START_TYPE" | Find /i "DISABLED" 1> nul 2> nul && (
    Set flg.SecLog.Enabled=F
) || (
    Set flg.SecLog.Enabled=T
)

REM Check to see if [Secondary Logon] service is Running
sc queryex seclogon | Find /i "STATE" | Find /i "RUNNING" 1> nul 2> nul && (
    Set flg.SecLog.Running=T
) || (
    Set flg.SecLog.Running=F
)

REM Determine if action should work
If /i "%flg.SecLog.Enabled%:%flg.SecLog.Running%" EQU "F:F" Goto :label_Secondary_Login_Unavailable

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
REM Section below starts the RunAsUser process
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

REM System configuration was validateed and RunAsUser will commence

Set "str.SELF=%~0"

WSCRIPT /E:VBSCRIPT "%~dp0RunAsUser.txt"

Goto :EOF

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
REM Section below provides written notices to user for error conditions
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

:label_Secondary_Login_Unavailable
Echo.
Echo Unable to utilize the Secondary Logon system service because it is disabled.
Echo.
pause
Goto :EOF

:label_Missing_Secondary_Login
Echo.
Echo Unable to find the Secondary Logon system service
Echo.
pause
Goto :EOF

VBScript 文件:RunAsUser.txt

'-------------------------------------------
'
' Launch Process RunAsUser
CreateObject("Shell.Application").ShellExecute CreateObject("WScript.Shell").Environment("PROCESS")("str.SELF"), "/CALLBACK", "", "runasuser", 1
'
' Display a message box to pause script
msgbox "Enter username or select Certificate for account" & vbCrLf & "On the windows dialog that will popup." & vbCrLf & vbCrLf & "Click OK once process opens", vbokonly
'
' Quit the script
On Error Resume Next
Window.Close ' HTA Must be Closed Through the Window Object
Err.Clear
Wscript.Quit ' VBS Must be Closed Through the Wscript Object
Err.Clear
On Error Goto 0
'
' ----------------------------------------------------------------------

相关内容