请教个问题,在 win10里runas /user:operator cmd后只是拉起了一个operator运行了命令行,如何拉起operator用户的桌面,实现完全切换用户,感谢!
可以理解为写一个 一键切换用户.bat
参考GPT:要切换到用户的桌面,可以使用Windows提供的 "tscon" 命令。 "tscon" 命令可用于连接到已登录到计算机上的会话。通过连接到用户会话,您可以访问其桌面。
下面是一键切换用户的示例批处理文件(.bat文件):
@echo off
rem Replace "username" with the name of the user you want to switch to.
set username=username
rem Find the session ID of the user you want to switch to.
for /f "tokens=3" %%s in ('query user ^| findstr /r /c:"%username%"') do set sessionid=%%s
rem Connect to the user's session.
tscon %sessionid%
在这个脚本中,您需要将 "username" 替换为您要切换到的用户的名称。脚本使用 "query user" 命令查找与用户名匹配的会话ID,然后使用 "tscon" 命令连接到该会话。要运行此脚本,您需要以管理员身份运行命令提示符窗口。
参考如下
::批处理实现win7一键切换用户
::以下代码可自动触发win7 “uac”,既可自动判断当前用户是否为管理员运行,如果不是会
::弹出“是否以管理员身份运行”窗口!防止已开启“uac”的用户,解决无权限问题!
::同时也免去右键“以管理员身份运行”此操作!
@pushd "%temp%"
@echo.>%systemroot%\tektea.uac
@if exist %systemroot%\flyfish.uac goto startwithadmin
@echo set uac = createobject^("shell.application"^)>fadm.vbs
@echo uac.shellexecute "%~0", "%*", "", "runas", 1 >>fadm.vbs
@fadm.vbs
@goto :eof
:startwithadmin
@del %systemroot%\tektea.uac
@if exist fadm.vbs del fadm.vbs
@pushd "%~dp0"
::启用windows “secondary logon” (二次登录)服务,有的系统防护软件可能禁用了此服务!
sc config seclogon start= auto
net start seclogon
::结束当前桌面程序
taskkill /im explorer.exe /f
::使用runas指定要切换的用户并启动到该用户桌面,如果要切换的账户未登录,首次此处会提示输入要切换用户的密码!
runas /savecred /profile /user:administrator %systemroot%\explorer.exe
::ping本地5次,实现延时查看是否已“禁用空密码登录”(如果未成功切换!)
https://jiuaidu.com/jianzhan/909366/
不知道你这个问题是否已经解决, 如果还没有解决的话:如果需要经常重启这张网卡的话,可以保存到bat批处理文件中去,不用再反复的敲命令行了,解放双手更方便。复制我的代码,将VMware Network Adapter VMnet8替换为你要重启的网卡名称即可。
代码如下:
@echo off
echo.
echo 正在重启网卡VMnet8
netsh interface set interface "VMware Network Adapter VMnet8" disable
echo 网卡已关闭
netsh interface set interface "VMware Network Adapter VMnet8" enabled
echo 网卡重启成功
pause
以管理员的身份运行bat程序
大功告成!!!
补充:更懒的人还可以将bat程序设置开机自启等,比如:
将其添加到开机自启文件夹,参考链接:
window10设置开机后自启动.bat文件将其添加到任务计划中去,参考链接:Windows通过计划任务定时执行bat文件