可以通过注册表来配,也可以通过Autologon配置
注册表配置示例:
把如下代码(具体化密码)另存为autologon.reg双击导入并重启机器即可实现自动登录(重启后打开vnc,发现已经自动登录到桌面)
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
"AutoAdminLogon"="1"
"DefaultUserName"="Administrator"
"DefaultPassword"="密码"
配置自动登录后,运行taskschd.msc或者开始菜单 → Windows管理工具 → 任务计划程序 → 任务计划程序库 → 右侧空白处右击“新建任务”
如果是执行命令,管理员身份打开cmd,执行
schtasks.exe /create /tn "RunWhenStart" /ru Administrator /rl highest /sc ONSTART /delay 0000:59 /tr "cmd.exe /c c:\task.bat" /f
执行完成后手动修改下触发程序里的触发条件的启动时间为1900年的1月1日0点(因为默认启动时间是创建任务的那一刻的时间,关机后再开机,当时时间服务没起来,少8个小时,启动时间在接近未来8小时,可能会导致重启后任务不能立即执行,而手动修改启动时间到1900年1月1日0点就没有这个问题了)
当然,也可以执行schtasks.exe /change命令修改启动时间,例如
schtasks /create /tn "MyTask" /ru SYSTEM /rl highest /tr "powershell.exe -File C:\tasks.ps1" /sc onstart /delay 0000:30 /f 2>$null
schtasks /change /tn "MyTask" /st 00:00 /sd 1900/01/01
c:\task.bat的内容示例:
@echo off
start /w /b c:\vbs.bat
c:\sleep.exe 40
schtasks.exe /create /tn "copy" /ru Administrator /rl highest /SC DAILY /MO 1 /tr "cmd.exe /c c:\test.bat" /ST 00:00 /RI 5 /DU 24:00 /f
echo end>c:\end.log
exit
c:\sleep.exe(2003年的Windows资源工具包包含sleep.exe命令,我已经提取)
http://windows-1251783334.cos.ap-shanghai.myqcloud.com/sleep.exe
timeout /nobreak /t 40跟c:\sleep.exe 40有区别,后者更优
c:\vbs.bat内容示例:
@echo off
wscript.exe /nologo c:\vbs1.vbs
wscript.exe /nologo c:\vbs2.vbs
wscript.exe /nologo c:\vbs3.vbs
wscript.exe /nologo c:\vbs4.vbs
timeout /nobreak /t 40
subst W: P:\
c:\windows\explorer.exe
exit
subst命令基于共享路径创建的盘符带红叉,但能正常使用
c:\vbs1.vbs内容示例:
CreateObject("WScript.Shell").Run "net use g: 10.255.4.91:/r0gmnzbp /persistent:no",0
c:\vbs2.vbs内容示例:
CreateObject("WScript.Shell").Run "net use h: \\10.255.4.91\r0gmnzbp /persistent:no",0
c:\vbs3.vbs内容示例:
CreateObject("WScript.Shell").Run "net use p: 10.255.4.91:/r0gmnzbp /persistent:no",0
c:\vbs4.vbs内容示例:
CreateObject("WScript.Shell").Run "net use q: \\10.255.4.91\r0gmnzbp /persistent:no",0
c:\test.bat内容示例:
@echo off
date /t>>c:\log.txt
time /t>>c:\log.txt
copy /y c:\vbs* y:\>>c:\log.txt
exit
以上这些实现了:创建开机计划任务,先挂网络盘,然后基于已挂好的网络盘用subst命令创建一个盘符出来,然后创建计划任务每隔5分钟执行一次包含copy动作的c:\test.bat
也可以通过在startup目录放.cmd、.bat、.vbs来设置开机任务
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\
RunWhenStart.cmd内容示例:
psexec64.exe -accepteula -nobanner -is cmd.exe /c start /w /min mount -o nolock mtype=hard 10.255.4.91:/r0gmnzbp X:
mount -o nolock mtype=hard 10.255.4.91:/r0gmnzbp y:
@rem c:\windows\explorer.exe
@rem copy /y c:\vbs* y:\
psexec64那句是提权到system用户下执行了挂载cfs的命令,以system用户挂载cfs形成的盘符图标是带红叉的,能正常访问
mount那句就是普通挂载,并没有提权,因此形成的盘符图标是不带红叉的
下图中的红叉盘符,W:是subst命令产生的,X:是提权后产生的,都能正常访问
网络挂盘图标有红叉时,打开powershell会有个提示,忽略即可
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。