maichinshin
Newbie
- Registriert
- Feb. 2007
- Beiträge
- 2
Hallo zusammen,
ich bearbeite im Moment ein Projekt auf der Arbeit, das sich mit der Konsoldierung der vorhandenen BIOS-Einstellungen befasst.
Zu diesem Zweck wird mit einem Tool, dem "Dell Client Configuration Tool" eine vorher erstellte "Default-Einstellung" auf dem Client umgesetzt.
Da es ja mehrere Rechnertypen von Dell gibt, hab ich mir ein kleines Script in VBS geschrieben, um dies zu bewerkstelligen
In groben Zügen funktioniert das so: Es wird aus dem WMI das Rechnermodell ausgelesen, und dann mit einem Copy-Befehl das entsprechende Verzeichnis vom Server auf den Client kopiert (unter C:\Programme\DCCU)
In diesem Ordner befindet sich dann eine Struktur, z. B. :
C:\Programme\DCCU\OptiPlex GX260\01_BOOT_DEVICE\01_boot_device.exe
C:\Programme\DCCU\OptiPlex GX260\02_WOL\02_wol.exe
usw.
Mein Knackpunkt im Moment ist, das ich das Verzeichnis C:\Programme\DCCU auslesen muss, um die Ordnerstruktur komplett zu erfassen (soll dynamisch sein, damit man auf dem Server auch mal die Ordnerstruktur ändern kann, um besser skalieren zu können...und es soll möglichst wenig "Handarbeit" eingesetzt werden *G*)
Ich habe es bis jetzt erreicht, das die kompletten Pfade des Verzeichnisses in eine Textdatei übergeben werden, allerdings weigert er sich, mir auch die .exe anzeigen zu lassen
Hier mal der Code, vielleicht hat ja jemand eine Idee
Danke schon mal für eure Hilfe
ich bearbeite im Moment ein Projekt auf der Arbeit, das sich mit der Konsoldierung der vorhandenen BIOS-Einstellungen befasst.
Zu diesem Zweck wird mit einem Tool, dem "Dell Client Configuration Tool" eine vorher erstellte "Default-Einstellung" auf dem Client umgesetzt.
Da es ja mehrere Rechnertypen von Dell gibt, hab ich mir ein kleines Script in VBS geschrieben, um dies zu bewerkstelligen
In groben Zügen funktioniert das so: Es wird aus dem WMI das Rechnermodell ausgelesen, und dann mit einem Copy-Befehl das entsprechende Verzeichnis vom Server auf den Client kopiert (unter C:\Programme\DCCU)
In diesem Ordner befindet sich dann eine Struktur, z. B. :
C:\Programme\DCCU\OptiPlex GX260\01_BOOT_DEVICE\01_boot_device.exe
C:\Programme\DCCU\OptiPlex GX260\02_WOL\02_wol.exe
usw.
Mein Knackpunkt im Moment ist, das ich das Verzeichnis C:\Programme\DCCU auslesen muss, um die Ordnerstruktur komplett zu erfassen (soll dynamisch sein, damit man auf dem Server auch mal die Ordnerstruktur ändern kann, um besser skalieren zu können...und es soll möglichst wenig "Handarbeit" eingesetzt werden *G*)
Ich habe es bis jetzt erreicht, das die kompletten Pfade des Verzeichnisses in eine Textdatei übergeben werden, allerdings weigert er sich, mir auch die .exe anzeigen zu lassen
Hier mal der Code, vielleicht hat ja jemand eine Idee
Code:
Rem ***********************************************
Rem *** Abfrage des aktuellen Verzeichnispfades ***
Rem ***********************************************
Set fs = CreateObject("Scripting.FileSystemObject")
Set IFileSystem3 = CreateObject("Scripting.FileSystemObject")
dir_01 = ""
dir_01 = fs.GetAbsolutePathName("")
REM ***************************************************
REM *** Ermittlung des Systemmodels *
REM ***************************************************
Set objWMIService = GetObject("winmgmts:\\localhost\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_computersystem",,48)
For Each objItem In colItems
model = objItem.Model
Next
model = Trim(model)
REM *********************************************************************
REM *** Ermittlung des Programmverzeichnisses unter C:\ *
REM *** durch den Registry-Schlüssel *
REM *** HKLM\Software\Microsoft\Windows\CurrentVersion\ProgramFilesDir *
REM *** Anlegen des Ordners "DCCU" und kopieren des Modellverzeichnisses*
REM *********************************************************************
Set WSHshell = CreateObject("WScript.Shell")
progdir = WSHshell.RegRead("HKLM\Software\Microsoft\Windows\CurrentVersion\ProgramFilesDir")
verzeichnis = progdir & "\DCCU\"
If Not fs.FolderExists(verzeichnis) Then
fs.CreateFolder verzeichnis
End If
Set IWshShell3 = CreateObject("WScript.Shell")
Set IFolder = fs.GetFolder(dir_01 & "\" & model)
IFolder.Copy verzeichnis, True
REM *****************************************************
REM *** Ermittelung der Ordnerstruktur unter *
REM *** C:\Programme\DCCU\"Rechnermodell *
REM *****************************************************
Dim filesys 'Filesystemobjekt
Dim FolderList 'Ordnerliste
Set filesys = CreateObject ("Scripting.FileSystemObject")
Set hfolder= filesys.GetFolder(verzeichnis & model)
Set FolderList = hfolder.SubFolders
verzeichnis = verzeichnis & model
drive = verzeichnis
dateiname = "Ordnerstruktur.txt"
outputname = fs.Buildpath(drive, dateiname)
Set Output = fs.CreateTextFile(outputname)
For Each File In FolderList 'Dateien im Startverzeichnis werden ausgegeben
Output.write ("start /wait " & Chr(34) & File.path & Chr(34) & VbCrLf)
Next
Output.close
Danke schon mal für eure Hilfe