[ADD-ON-WIN-XP/7] Geräteabhängige Treiberinstallation

Antworten
mr.quickly
Beiträge: 157
Registriert: 11 Nov 2008, 15:17

[ADD-ON-WIN-XP/7] Geräteabhängige Treiberinstallation

Beitrag von mr.quickly »

Hallo zusammen,

wir haben soeben eine Geräteabhängige Treiberinstallation realisiert. Dies könnte einigen von euch, sowie den Opsi-Support interessieren.

Es geht darum, dass einige Treiber per Setup installiert werden müssen, um alle Geräte Funktionen zu aktivieren (z.B. Fingerprint, Bluetooth, UMTS, usw.).
Wir haben dazu ein Visual Basic Script (.vbs) erstellt, welches das Computermodell abprüft und dann entsprechende Treiber mit dem lokalen Admin nachinstalliert.

Hier das Script (einfach z.B. als "install_device_drivers.vbs" speichern):

Code: Alles auswählen

'Getinfo.vbs - used to get information on your computer
'

Dim strComputer, objWMIService, colSettings, intProc, strUser, strPassword, strDriveLetter, strHomeServer, strProfile

strDriveLetter = "Z:"
strHomeServer = "\\opsi\opt_pcbin\install"
strProfile = "False"   ' Mapping (not) stored in user Profile
strUser = "pcpatch"
strPassword = "<DEIN PASSWORT>"

strComputer = "."

' Attach to WMI

Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set WshShell = WScript.CreateObject("WScript.Shell")
Set objNetwork = CreateObject("Wscript.Network")
Set ObjFSO = CreateObject("Scripting.FileSystemObject")

Set colSettings = objWMIService.ExecQuery ("Select * from Win32_ComputerSystem")
For Each objComputer in colSettings 

	'Check and disconnect if the drive is already mapped.
	if(ObjFSO.DriveExists(strDriveLetter)) then
	objNetwork.RemoveNetworkDrive strDriveLetter, True, True
	end if

	'Map opsi drive.
	objNetwork.MapNetworkDrive strDriveLetter, strHomeServer, strProfile, strUser, strPassword
    
	'Check computer model.
		If objComputer.Model = "CELSIUS H270" Then
		
				Wscript.Echo "Gerätetyp ""Fujitsu Celsius H270"" erkannt." & VBCRLF & VBCRLF & "Installiere zusätzliche Gerätetreiber ..." & VBCRLF & VBCRLF & VBCRLF
				WScript.Sleep 2000
			
				Wscript.Echo "Installiere AuthenTec Fingerabdruck Scanner ..." & VBCRLF & VBCRLF
				WshShell.Run("Z:\additional_device_drivers\H270\AuthenTec_Fingerprint_Reader\x32\AT8MinFujitsu.msi " & "/qb! /norestart"), 0, true
				Wscript.Echo "Installiere GlobeTrotter Connect ..." & VBCRLF & VBCRLF
				WshShell.Run("Z:\additional_device_drivers\H270\Globetrotter_Connect_3\x32\GlobeTrotterConnect.msi " & "/qb! /norestart"), 0, true
				Wscript.Echo "Installiere STM Micro Accelerometer ..." & VBCRLF & VBCRLF
				WshShell.Run("cmd /c start """" /wait ""Z:\additional_device_drivers\H270\STM_Micro_Accelerometer\setup.exe"" " & "-s"), 0, true
				Wscript.Echo "Installiere Synaptics Touchpad ..." & VBCRLF & VBCRLF
				WshShell.Run("cmd /c start """" /wait ""Z:\additional_device_drivers\H270\Synaptics_Pointing_Device\setup.exe"" " & "/s"), 0, true
				Wscript.Echo "Installiere Toshiba Bluetooth Stack ..." & VBCRLF & VBCRLF
				WshShell.Run("cmd /c start """" /wait ""Z:\additional_device_drivers\H270\Toshiba_Bluetooth_Stack\setup.exe"" " & "/S /V""/qb! /norestart"""), 0, true
		
		Elseif objComputer.Model = "LIFEBOOK E8110" Then
		
				Wscript.Echo "Gerätetyp ""Fujitsu-Siemens Lifebook"" erkannt." & VBCRLF & VBCRLF &  "Installiere zusätzliche Gerätetreiber ..." & VBCRLF & VBCRLF & VBCRLF
				WScript.Sleep 2000
				
		Else
		
				Wscript.Echo "Gerätetyp nicht erkannt, es handelt sich um ein: " & objComputer.Model & VBCRLF & VBCRLF & "Bitte Admin Bescheid geben. Danke"
				WScript.Sleep 10000
		
		End If
		
	'Disconnect opsi drive.
	objNetwork.RemoveNetworkDrive strDriveLetter, True, True

Next
Ihr müsst die Dateipfade und ggf. das Netzwerklaufwerk noch an eure Gegebenheiten anpassen. Auch die Treiber Installation gilt es noch entsprechend zu ändern bzw. auf eure Geräte anzupassen.
Habe das aber extra zur Illustration und zum Verständnis drin gelassen.

Bei uns läuft nach der eigentlichen Windows 7 Installation ein Script "firstrun.cmd" ab, welches wir über den Registry Key RunOnce im Default User eingetragen haben.

Code: Alles auswählen

Windows Registry Editor Version 5.00

[HKEY_USERS\Default\Software\Microsoft\Windows\CurrentVersion\RunOnce]
"firstrun"="cmd /c \"%systemroot%\\system32\\firstrun.cmd\""
Damit sich der lokale Admin direkt nach der Grundinstallation automatisch anmeldet, müssen diese Schlüssel in der Registry eingetragen werden:

Code: Alles auswählen

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "AutoAdminLogon" /d "1" /f
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "DefaultUserName" /d "Administrator" /f
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "DefaultPassword" /d "<DEIN PASSWORT>" /f
Das kann man am Ende des "firstrun.cmd" Scripts einfach wieder deaktivieren mit:

Code: Alles auswählen

echo Deaktiviere Auto Admin Login ...
echo.
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "AutoAdminLogon" /f >nul
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "DefaultUserName" /f >nul
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "DefaultPassword" /f >nul
Für Fragen stehe ich gerne zur Verfügung.

@Opsi-Support

Bitte drüber Nachdenken das zum implementieren. Danke.
Zuletzt geändert von mr.quickly am 15 Jan 2010, 15:42, insgesamt 2-mal geändert.
Viele Grüße

Thomas S.
Benutzeravatar
minidump
Beiträge: 218
Registriert: 16 Okt 2009, 11:27

Re: [ADD-ON-WIN-7] Geräteabhängige Treiberinstallation

Beitrag von minidump »

Genial !!!!!

Das Problem hab ich auch schon eine Weile im Hinterkopf und wollte mir dafür irgendwann was einfallen lassen, bisher fehlte mir die Zeit.

Danke dass du das zur Verfügung stellst.

Grüße
Grüße
minidump

Alles ist am Ende gut. Und wenn es nicht gut ist, dann ist es nicht das Ende.
mr.quickly
Beiträge: 157
Registriert: 11 Nov 2008, 15:17

Re: [ADD-ON-WIN-7] Geräteabhängige Treiberinstallation

Beitrag von mr.quickly »

Bitte, bitte.

Es handelt sich ja um ein Open Source Produkt, welches ja vom gemeinsamen Wissensaustausch lebt :-)

Ich habe hier ja auch oft Hilfe bekommen, also freue ich mich jedes Mal, wenn ich mal was zurück geben kann.

Übrigens funktioniert das .vbs Script nicht während der Windows 7 Installation nicht. Zu diesem Zeitpunkt scheint da noch kein Wert drin zu stehen unter Model, daher der Weg über den lokalen Admin.
Viele Grüße

Thomas S.
mr.quickly
Beiträge: 157
Registriert: 11 Nov 2008, 15:17

Re: [ADD-ON-WIN-XP/7] Geräteabhängige Treiberinstallation

Beitrag von mr.quickly »

@Opsi Support

Bitte Info seitens des Opsi Supports ob diese Funktionalität in Zukunft eingebunden wird.
Viele Grüße

Thomas S.
Benutzeravatar
d.oertel
uib-Team
Beiträge: 3327
Registriert: 04 Jun 2008, 14:27

Re: [ADD-ON-WIN-XP/7] Geräteabhängige Treiberinstallation

Beitrag von d.oertel »

Hi mr quickly,

erstmal danke für die Mühe und die Veröffentlichung.

Als erstes stellt sich mir die Frage wo man sowas am geschicktesten einbindet.
Die RunOnce/firstrun.cmd Lösung gefällt mir nicht so sehr.
Opsi-typische Einstiegpunkte wären
- als opsi-Produkt
oder
- in den custom/postinst.d Bereich.
Die Lösung als opsi-Produkt halte ich für flexibler und gibt auch keine Probleme mit dem sharehandling.
Wichtig wäre es zu wissen, wenn es die Erfahrung gibt das viele dieser Treiber sich nicht ohne lokalen Admin installieren lassen.

Auf Basis dessen könnten wir dann ein Scripttemplate zur Verfügung stellen das so vorgeht wie das vbs-Script.

gruss
d.oertel


Vielen Dank für die Nutzung von opsi. Im Forum ist unser Support begrenzt.

Für den professionellen Einsatz und individuelle Beratung empfehlen wir einen Support-Vertrag und eine Schulung.
Gerne informieren wir Sie zu unserem Angebot.

uib GmbH
Telefon: +49 6131 27561 0
E-Mail: sales@uib.de


mr.quickly
Beiträge: 157
Registriert: 11 Nov 2008, 15:17

Re: [ADD-ON-WIN-XP/7] Geräteabhängige Treiberinstallation

Beitrag von mr.quickly »

Ich hatte anfangs auch versucht viele über die den custom/postinst.d Bereich zu lösen. Aber während der Windows 7 Grundinstallation kann man bestimmt Sachen einfach nicht mehr abfragen oder laufen lassen wie unter XP, daher habe ich es mittels des firstrun Registry Schlüssels gelöst.

Man könnte es aber auch mittels eines Paketes lösen, wobei man aber wie schon erwähnt ggf. das Problem mit dem Adminrechten hat.
Viele Grüße

Thomas S.
Benutzeravatar
d.oertel
uib-Team
Beiträge: 3327
Registriert: 04 Jun 2008, 14:27

Re: [ADD-ON-WIN-XP/7] Geräteabhängige Treiberinstallation

Beitrag von d.oertel »

Hi,
Aber während der Windows 7 Grundinstallation kann man bestimmt Sachen einfach nicht mehr abfragen oder laufen lassen wie unter XP
Verstehe leider nicht was Du meinst.
ggf. das Problem mit dem Adminrechten hat
Ich vermute Du meinst den engeloggten User - weil die Adminrechte sind ja da !

Gibt es da definitiv Erfahrungen ?

d.oertel


Vielen Dank für die Nutzung von opsi. Im Forum ist unser Support begrenzt.

Für den professionellen Einsatz und individuelle Beratung empfehlen wir einen Support-Vertrag und eine Schulung.
Gerne informieren wir Sie zu unserem Angebot.

uib GmbH
Telefon: +49 6131 27561 0
E-Mail: sales@uib.de


mr.quickly
Beiträge: 157
Registriert: 11 Nov 2008, 15:17

Re: [ADD-ON-WIN-XP/7] Geräteabhängige Treiberinstallation

Beitrag von mr.quickly »

Beim Windows welches zur Installation geladen wird handelt es sich ja um eine abgespeckte Version, daher laufen z.B. einige WMI Abfragen da noch nicht. Auch kann man bestimmte Programme nicht benutzen oder Registry Keys setzen/bearbeiten.

Mit dem eingeloggten Benutzer kann schon sein.
Viele Grüße

Thomas S.
Benutzeravatar
d.oertel
uib-Team
Beiträge: 3327
Registriert: 04 Jun 2008, 14:27

Re: [ADD-ON-WIN-XP/7] Geräteabhängige Treiberinstallation

Beitrag von d.oertel »

Hi,
mr.quickly hat geschrieben:Beim Windows welches zur Installation geladen wird handelt es sich ja um eine abgespeckte Version, daher laufen z.B. einige WMI Abfragen da noch nicht. Auch kann man bestimmte Programme nicht benutzen oder Registry Keys setzen/bearbeiten.

Mit dem eingeloggten Benutzer kann schon sein.
mein Vorschlag ist es ja auch hieraus ein opsi-Produkt zu machen, welches dann auf dem fertigen Windows läuft........

gruss
d.oertel


Vielen Dank für die Nutzung von opsi. Im Forum ist unser Support begrenzt.

Für den professionellen Einsatz und individuelle Beratung empfehlen wir einen Support-Vertrag und eine Schulung.
Gerne informieren wir Sie zu unserem Angebot.

uib GmbH
Telefon: +49 6131 27561 0
E-Mail: sales@uib.de


Antworten