Userexit's
En "userexit" er en måde, at udvide funktionerne i MDT med egen kode, men beskrivelserne af hvordan det virker synes jeg er lidt svære at følge og alle er heller ikke helt enige om, hvor scriptet skal placeres.
Jeg bruger bla. en userexit til, at manipulere modelnavnet på eksempelvis HP Compaq pc'er, som udover selve modelnavnet også indeholder nogle talkoder, som vi skal af med, hvis modelnavnet skal bruges til noget fornuftigt
Først skal CustomSettings.INI for det pågældende deployment punkt indeholde følgende elementer:
[Settings]
Priority=SetModel,ByModelAlias,Default
Properties=ModelAlias
[SetModel]
ModelAlias=#SetModelAlias()#
Userexit=userexit.vbs
[ByModelAlias]
Subsection=%ModelAlias%
[HP Compaq 8710p]
MandatoryApplications1={...}
Elementerne i Priority evalueres i rækkefølge, så først kører den SetModelAlias funktionen fra Userexit.vbs og dernæst sektionen ByModelAlias, som bruger informationen fra userexit.vbs til at finde den rigtige sektion (i eksemplet [HP Compaq 8710p]) hvor du så fx kan bruge MandatoryApplications#= til at installere drivere med.
Userexit.vbs filen placerer du i Scripts folderen med følgende indhold:
Function UserExit(sType, sWhen, sDetail, bSkip)
UserExit = Success
End Function
Function SetModelAlias()
If InStr(oEnvironment.Item("Model"), "(") <> 0 Then
SetModelAlias = Trim(Left(oEnvironment.Item("Model"),InStr(oEnvironment.Item("Model"), "(") - 1))
oLogging.CreateEntry "USEREXIT - ModelAlias has been set to " & SetModelAlias, LogTypeInfo
Else
SetModelAlias = oEnvironment.Item("Model")
oLogging.CreateEntry " USEREXIT - ModelAlias has not been changed." , LogTypeInfo
End If
End Function
Selve funktionen SetModelAlias kan du udvikle videre på alt efter behov. Det kan være, at du har noget hardware, som returnerer modelbetegnelsen i kantparanteser og at det så er den information, som du vil have retur.
Du kan selvfølgelig også tilføje andre funktioner til filen og kalde dem på samme måde som vist ovenfor.
Scriptet og inspirationen er lånt fra Ben Hunter, men han bruger MDT databasen, hvor mit eksempel bruger CustomSettings.INI filen alene.

