windows – 无法将sessionID 0连接到psexec的sessionname控制台.bat

前端之家收集整理的这篇文章主要介绍了windows – 无法将sessionID 0连接到psexec的sessionname控制台.bat前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试强制VM将当前用户注销,并通过运行.bat脚本将会话发送到控制台.

如果我在VM上手动运行包含以下内容的.bat文件,我可以正常工作:

%windir%\System32\tscon.exe 0 /dest:console

但是,当使用psexec或paexec调用相同的.bat时:

c:\>psexec.exe \\virtualmachine -u domain\username -p password -h cmd /c
c:\user\atest\desktop\test.bat

我被拒绝访问:

Could not connect sessionID 0 to session name console,Error code 5
Error [5]:Access is denied. C:\windows\system32\tscon.exe exited on
virtualmachine with error code 1.

或者,我尝试过(相同的结果):

C:\>PsExec.exe \\virtualmachine -u domain\username -p password -h
C:\windows\system32\tscon.exe 0 /dest:console

我不确定我哪里出错了,因为这会启动iexplore.exe罚款:

C:\>PsExec.exe \\virtualmachine -u domain\username -p password -h "c:\program files\internet explorer\iexplore.exe"

解决方法

问题是因为用户是通过RDP连接的,它不是会话0.我必须运行“查询用户”来获取RDP连接的会话ID,然后使用“-i”将其传递给PsExec,如下所示:

C:\>PsExec.exe -s -i $id \\virtualmachine c:\windows\system32\tscon.exe $id /dest:console

因为它作为系统(-s)运行,所以我不需要传递任何身份验证.

This回答帮助我了解会话的概念,希望它能帮助别人.

猜你在找的Windows相关文章