This is an old revision of the document!
Tested with opsi 4.0.4.5
requiredWinstVersion >= 4.11.3.6
You need the Dell CCTK
Files can be downloaded at http://en.community.dell.com/techcenter/systems-management/w/wiki/1952.dell-client-configuration-toolkit-cctk.aspx
Tree:
DATA_CLIENT ├ setup.ins └ bin ├ cctk.exe ├ mxml1.dll ├ pci.ids └ HAPI ├ dcdbas32.cat . . . └ omsacntl.exe OPSI └ control
Install the Dell CCTK on a development Computer and copy the
%Programfiles%\Dell\CCTK\x86 or %Programfiles%\Dell\CCTK\x64
into the DATA_CLIENT bin folder
[Initial] ExitOnError=true StayOnTop = true [Actions] requiredWinstVersion >= "4.10.5" DefVar $ReportProperty$ DefVar $ReportValue$ DefVar $CommandValue$ DefStringList $CommandResult$ DefVar $CommandResultValue$ DefVar $SetBios$ DefVar $PwdNew$ DefVar $PwdBIOS$ DefVar $PwrMgmtWOL$ DefVar $PwrMgmtConrolWLAN$ DefVar $PwrMgmtConrolWWAN$ DefVar $PostBehaviorNumLock$ set $SetBios$ =GetProductProperty("_set_bios", "no") set $PwdNew$ =GetProductProperty("password_new", " ") set $PwdBIOS$ =GetProductProperty("password", " ") set $PwrMgmtWOL$ =GetProductProperty("pwr-management_wake-on-lan", " ") set $PwrMgmtConrolWLAN$ =GetProductProperty("pwr-management_control-wlan-radio", " ") set $PwrMgmtConrolWWAN$ =GetProductProperty("pwr-management_control-wwan-radio", " ") set $PostBehaviorNumLock$ =GetProductProperty("post-behavior_num-lock", " ") ; Install the BIOS comunication driver DosInAnIcon_HAPIInstall ;if password is one of the reported Values from password state set it blank if ($PwdBIOS$="--password required--") set $PwdBIOS$=" " endif if ($PwdBIOS$="--password wrong--") set $PwdBIOS$=" " endif ;Get Password State set $CommandValue$ = '--numlock' set $CommandResult$ = getOutStreamFromSection('DosInAnIcon_BiosQuery') set $CommandResultValue$ = getValue ("numlock",$CommandResult$) if (getLastExitCode = "0") ;toggle Value to get the errorcode if ($CommandResultValue$="on") set $CommandValue$ = '--numlock="off"' DosInAnIcon_BiosCommand set $CommandValue$ = '--numlock="on"' DosInAnIcon_BiosCommand else set $CommandValue$ = '--numlock="on"' DosInAnIcon_BiosCommand set $CommandValue$ = '--numlock="off"' DosInAnIcon_BiosCommand endif set $ReportProperty$ ="password" if (getLastExitCode = "191") ; 191 password required set $ReportValue$ ="--password required--" opsiServiceCall_configState_Report endif if (getLastExitCode = "157") ; 157 password wrong set $ReportValue$ ="--password wrong--" opsiServiceCall_configState_Report endif endif ; Set Password if ($PwdNew$="--clear--") set $CommandValue$ = '--setuppwd=" "' DosInAnIcon_BiosCommand if (getLastExitCode = "0") set $ReportProperty$ ="password" set $ReportValue$ =" " opsiServiceCall_configState_Report set $ReportProperty$ ="password_new" set $ReportValue$ =" " opsiServiceCall_configState_Report else set $ReportProperty$ ="password_new" set $ReportValue$ =" " opsiServiceCall_configState_Report endif else if (not ($PwdNew$=" ")) set $CommandValue$ = '--setuppwd="$PwdNew$"' DosInAnIcon_BiosCommand if (getLastExitCode = "0") set $ReportProperty$ ="password" set $ReportValue$ =$PwdNew$ opsiServiceCall_configState_Report set $ReportProperty$ ="password_new" set $ReportValue$ =" " opsiServiceCall_configState_Report set $PwdBIOS$=$PwdNew$ set $PwdNew$="" else set $ReportProperty$ ="password_new" set $ReportValue$ =" " opsiServiceCall_configState_Report endif endif endif if ($SetBios$="yes") ;Set Value ;wake on LAN if ($PwrMgmtWOL$="enable") set $CommandValue$ = '--wakeonlan="enable"' DosInAnIcon_BiosCommand endif if ($PwrMgmtWOL$="disable") set $CommandValue$ = '--wakeonlan="disable"' DosInAnIcon_BiosCommand endif if ($PwrMgmtWOL$="addincard") set $CommandValue$ = '--wakeonlan="addincard"' DosInAnIcon_BiosCommand endif if ($PwrMgmtWOL$="onboard") set $CommandValue$ = '--wakeonlan="onboard"' DosInAnIcon_BiosCommand endif if ($PwrMgmtWOL$="enablewakeonwlan") set $CommandValue$ = '--wakeonlan="enablewakeonwlan"' DosInAnIcon_BiosCommand endif if ($PwrMgmtWOL$="lanorwlan") set $CommandValue$ = '--wakeonlan="lanorwlan"' DosInAnIcon_BiosCommand endif if ($PwrMgmtWOL$="lanwithpxeboot") set $CommandValue$ = '--wakeonlan="lanwithpxeboot"' DosInAnIcon_BiosCommand endif ;Control WLAN Radio if ($PwrMgmtConrolWLAN$="yes") set $CommandValue$ = '--controlwlanradio="enable"' DosInAnIcon_BiosCommand endif if ($PwrMgmtConrolWLAN$="no") set $CommandValue$ = '--controlwlanradio="disable"' DosInAnIcon_BiosCommand endif ;Control WWAN Radio if ($PwrMgmtConrolWWAN$="yes") set $CommandValue$ = '--controlwwanradio="enable"' DosInAnIcon_BiosCommand endif if ($PwrMgmtConrolWWAN$="no") set $CommandValue$ = '--controlwwanradio="disable"' DosInAnIcon_BiosCommand endif ;Num lock if ($PostBehaviorNumLock$="on") set $CommandValue$ = '--numlock="on"' DosInAnIcon_BiosCommand endif if ($PostBehaviorNumLock$="off") set $CommandValue$ = '--numlock="off"' DosInAnIcon_BiosCommand endif ;Clear set BIOS flag set $ReportProperty$ ="_set_bios" set $ReportValue$ ="no" opsiServiceCall_configState_Report endif ;Report ;wake on LAN set $CommandValue$ = '--wakeonlan' set $CommandResult$ = getOutStreamFromSection('DosInAnIcon_BiosQuery') set $CommandResultValue$ = getValue ("wakeonlan",$CommandResult$) set $ReportProperty$ ="pwr-management_wake-on-lan" if (not (getLastExitCode = "0")) ;An Error occured do some Errorhandling if (getLastExitCode = "119") ; 119 means funktion not supported by this Computer set $ReportValue$ ="-- not supported --" opsiServiceCall_configState_Report endif else ;No Error occured so report Value if ($CommandResultValue$="enable") set $ReportValue$ ="enable" opsiServiceCall_configState_Report endif if ($CommandResultValue$="disable") set $ReportValue$ ="disable" opsiServiceCall_configState_Report endif if ($CommandResultValue$="addincard") set $ReportValue$ ="addincard" opsiServiceCall_configState_Report endif if ($CommandResultValue$="onboard") set $ReportValue$ ="onboard" opsiServiceCall_configState_Report endif if ($CommandResultValue$="enablewakeonwlan") set $ReportValue$ ="enablewakeonwlan" opsiServiceCall_configState_Report endif if ($CommandResultValue$="lanorwlan") set $ReportValue$ ="lanorwlan" opsiServiceCall_configState_Report endif if ($CommandResultValue$="lanwithpxeboot") set $ReportValue$ ="lanwithpxeboot" opsiServiceCall_configState_Report endif endif ;Control WLAN Radio set $CommandValue$ = '--controlwlanradio' set $CommandResult$ = getOutStreamFromSection('DosInAnIcon_BiosQuery') set $CommandResultValue$ = getValue ("controlwlanradio",$CommandResult$) set $ReportProperty$ ="pwr-management_control-wlan-radio" if (not (getLastExitCode = "0")) ;An Error occured do some Errorhandling if (getLastExitCode = "119") ; 119 means funktion not supported by this Computer set $ReportValue$ ="-- not supported --" opsiServiceCall_configState_Report endif else ;No Error occured so report Value if ($CommandResultValue$="enable") set $ReportValue$ ="yes" opsiServiceCall_configState_Report endif if ($CommandResultValue$="disable") set $ReportValue$ ="no" opsiServiceCall_configState_Report endif endif ;Control WWAN Radio set $CommandValue$ = '--controlwwanradio' set $CommandResult$ = getOutStreamFromSection('DosInAnIcon_BiosQuery') set $CommandResultValue$ = getValue ("controlwwanradio",$CommandResult$) set $ReportProperty$ ="pwr-management_control-wwan-radio" if (not (getLastExitCode = "0")) ;An Error occured do some Errorhandling if (getLastExitCode = "119") ; 119 means funktion not supported by this Computer set $ReportValue$ ="-- not supported --" opsiServiceCall_configState_Report endif else ;No Error occured so report Value if ($CommandResultValue$="enable") set $ReportValue$ ="yes" opsiServiceCall_configState_Report endif if ($CommandResultValue$="disable") set $ReportValue$ ="no" opsiServiceCall_configState_Report endif endif ;Num Lock set $CommandValue$ = '--numlock' set $CommandResult$ = getOutStreamFromSection('DosInAnIcon_BiosQuery') set $CommandResultValue$ = getValue ("numlock",$CommandResult$) set $ReportProperty$ ="post-behavior_num-lock" if (not (getLastExitCode = "0")) ;An Error occured do some Errorhandling if (getLastExitCode = "119") ; 119 means funktion not supported by this Computer set $ReportValue$ ="-- not supported --" opsiServiceCall_configState_Report endif else ;No Error occured so report Value if ($CommandResultValue$="on") set $ReportValue$ ="on" opsiServiceCall_configState_Report endif if ($CommandResultValue$="off") set $ReportValue$ ="off" opsiServiceCall_configState_Report endif endif ; Uninstall the BIOS comunication driver DosInAnIcon_HAPIUninstall [Sub_configState_Report] markErrorNumber opsiServiceCall_configState_Report if errorsOccuredSinceMark > 0 isFatalError endif set $ReportProperty$ ="" set $ReportValue$ ="" [opsiServiceCall_configState_Report] "method": "setProductProperty" "params": [ "$ProductID$", "$ReportProperty$", "$ReportValue$", "%hostid%" ] [DosInAnIcon_BiosCommand] @echo off if "$PwdBIOS$"==" " %ScriptPath%\bin\cctk $CommandValue$ if not "$PwdBIOS$"==" " %ScriptPath%\bin\cctk --valsetuppwd="$PwdBIOS$" $CommandValue$ exit %ERRORLEVEL% [DosInAnIcon_BiosQuery] @echo off %ScriptPath%\bin\cctk $CommandValue$ exit %ERRORLEVEL% [DosInAnIcon_HAPIInstall] "%ScriptPath%\bin\hapi\hapint.exe" -i -k C-C-T-K -p "hapint.exe" -q [DosInAnIcon_HAPIUninstall] "%ScriptPath%\bin\hapi\hapint.exe" -r -k C-C-T-K -q
[Package] version: 1 depends: incremental: False [Product] type: localboot id: dellbios name: DellBIOS description: Managen von Dell Bioseinstellungen advice: version: 1.0 priority: 0 licenseRequired: False productClasses: setupScript: install.ins uninstallScript: updateScript: alwaysScript: onceScript: customScript: userLoginScript: [ProductProperty] type: unicode name: _set_bios multivalue: False editable: False description: Set Bios Values values: ["no", "yes"] default: ["no"] [ProductProperty] type: unicode name: password multivalue: False editable: True description: Bios Password default: [" "] [ProductProperty] type: unicode name: password_new multivalue: False editable: True description: Set new Password values: ["--clear--", "bios"] [ProductProperty] type: unicode name: pwr-management_wake-on-lan multivalue: False editable: False description: enable wake on LAN values: [" ", "addincard", "disable", "enable", "enablewakeonwlan", "lanorwlan", "lanwithpxeboot", "onboard"] default: [" "] [ProductProperty] type: unicode name: pwr-management_control-wlan-radio multivalue: False editable: False description: disable WLAN when LAN is active values: [" ", "no", "yes"] default: [" "] [ProductProperty] type: unicode name: pwr-management_control-wwan-radio multivalue: False editable: False description: disable WWAN (GSM, UMTS,...) when LAN is active values: [" ", "no", "yes"] default: [" "] [ProductProperty] type: unicode name: post-behavior_num-lock multivalue: False editable: False description: Numlock on system start values: [" ", "off", "on"] default: [" "] [Changelog] dellbios (1.0-1) testing; urgency=low * Initial package -- HL <> Mon, 09 Jan 2012 15:45:19 +0000