Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 无法从psexec将sessionID 0连接到sessionname控制台.bat_Windows_Batch File_Psexec - Fatal编程技术网

Windows 无法从psexec将sessionID 0连接到sessionname控制台.bat

Windows 无法从psexec将sessionID 0连接到sessionname控制台.bat,windows,batch-file,psexec,Windows,Batch File,Psexec,我试图通过运行.bat脚本,强制VM注销当前用户并将会话发送到控制台 如果我在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.ba

我试图通过运行
.bat
脚本,强制VM注销当前用户并将会话发送到控制台

如果我在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
我的访问被拒绝:

无法将会话ID 0连接到会话名称控制台,错误代码5 错误[5]:访问被拒绝。C:\windows\system32\tscon.exe已于退出 错误代码为1的虚拟机

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

我不确定哪里出了问题,因为这会启动
iexplore.exe
fine:

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

问题是因为用户是通过RDP连接的,而不是会话0。我必须运行“query user”来获取RDP连接的会话ID,然后使用“-I”将其传递到PsExec,如下所示:

因为这是作为系统(-s)运行的,所以我不需要通过任何身份验证


答案帮助我理解了会话的概念,希望它能帮助其他人。

我有一个批处理文件,在结束RDP会话并保持主机屏幕未锁定的情况下工作了多年,它有sessionid为0到10的条件以防万一。然后在本周windows更新加载后,它停止工作,我在批处理文件的结果中不断收到7045个错误。RDP会话将关闭,但主机屏幕已锁定。主机运行留言板,因此这是不可接受的,并且机器安装在天花板上,因此无法使用鼠标或键盘

我搜了一吨,没有发现任何比这更有效的方法。然后我偶然发现了这个,当我运行这个powershell命令时,我的问题就解决了。到目前为止,它工作得非常好,但是您不必知道sessionID或名称,也不必在文本或批处理文件中传递密码

@powershell-NoProfile-ExecutionPolicy unrestricted-Command“$sessionid=((quser$env:USERNAME | select-Skip 1)-split'\s+')[2];tscon$sessionid/dest:console“2>unlockerors.log


只需将脚本复制到一个文本文件中,将其重命名为something.cmd,然后在主机桌面上创建该脚本的快捷方式,然后转到“属性”,选择“高级”,并以管理员身份运行该脚本。容易的。在win7 pro上工作。我在这里找到了脚本

下面的命令也遇到了同样的问题 命令–tscon SessionID/dest:控制台/密码:****

解决方案:我做了很多工作,终于知道问题出在密码上。i、 e.密码长度不得超过13个字符。但在本例中,密码=20个字符


后来我把密码改为****(12个字符),问题就解决了。

谢谢。这个解决方案对我也有效。现在我可以继续使用月光了!太棒了!我喜欢圣诞节在二月来临,我也遇到了同样的问题。我不喜欢这样,我们需要减少密码长度来使用tscon。很容易在本地windows帐户上强制使用13个字符的密码。
C:\>PsExec.exe \\virtualmachine -u domain\username -p password -h "c:\program files\internet explorer\iexplore.exe"
C:\>PsExec.exe -s -i $id \\virtualmachine c:\windows\system32\tscon.exe $id /dest:console