簡介:
為了使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是個錯誤的指令碼,所以執行錯誤,就停了下來。
測試指令碼
訪問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"