通过winrm、自动化助手tat无法达到在系统内部执行命令的效果时,可以尝试这种办法:
保持vnc登录状态,通过tat创建计划任务,再触发计划任务执行
比如以前我在A机器winrm远程到B机器,调用B机器的3dsmax跑渲染失败后来我用了上面这个办法则OK
还有一次,我通过系统内部执行.vbs脚本进行windows update执行脚本OK,但是通过winrm调用执行这个.vbs脚本执行到中途会异常退出,后来用了上面这个办法试则OK
有的程序在电脑上执行没问题就是因为电脑登录状态且一直有屏幕,因此要设置自动登录,这样机器每次重启后就会自动进入桌面(vnc是已登录状态),进入桌面的时候就会执行startup目录的程序
startup目录有2个:
当前用户startup目录,比如
运行shell:startup
C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
公用startup目录:
运行shell:common startup
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup
设置了自动登录和开机计划任务,开机计划任务可能由于多种原因并未达到预期效果的话,设置自动登录并将程序快捷方式放置在startup目录尤其是公用startup目录则一定能执行到。
#具体化密码
#具体化密码
#具体化密码
#设置自动登录
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "DefaultUserName" /d "Administrator" /t REG_SZ /f
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "DefaultPassword" /d "密码" /t REG_SZ /f
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "AutoAdminLogon" /d "1" /t REG_SZ /f
#提前在B机器演练好一个可以成功跑完渲染的.bat文件,比如D:\doubleclick.bat,然后创建计划任务调用这个.bat即可
#如果是自动化助手TAT下发指令,建议指定用户级别为Administrator,如果是默认的SYSTEM用户级别,一些命令的参数格式可能会有出入
schtasks.exe /create /tn "\Microsoft\Windows\doubleclick.bat" /ru Administrator /rl highest /sc ONLOGON /tr "cmd.exe /c D:\doubleclick.bat" /f
schtasks /change /tn "\Microsoft\Windows\doubleclick.bat" /st 00:00 /sd 1900/01/01 /ru Administrator /rp "密码"
schtasks /run /tn "\Microsoft\Windows\doubleclick.bat"
schtasks /change /tn "\Microsoft\Windows\doubleclick.bat" /DISABLE
schtasks /delete /tn "\Microsoft\Windows\doubleclick.bat"
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。