ich habe ein OPSI script geschrieben mit dem die Installation der Treiber durchführe. Beim Test mit wininst.exe als Administrator funktioniert es.
Starte ich das script aber über den Opsi Agent dann öffnet sich zwar das CMD Fenster, es sieht auch so aus als würde alles funktionieren, aber leider geht es nicht.
Code: Alles auswählen
;Standard Text, shown during installation
Message = Bitte warten, das Produkt wird installiert
;Set Loglevel
setLogLevel = 6
;Stop when errors
ExitOnError = false
;Syntax Fehler are shown in a seperate window
ScriptErrorMessages = on
;Do not use Single-Step Mode
TraceMode = off
;No winst-window in foreground while batchmode
StayOnTop = false
[Actions]
requiredWinstVersion >= "4.11.4"
DefVar $ProductId$
DefVar $ProductName$
DefVar $MinimumSpace$
DefVar $ExitCode$
DefVar $LogDir$
DefVar $InstallDir32$
DefVar $InstallDir64$
Set $LogDir$ = "%SystemDrive%\tmp"
Set $ProductId$ = "Driver Install"
ShowBitmap "%ScriptPath%\" + $ProductId$ + ".png" $ProductId$
DefVar $BasePath$
DefVar $SysInfoManufacturer$
DefVar $SysInfoModel
DefVar $DriversPathbyAudit$
DefVar $DriversPathpreferred$
DefVar $pnputim$
set $pnputim$ = "%ScriptPath%\PnPutil.exe"
set $BasePath$ = "%ScriptDrive%\win81-x64\drivers\drivers"
set $SysInfoManufacturer$ = getValue("sysinfo.Manufacturer", getHWBiosInfoMap)
set $SysInfoModel = getValue("sysinfo.Product Name", getHWBiosInfoMap)
;set $SysInfoManufacturer$ = "Intel corporation" ;zu testzwecken enablen und anpassen
;set $SysInfoModel = "NUC6i3SYB" ;zu testzwecken enablen und anpassen
set $DriversPathbyAudit$ = $BasePath$ + "\additional\byAudit\" + $SysInfoManufacturer$ + "\" + $SysInfoModel
set $DriversPathpreferred$ = $BasePath$ + "\preferred"
DosBatch_DriversUpdate
[DosBatch_DriversUpdate]
@echo off
for /R "$DriversPathbyAudit$" %%i in (*.inf) do (
echo Treiberupdate fuer "%%i"
"$pnputim$" -i -a "%%i"
)
for /R "$DriversPathbyAudit$" %%i in (*.cmd) do (
echo Install fuer "%%i"
call "%%i"
)
for /R "$DriversPathpreferred$" %%i in (*.inf) do (
echo Treiberupdate fuer "%%i"
"$pnputim$" -i -a "%%i"
)
for /R "$DriversPathpreferred$" %%i in (*.cmd) do (
echo Install fuer "%%i"
call "%%i"
)
In diesem Zusammenhang hätte ich noch eine Frage. Wie kann das Script ermitteln welches OPSI OS Paket installiert wurde. Hintergrund der Frage ist das ich auch noch das Verzeichnis des OS automatisch lagen kann. Im Moment ist das ja hardcoded
Und bevor hier auch die Frage kommt. Ja die Variable %ScriptDrive% funktioniert.
MFG Alexander Koch