Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.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
Batch file 通过.bat文件登录到windows_Batch File - Fatal编程技术网

Batch file 通过.bat文件登录到windows

Batch file 通过.bat文件登录到windows,batch-file,Batch File,情况是这样的:我有一个.bat文件,windows调度器每15分钟启动一次。但是,当系统注销时,用户操作不会被执行。我想知道,是否可以在.bat文件中添加一些代码,使其再次登录到系统 如果用户注销,TaskScheduler wheter中也有一个运行任务的选项。当用户注销时,如果屏幕转到CTRL+ALT+DEL登录屏幕,祝你好运。还没有人找到一种方法来强制windows从任何编程语言中识别CTRL+ALT+DEL。甚至VBScript SENDKEYS都不能做到这一点。但是,如果直接转到用户登

情况是这样的:我有一个.bat文件,windows调度器每15分钟启动一次。但是,当系统注销时,用户操作不会被执行。我想知道,是否可以在.bat文件中添加一些代码,使其再次登录到系统

如果用户注销,TaskScheduler wheter中也有一个运行任务的选项。当用户注销时,如果屏幕转到CTRL+ALT+DEL登录屏幕,祝你好运。还没有人找到一种方法来强制windows从任何编程语言中识别CTRL+ALT+DEL。甚至VBScript SENDKEYS都不能做到这一点。但是,如果直接转到用户登录以输入名称和密码,则可以创建一个小的.vbs sendkeys脚本,以便在运行.bat之前自动登录用户:

login.vbs

set wshShell = WScript.CreateObject("WSCript.shell")

wshShell.sendkeys "Username"
wscript.sleep 1000
wshShell.sendkeys "{Tab}"
wscript.sleep 1000
wshShell.sendkeys "Password"
wscript.sleep 1000
wshShell.sendkeys "{ENTER}"
WScript.Quit
即使用户已注销,也将其放入windows计划程序以运行。或者更好的是,如果您想让它在用户注销15分钟后自动登录,您可以将它添加到该计算机的本地组策略中:

在运行类型gpedit.msc中导航到本地计算机策略->用户 配置->Windows设置->脚本(登录/注销)双击 单击注销并点击添加。。。在“脚本名称”中,输入脚本的路径 .vbs并点击ok。在.vbs文件的开头,添加


这将迫使它等待15分钟,然后在用户注销时自动运行脚本的其余部分。

我承认,这不是对您的问题的回答,而是对您的问题的解决方案:)是的,我知道:)但重点是my.bat启动SAP登录应用程序,因此如果用户注销,则无法执行此操作。当调度器启动任务时,有没有办法自动登录到系统中?啊:这现在就有意义了。您可以尝试使用runas参数执行命令吗?)没用。正如我在登录系统后看到的,SAP登录窗口不存在,但进程(saplogon.exe)正在运行。SAP的单点登录机制非常奇怪和不标准。您可能需要特别关注这一点,并在SAP论坛上提问。如果有帮助的话,如果您尝试通过远程会话(psexec)运行脚本,您可能会遇到同样的问题,因此可能更容易调试注销和等待。谢谢,现在看起来很清楚-至少我知道这几乎是不可能的。但脚本不起作用:)
wscript.sleep 900000