PsExec和tscon介绍
tscon(https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/tscon)
连接到远程桌面所有连接中其他一个连接
命令形式
tscon {<SessionID> | <SessionName>} [/dest:<SessionName>] [/password:<pw> | /password:*] [/v]
例如:
tscon.exe 2 /dest:console
其中2是sessionId,可以通过Query Session查询需要的session id
(psexec)https://docs.microsoft.com/en-us/sysinternals/downloads/psexec
PsExec.exe \\Host cmd 可以在本地打开一个远程主机的控制台
PsExec.exe -s -i 2 \\Host cmd\\可以在指定连接打开控制台,其中2是连接的SessionId
PsExec.exe -s -i 2 \\Host c:\Users\xxx\tsc.bat 可以以指定session启动bat脚本
在RDP模式下,如果不借助vnc又想使用到远程主机的GPU(例如opengl或者一些cuda)则可以采用:
tscon id /dest:console
start xxx.exe
的方式启动对应的程序,然后再重新连接,也可以使用Psexec命令直接启动远程图形程序之后再连接;
有没有别的更好的办法,vnc打开blankscreen之后好像不行;
rdp连接快捷bat
@echo off FOR /F "tokens=* USEBACKQ" %%F IN (`powershell "[Text.Encoding]::UTF8.GetString([convert]::FromBase64String('cGFzc3dvcmQ='))"`) DO ( SET pass=%%F ) cmdkey /add:hostIp /user:domain\userName /pass:$pass start /wait mstsc /v:hostIp:3389 cmdkey /delete:hostIp
cGFzc3dvcmQ=即password的base64编码
如果提示管理员不允许使用保存的凭证,需要修改客户机的组策略
参考:
bat中获取管理员权限
https://stackoverflow.com/questions/1894967/how-to-request-administrator-access-inside-a-batch-file
@echo off if not "%1"=="am_admin" (powershell start -verb runas '%0' am_admin & exit /b) echo main code here pause
https://stackoverflow.com/questions/4451668/bat-file-to-open-cmd-in-current-directory
- 点赞
- 收藏
- 关注作者
评论(0)