WDS+MDT网络启动自动部署windows(十四)如何调试自定义任务脚本
简介:#
为了使MDT在系统安装时执行自定义操作,可以写vbs脚本或wsf脚本。
调试这些脚本确实是很有难度的事,我在上一篇设置计算机描述的实验中,尝试了两天,才完成测试,为什么呢?因为每次测试都用模拟机安装一遍windows,最近一个月,真的超过了几百遍重装windows。
中断(暂停MDT安装)#
会编程调试的伙伴都了解这个概念,在任务执行时暂停,以查看在这个程序运行到这个地方时各变量的值。
常见的其实是bat脚本中的pause,按任意键继续。
@echo off echo bat暂停脚本 pause
想办法给MDT打个断点吧。
我一直是在仿写wsf脚本,那么就写个wsf的断点吧。
# Bug manufacturing breakpoint
# test_puase.wsf
<?xml version="1.0" encoding="utf-8"?> <job> <script language="VBScript"> <![CDATA[ test puase ]]> </script> </job>
其实这不算断点,算bug。
放入mdt任务序列,自定义command line任务。
cscript %scriptroot%/test_puase.wsf
类似这样
由于wsf是个错误的脚本,所以执行错误,就停了下来。
另一种中断#
还有一种中断,在MDT中加入一个需要手动点击的安装程序,我是在测试notepad++时偶然发现的,现补充上来。
app增加notepad++,任务序列自己加一个安装单独软件,放在restore中,那么执行的时候就会跳出notepad++的安装,由于没有完成,所以等待你的输入,当你手动下一步完成,则任务序列继续。
这种中断是可以继续的,直接发错误的任务脚本,是无法继续的。
是否可以做脚本提示输入,或者msgbox,就需要大家测试了。
测试脚本#
访问wds共享
找到你的脚本随意测试吧。直接双击就可以了。
别管什么vbs,wsf,ps1。只要这里能执行,你就可以放心写入任务序列的自定义任务。
只是需要注意脚本路径,写为%SYSTEMROOT%,就是共享目录的Scripts目录
只是不能测试变量,也不知道它自动脚本是从什么地方获取变量的。
启动命令参考:
vbs:
ocscript.exe "%SCRIPTROOT%\*****.vbs"
wsf:
wsf带参数:
ps1:
前面介绍过
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\powershell.exe -STA -NoProfile -ExecutionPolicy Bypass -File "%SCRIPTROOT%\Custom\ChooseDisk\Choose_Smallest_Disk.ps1"
作者:上官飞鸿
出处:https://www.cnblogs.com/jackadam/p/18174177
版权:本作品采用「知识共享-署名-非商业性-禁止演绎(CC-BY-NC-ND)」许可协议进行许可。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战