Jump to content


Config Mangler

Can't run HP BIOS Tools in WinPE in SCCM 2012 TS

Recommended Posts

I'm having problems running the HP BIOS tools in a SCCM 2012 task sequence.

 

The TS fails and the logs say:

 

"The step (HP AHCI) must be running in full OS TSManager 15/11/2012 11:40:58 1640 (0x0668)"

Failed to run the action: HP AHCI.

The request is not supported. (Error: 80070032; Source: Windows) TSManager 15/11/2012 11:40:58 1640 (0x0668)

 

Now this is not true. The software is supported by HP on WinPE. Also, I can hit F8 when in PE and can run the BIOS command from a mapped drive or a USB stuck and it works perfectly well and makes the BIOS change I need. So it is only in a TS that it does not work.

 

The change I want to make is to switch the storage driver mode from a legacy setting of IDE to AHCI. I have to do this in PE before the device drivers stage so that the AHCI driver gets installed.

 

Any thoughts? I'll probably log this with HP, but if it's just not possible, will there be any noticable effect on performance in IDE mode. I'm thinking it will be negligable on a standard corporate desktop.

Share this post


Link to post
Share on other sites

You cant chose an "install software" step during the PE phase. Put the command line for the HP tool into a batch file. Don't create a program in your package. In your task sequence add a "run command line step" and call the batch file this way.

Share this post


Link to post
Share on other sites

Hi Peter, Still stuck on this! I have a package with the required files and a batch file with the command line in it.

 

I have added a run command line task and tried every combination of calling the batch file or running the command directly:

 

cmd /c hpbioscommand.bat

hpbioscommand.bat

BiosConfigUtility.EXE /setconfig:"8200.txt" /cursetuppassword:"password"

cmd /c BiosConfigUtility.EXE /setconfig:"8200.txt" /cursetuppassword:"password"

 

Install.cmd sits in the package folder and contains the command line

 

I am now getting error 0x80004005 - it's like it can't find the source but everything is up to date.

 

ProgramName = 'cmd /c hpbioscommand.bat' SwdAction = '0001' Found the location for the package _SMSTSLAB00071. The location is on !sPackageLocation.empty(), HRESULT=80004005 (e:\nts_sccm_release\sms\framework\tscore\resolvesource.cpp,3236) TS::Utility::ResolveSource(pszPkgID, sPath, 0, hUserToken, sUserName.empty() ? NULL : sUserName.c_str(), sUserName.empty() ? NULL : sUserPassword.c_str()), HRESULT=80004005 (e:\nts_sccm_release\sms\client\osdeployment\installsoftware\runcommandline.cpp,395) cmd.Execute(pszPkgID, sProgramName, dwCmdLineExitCode), HRESULT=80004005 (e:\nts_sccm_release\sms\client\osdeployment\installsoftware\main.cpp,372) Failed to read _SMSTSLAB00071 from theenvironment. Code 0x80004005 Failed to resolve the source for SMS PKGID=LAB00071, hr=0x80004005 Install Software failed to run command line, hr=0x80004005"

Share this post


Link to post
Share on other sites

Actually i am formatting drive c: first. Then i create a new directory c:\hpbios and copy everything from the package to this directory. The run command in the task sequence holds the whole path "c:\hpbios\hp.cmd" (without cmd /c). Also, i recommend always to use a "pushd %~dp0" as first line, and "popd" as last line, in a batch file. This way your sources will be found in any case. Otherwise the instance will start in the home path of the user who is running the command (system32 as local system).

I am using this method because i am also updating the BIOS and don't want to brick the machine by a failing network connection.

After all si done the drive gets formatted again to have a clean starting point.

Share this post


Link to post
Share on other sites

On 11/20/2012 at 3:24 AM, Peter33 said:

Actually i am formatting drive ? first. Then i create a new directory c:\hpbios and copy everything from the package to this directory. The run command in the task sequence holds the whole path "c:\hpbios\hp.cmd" (without cmd /c). Also, i recommend always to use a "pushd %~dp0" as first line, and "popd" as last line, in a batch file. This way your sources will be found in any case. Otherwise the instance will start in the home path of the user who is running the command (system32 as local system).

I am using this method because i am also updating the BIOS and don't want to brick the machine by a failing network connection.

After all si done the drive gets formatted again to have a clean starting point.

Dont work for me. I am using elitedesk 800 g2/3/4

My clearbios.cmd

 

Pushd “%~dp0”

 

biosconfigutility64.exe /nspwdfile:"" /cspwdfile:"password.bin"

 

Popd

 

i am very sure that the password.bin is really the password in the bios.

 

Error msg in ts is “the operating system reported error 10. The environment is incorrect

 

Share this post


Link to post
Share on other sites

On 11/19/2018 at 6:57 PM, libra said:

Dont work for me. I am using elitedesk 800 g2/3/4

My clearbios.cmd

 

Pushd “%~dp0”

 

biosconfigutility64.exe /nspwdfile:"" /cspwdfile:"password.bin"

 

Popd

 

i am very sure that the password.bin is really the password in the bios.

 

Error msg in ts is “the operating system reported error 10. The environment is incorrect

 

found out the below problem.

 

If we have a machine bios password which is from password-global.bin and when this step is place at the first place compare to other bios password, it will successfully clear the password

If we have a machine bios password which is from password-global.bin and when this step is place not at the first place compare to other bios password, it will fails to clear the password

Any one manage to clear multiple bios password not matter how the it is placed in sccm task sequence?

2018-11-20_12-25-56.png

Share this post


Link to post
Share on other sites

You could simply run all 8 steps in single batch file and add "EXIT /B 0" as your last comand line.

If you want to make it shiny you can also add an evaluation step after each pw reset line to check if the returned error code is 0 and if so jump to the end of the script.

Share this post


Link to post
Share on other sites

3 hours ago, Peter33 said:

You could simply run all 8 steps in single batch file and add "EXIT /B 0" as your last comand line.

If you want to make it shiny you can also add an evaluation step after each pw reset line to check if the returned error code is 0 and if so jump to the end of the script.

yup, i have try to put all commands in a cmd file. however if the machine password is password5.bin , and the command is not put at first line, it will not remove the bios password.

biosconfigutility64.exe /nspwdfile:"" /cspwdfile:"password1.bin"

biosconfigutility64.exe /nspwdfile:"" /cspwdfile:"password2.bin"

biosconfigutility64.exe /nspwdfile:"" /cspwdfile:"password3.bin"

biosconfigutility64.exe /nspwdfile:"" /cspwdfile:"password4.bin"

biosconfigutility64.exe /nspwdfile:"" /cspwdfile:"password5.bin"

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...


×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.