標籤:mdt 自動識別電腦名稱 批量部署系統
公司使用微軟的MDT來部署系統,預設MDT在每次部署系統時會自動產生一個隨機名字,因為公司是域環境並有一套資產管理系統記錄序號,電腦名稱,型號,資產號及資產Owner資訊,每次手動去查詢很不方便,想到一個方法來通過指令碼自動識別電腦名稱
大致的構想如下
通過資產系統的SQL資料庫定期產生CSV檔案並儲存在MDT路徑
通過VBS讀取CSV檔案,通過WMI來查詢所部署機器的序號
通過VBS來比對本機序號,查詢CSV庫,返回對應的電腦名稱並賦值
有了思路就開始實施
MDT系統時通過DeployWiz_ComputerName.vbs這個檔案來處理電腦名稱的,對該檔案做如下更改即可
z:\Tools-Scripts\assets.csv為CSV檔案所在路徑,Z:為MDT伺服器端目錄的網路掛在盤符。
Option Explicit
dim SerialNum,os_pc_name,objWMIService,colItems,objItem
Dim fso, radfile, MyFile, SearchString, MyPos,tempdata,fileobj ‘, username, SearchChar
os_pc_name=""
Set objWMIService = GetObject("winmgmts://./root/cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_BIOS", , 48)
For Each objItem In colItems
SerialNum = objItem.SerialNumber
Next
Set fso = CreateObject("Scripting.FileSystemObject")
If (fso.FileExists("z:\Tools-Scripts\assets.csv")) Then
radfile="z:\Tools-Scripts\assets.csv"
end if
If (fso.FileExists("z:\mdt\Tools-Scripts\assets.csv")) Then
radfile="z:\mdt\Tools-Scripts\assets.csv"
end if
‘ Set MyFile= fso.OpenTextFile(radfile, 1 , TRUE)
If (fso.FileExists(radFile)) Then
Set fileObj = fso.GetFile(radfile)
Set MyFile= fileobj.OpenAsTextStream(1,-2)
Do While MyFile.AtEndOfLine <> True
SearchString=MyFile.ReadLine
MyPos = Instr(SearchString, SerialNum)
if MyPos > 0 then
tempdata=split(SearchString,",")
os_pc_name=trim(tempdata(0))
oEnvironment.Item("OSDComputerName") = os_pc_name ‘ added to set ComputerName *******************
end if
loop
MyFile.Close
end if
本文出自 “笑傲風雲” 部落格,謝絕轉載!
MDT自動擷取並產生電腦名稱