MDT自動獲取並生成計算機名

公司使用微軟的MDT來部署系統,默認MDT在每次部署系統時會自動生成一個隨機名字,因爲公司是域環境並有一套資產管理系統記錄序列號,計算機名,型號,資產號及資產Owner信息,每次手動去查詢很不方便,想到一個方法來通過腳本自動識別計算機名


大致的構想如下


  1. 通過資產系統的SQL數據庫定期生成CSV文件並保存在MDT路徑

  2. 通過VBS讀取CSV文件,通過WMI來查詢所部署機器的序列號

  3. 通過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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章