前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Windows设置开机启动挂载cfs,设置计划任务同步文件到cfs

Windows设置开机启动挂载cfs,设置计划任务同步文件到cfs

原创
作者头像
Windows技术交流
修改2023-05-09 20:36:55
2.4K0
修改2023-05-09 20:36:55
举报
文章被收录于专栏:Windows技术交流

一、配置自动登录

可以通过注册表来配,也可以通过Autologon配置

注册表配置示例:

把如下代码(具体化密码)另存为autologon.reg双击导入并重启机器即可实现自动登录(重启后打开vnc,发现已经自动登录到桌面)

代码语言:javascript
复制
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
"AutoAdminLogon"="1"
"DefaultUserName"="Administrator"
"DefaultPassword"="密码"

二、新建计划任务

配置自动登录后,运行taskschd.msc或者开始菜单 → Windows管理工具 → 任务计划程序 → 任务计划程序库 → 右侧空白处右击“新建任务”

如果是执行命令,管理员身份打开cmd,执行

代码语言:javascript
复制
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命令修改启动时间,例如

代码语言:javascript
复制
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的内容示例:

代码语言:javascript
复制
@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内容示例:

代码语言:javascript
复制
@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内容示例:

代码语言:javascript
复制
CreateObject("WScript.Shell").Run "net use g: 10.255.4.91:/r0gmnzbp /persistent:no",0

c:\vbs2.vbs内容示例:

代码语言:javascript
复制
CreateObject("WScript.Shell").Run "net use h: \\10.255.4.91\r0gmnzbp /persistent:no",0

c:\vbs3.vbs内容示例:

代码语言:javascript
复制
CreateObject("WScript.Shell").Run "net use p: 10.255.4.91:/r0gmnzbp /persistent:no",0

c:\vbs4.vbs内容示例:

代码语言:javascript
复制
CreateObject("WScript.Shell").Run "net use q: \\10.255.4.91\r0gmnzbp /persistent:no",0

c:\test.bat内容示例:

代码语言:javascript
复制
@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内容示例:

代码语言:javascript
复制
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 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、配置自动登录
  • 二、新建计划任务
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档