User Tools

Site Tools


userspace:dellbios

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

userspace:dellbios [2015/09/14 11:50]
tobias [Dell Bios Settings v2]
userspace:dellbios [2021/08/23 08:37]
Line 1: Line 1:
-====== DellBios ====== 
- 
-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:\\ 
-<code> 
-DATA_CLIENT 
-  ├ setup.ins  
-  └ bin 
-     ├ cctk.exe 
-     ├ mxml1.dll 
-     ├ pci.ids 
-     └ HAPI 
-        ├ dcdbas32.cat       
-        . 
-        . 
-        . 
-        └ omsacntl.exe  
-OPSI 
-  └  control   
-            
-</code> 
- 
-===== Abstract ===== 
-\\ 
-This package can read and set some Dell BIOS Values\\ 
-\\ 
-Supported Values:\\ 
-\\ 
-Password\\ 
-wake on LAN\\ 
-control wlan radio\\ 
-control wwan radio\\ 
-num lock\\ 
-\\ 
-Simple installation of this package makes an audit of\\ 
-currently set BIOS Values and reports the state back\\  
-into the opsi package properties (it also reports if this\\ 
-BIOS property is available on the specific computer hardware)\\ 
-\\ 
-To set BIOS values the _set_bios property must be true.\\ 
-\\ 
-To set the bios password use the password new property\\ 
-if the password is set correctly this value gets cleared\\ 
-and the new password is automatically entered into the\\ 
-password property field.\\ 
-\\ 
-if the Value in the password field is wrong (or the BIOS\\ 
-password is set but not properly configured in the\\  
-opsi Package) -–password required–- or -–password wrong–-\\ 
-will be reported in this field.\\ 
-\\ 
-===== Install Information ===== 
-\\ 
-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 
- 
-=== setup.ins === 
-<code winst> 
-[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 
-</code> 
-=== control === 
-<code winst> 
-[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, 04 Jan 2014 15:45:19 +0000 
-</code> 
- 
- 
-====== Dell Bios Settings v2 ====== 
- 
-Da ich nicht gesehen habe das es so eine Art Script schon im WIKI gibt, habe ich ein eigenes geschrieben. Allerdings mit anderen Optionen. 
-Das Script ist in der Lage folgende BIOS Einstellungen vorzunehmen. 
- 
-  * Festplatten Kennwort setzen oder Löschen 
-  * Systempasswort (BIOS Passwort) zu setzen oder zu löschen 
-  * Wake On LAN Einstellungen vornehmen. 
- 
-Weitere Einstellungen baue ich auf Wunsch mit aufgenommen (Anfrage per Private Message im Forum an Tobias).  
- 
-Verfügbare Einstellungen: 
-http://www.dell.com/support/manuals/us/en/04/Topic/dell-cmnd-config-v3.1/DCC_CLI-v4/en-us/GUID-F4D70CEF-44A6-4693-BBE3-D40DAABCCD2B 
- 
- 
- 
-Tree:\\ 
-<code> 
-├── CLIENT_DATA 
-│   ├── cctkerrorcodes.txt 
-│   ├── custom 
-│   ├── files 
-│   │   ├── x86 
-│   │   │   ├── cctk.exe 
-│   │   │   ├── cctk_x86_winpe_10.bat 
-│   │   │   ├── cctk_x86_WinPE_3.bat 
-│   │   │   ├── cctk_x86_winpe_4.bat 
-│   │   │   ├── cctk_x86_winpe_5.bat 
-│   │   │   ├── cctk_x86_WinPE.bat 
-│   │   │   ├── HAPI 
-│   │   │   │   ├── dcdbas32.cat 
-│   │   │   │   ├── dcdbas32.inf 
-│   │   │   │   ├── dcdbas32.sys 
-│   │   │   │   ├── dcdesm32.sys 
-│   │   │   │   ├── dcdipm32.sys 
-│   │   │   │   ├── dcdtvm32.sys 
-│   │   │   │   ├── dcesm.sys 
-│   │   │   │   ├── dcesmwdm.sys 
-│   │   │   │   ├── dchapi32.dll 
-│   │   │   │   ├── dchbas32.dll 
-│   │   │   │   ├── dchcfg32.exe 
-│   │   │   │   ├── dchcfl32.dll 
-│   │   │   │   ├── dchesm32.dll 
-│   │   │   │   ├── dchipm32.dll 
-│   │   │   │   ├── dchtst32.exe 
-│   │   │   │   ├── dchtvm32.dll 
-│   │   │   │   ├── dciwds32.exe 
-│   │   │   │   ├── dcmdev32.exe 
-│   │   │   │   ├── dcwipm32.dll 
-│   │   │   │   ├── HAPIInstall.bat 
-│   │   │   │   ├── hapint.exe 
-│   │   │   │   ├── HAPIUninstall.bat 
-│   │   │   │   └── omsacntl.exe 
-│   │   │   ├── mxml1.dll 
-│   │   │   └── pci.ids 
-│   │   └── X86_64 
-│   │       ├── cctk.exe 
-│   │       ├── cctk_x86_64_winpe_10.bat 
-│   │       ├── cctk_x86_64_WinPE_3.bat 
-│   │       ├── cctk_x86_64_winpe_4.bat 
-│   │       ├── cctk_x86_64_winpe_5.bat 
-│   │       ├── cctk_x86_64_winpe.bat 
-│   │       ├── HAPI 
-│   │       │   ├── dcdbas32.cat 
-│   │       │   ├── dcdbas32.inf 
-│   │       │   ├── dcdbas32.sys 
-│   │       │   ├── dcdbas64.cat 
-│   │       │   ├── dcdbas64.inf 
-│   │       │   ├── dcdbas64.sys 
-│   │       │   ├── dcdipm64.sys 
-│   │       │   ├── dchapi32.dll 
-│   │       │   ├── dchapi64.dll 
-│   │       │   ├── dchbas32.dll 
-│   │       │   ├── dchbas64.dll 
-│   │       │   ├── dchcfg32.exe 
-│   │       │   ├── dchcfg64.exe 
-│   │       │   ├── dchcfl32.dll 
-│   │       │   ├── dchcfl64.dll 
-│   │       │   ├── dchesm32.dll 
-│   │       │   ├── dchipm32.dll 
-│   │       │   ├── dchipm64.dll 
-│   │       │   ├── dchtst32.exe 
-│   │       │   ├── dchtst64.exe 
-│   │       │   ├── dchtvm32.dll 
-│   │       │   ├── dciwds32.exe 
-│   │       │   ├── dcmdev32.exe 
-│   │       │   ├── dcmdev64.exe 
-│   │       │   ├── dcwipm32.dll 
-│   │       │   ├── HAPIInstall.bat 
-│   │       │   ├── hapint64.exe 
-│   │       │   ├── hapint.exe 
-│   │       │   ├── HAPIUninstall.bat 
-│   │       │   └── omsacntl.exe 
-│   │       ├── mxml1.dll 
-│   │       └── pci.ids 
-│   ├── setup3264.opsiscript 
-</code> 
- 
-=====  Script: Setup3264.opsiscript =====  
- 
-<code> 
-[ACTIONS] 
-SetLogLevel = 6 
- 
-DefVar $INST_SystemType$ 
-DefVar $INST_architecture$ 
-DefVar $ExitCode$ 
-DefStringList $ErrorCodesList$ 
-set $ErrorCodesList$ = loadTextFile ('%scriptpath%\cctkerrorcodes.txt') 
-DefStringList $ErrorCodeString$ 
-DefVar $ErrorCode$ 
-DefVar $ErrorCodeDescription$ 
- 
-Set $INST_SystemType$ = GetSystemType 
- 
-DefVar $RebootWanted$ 
-Set $RebootWanted$ = GetProductProperty("10_RebootWanted", "false") 
- 
- 
- 
-DefVar $SetHDDPassword$ 
-Set $SetHDDPassword$ = GetProductProperty("1_Set_HDDPassword", "false") 
-Defvar $HDDPWDOptions$ 
- 
-DefVar $HDDPassword$ 
-Set $HDDPassword$ = GetProductProperty("1_HDD_Password", "XXXX") 
- 
-DefVar $currentHDDPassword$ 
-Set $currentHDDPassword$ = GetProductProperty("1_current_HDD_Password", "XXXX") 
- 
- 
- 
-DefVar $SetBIOSPassword$ 
-Set $SetBIOSPassword$ = GetProductProperty("2_Set_BIOSPassword", "true") 
-DefVar $BIOSPWDOptions$ 
- 
-DefVar $BIOSPassword$ 
-Set $BIOSPassword$ =  GetProductProperty("2_BIOS_Password", "XXXX") 
- 
-DefVar $CurrentBIOSPassword$ 
-Set $CurrentBIOSPassword$ =  GetProductProperty("2_current_BIOS_Password", "XXXX") 
- 
- 
- 
-DefVar $SetWOL$ 
-Set $SetWOL$ =   GetProductProperty("3_Set_WOL", "true") 
- 
-DefVar $WOL$ 
-Set $WOL$ = GetProductProperty("3_WOL", "enable") 
- 
-DefVar $Change_HDDPassword$ 
- 
-; ---------------------------------------------------------------- 
-; - 64Bit                             - 
-; ---------------------------------------------------------------- 
-if $INST_SystemType$ = "64 Bit System" 
-  if $SetHDDPassword$ = "True" 
-    if  NOT ($CurrentHDDPassword$ = " ") 
-      set $HDDPWDOptions$ = "--hddpwd=$HDDPassword$ --valhddpwd=$CurrentHDDPassword$" 
-    else 
-      set $HDDPWDOptions$  = "--hddpwd=$HDDPassword$" 
-    endif 
-      Winbatch_BIOS_Config_HDDPWD_x64 
-      set $exitcode$ = getLastExitcode 
-      for %s% in $ErrorCodesList$ do Sub_Check_Exitcode 
-      opsiServiceCall_report_new_HDD_password 
- 
-  endif 
- 
-  if $SetBIOSPassword$ = "True" 
-    if  NOT ($CurrentHDDPassword$ = " ") 
-    set $BIOSPWDOptions$ = "--setuppwd=$BIOSPassword$ --valsetuppwd=$CurrentBIOSPassword$" 
-    else 
-      set $BIOSPWDOptions$  = "--setuppwd=$BIOSPassword$" 
-    endif 
-    Winbatch_BIOS_Config_BIOSPWD_x64 
-    set $exitcode$ = getLastExitcode 
-    for %s% in $ErrorCodesList$ do Sub_Check_Exitcode 
-    opsiServiceCall_report_new_BIOS_password 
- 
-  endif 
- 
-  if $SetWOL$ = "True" 
-    Winbatch_BIOS_Config_WOL_x64 
-    set $exitcode$ = getLastExitcode 
-    for %s% in $ErrorCodesList$ do Sub_Check_Exitcode 
- 
- 
-  endif 
-endif 
- 
- 
-; ---------------------------------------------------------------- 
-; - 32Bit                           - 
-; ---------------------------------------------------------------- 
-if $INST_SystemType$ = "x86 System" 
-  if $SetHDDPassword$ = "True" 
-      Winbatch_BIOS_Config_HDDPWD_x64 
-      set $exitcode$ = getLastExitcode 
-      for %s% in $ErrorCodesList$ do Sub_Check_Exitcode 
-      opsiServiceCall_report_new_HDD_password 
-  endif 
- 
- 
-  if $SetBIOSPassword$ = "True" 
-    Winbatch_BIOS_Config_BIOSPWD_x64 
-    set $exitcode$ = getLastExitcode 
-    for %s% in $ErrorCodesList$ do Sub_Check_Exitcode 
-    opsiServiceCall_report_new_BIOS_password 
-  endif 
- 
- 
-  if $SetWOL$ = "True" 
-    Winbatch_BIOS_Config_WOL_x64 
-    set $exitcode$ = getLastExitcode 
-    for %s% in $ErrorCodesList$ do Sub_Check_Exitcode 
-  endif 
-endif 
- 
- 
-if $RebootWanted$ = "True" 
-  ExitWindows /Reboot 
-endif 
- 
- 
-[Winbatch_BIOS_Config_HDDPWD_x64] 
-%scriptpath%\files\x86_64\cctk.exe $HDDPWDOptions$ 
- 
-[Winbatch_BIOS_Config_BIOSPWD_x64] 
-%scriptpath%\files\x86_64\cctk.exe $BIOSPWDOptions$ 
- 
-[Winbatch_BIOS_Config_WOL_x64] 
-%scriptpath%\files\x86_64\cctk.exe --wakeonlan=$WOL$ --valsetuppwd=$CurrentBIOSPassword$ 
- 
- 
-[opsiServiceCall_report_new_BIOS_password] 
-"method": "setProductProperty" 
-"params": [ 
-"dfn_dellbiosconfig", 
-"2_current_BIOS_Password", 
-"$BIOSPassword$", 
-"%hostid%" 
-] 
- 
- 
-[opsiServiceCall_report_new_HDD_password] 
-"method": "setProductProperty" 
-"params": [ 
-"dfn_dellbiosconfig", 
-"1_current_HDD_Password", 
-"$HDDPassword$", 
-"%hostid%" 
-] 
- 
- 
-[Sub_Check_Exitcode] 
-SetLogLevel = 5 
-if takeString(0, splitString ("%s%",  ".")) = $ExitCode$ 
-  if not ($ExitCode$ = "0") 
-    LogError takeString(1, splitString ("%s%",  ".")) +" (ExitCode " +$ExitCode$+" )" 
-    isFatalError $ExitCode$ 
-  else 
-    message "BIOS Command was Successful" 
-  EndIf 
-endif 
-</code> 
  
userspace/dellbios.txt · Last modified: 2021/08/23 08:37 (external edit)