Windows - Windows 2003 script-gyűjtemény

forráskód letöltése
Cikkünkben bemutatunk néhány olyan jól ismert funkciót script-ből vezérelten, amelyet eddig csak felhasználói felületen keresztül, vagy parancssorból tudtunk megvalósítani. Ilyenek a formázás, defragmentálás, kötetcímke váltás.
A cikkünkben szereplő valamennyi script csak Windows 2003 szerveren alkalmazható!
Egy kötet töredezettségének analizálása
A defraganalyze.vbs segítségével a töredezettség státuszát vizsgálhatjuk meg számítógépünk valamennyi kötetén. Ez megfelel annak, mintha a defrag.exe-t futtattuk volna az -a (analyze) és a -v (verbose) opciókkal.
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colVolumes = objWMIService.ExecQuery("Select * from Win32_Volume")
For Each objVolume in colVolumes
errResult = objVolume.DefragAnalysis(blnRecommended, objReport)
Az itt látható kódrészlet először lekérdezi a lokális gép köteteit, majd futtatja a DefragAnalysis metódust a köteten.
Meghajtó címváltás
A driveletterchange.vbs segítségével egy meghajtó címzését változtathatjuk meg pl. D-ről Q-ra. Ügyeljünk arra, hogy a megváltoztatandó meghajtó azonosítóját a script-ben is látható formában kell megadnunk: 'D:\\'. Az új meghajtó név esetén elég a kettőspont.
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colVolumes = objWMIService.ExecQuery("Select * from Win32_Volume Where Name = 'D:\\'")
For Each objVolume in colVolumes
objVolume.DriveLetter = "Q:"
objVolume.Put_
Next
Meghajtó defragmentálása
A mellékelt script töredezettség-mentesíti a megadott meghajtót. A meghajtó nevének megadásánál az előző script-ben már tapasztalt megkötésre kell ügyelnünk.
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colVolumes = objWMIService.ExecQuery("Select * from Win32_Volume Where Name = 'D:\\'")
For Each objVolume in colVolumes
errResult = objVolume.Defrag()
Next
Kötet formázása
A script formázza a megadott meghajtót. Ebben a példában NTFS-re, de lehetőségünk van FAT vagy FAT32 megadására is. A meghajtó nevének megadásánál az előző script-ben már tapasztalt megkötésre kell ügyelnünk.
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colVolumes = objWMIService.ExecQuery("Select * from Win32_Volume Where Name = 'D:\\'")
For Each objVolume in colVolumes
errResult = objVolume.Format("NTFS")
Next