Querying and changing BIOS from operating system is never been easy. The only useful BIOS thing that we can get from Operating System is serial number. But if you want to know the settings like boot order, TPM setting level, change BIOS password, and status of Wake on LAN setting etc, you should shut down your system and enter into BIOS.
Hardware manufacturers started noticing our(System Administrator’s) troubles some time ago and started delivering good tools using which we can manage BIOS from Operating System itself. If you can manage BIOS settings from Operating System, then you can obvious be able to automate them using one of the Scripting languages as well.
In this “Managing Dell Computers BIOS using PowerShell” series, I will take you through preparing your desktop environment to allow BIOS query from operating system, different settings we can query, how to use powershell to query and set BIOS settings. Given the hardware resources limitation I have, I am going to limit the scope of this post series to DELL hardware and touch the basics of other hardware’s.
Now let us go and see how we can prepare our DELL desktop environment for BIOS query from Operating System.
The manufacturer, DELL, is providing a MSI installer called OMCI (Open Manage Client Instrumentation) which you can install on a DELL PC. This installation creates a set of WMI classes in the operating system which has functions and that allows you to query and set BIOS. This OMCI util is available for both 64-bit and 32-bit operating systems.
This OMCI util is available for Dell Optiplex, Dell Precision, and Dell Latitude hardwares only.
Procedure to install and deploy OMCI:
- Download the OMCI version that matches your hardware and OS version.
- Launch the downloaded executable to extract setup.exe
- Execute setup.exe to install OMCI.
Setup.exe has command line options as well which you can use to automate the installation via your software deployment tool. You can use below command to install the OMCI tool in silent mode.
setup.exe /s /v”/qn REBOOT=ReallySuppress /l %windir%\temp\OMCI.log”
All this command does is installation of OMCI utility in silent mode. For more command line options look at the below image.
Once the installation is completed, your computer is ready for using the DELL BIOS related WMI classes. To see list of WMI classes that are added with OMCI, try the below command. DELL OMCI installs approximately 206 WMI classes which severs different purposes. You should note here that, accessing the information via DELL OMCI classes works only with administrator accounts. Normal users can not query these classes. May be we can grant custom permissions to allow normal users to query these classes but I want to keep it away from the scope for now.
Get-WmiObject -Namespace root\dellomci -list | select Name
I don’t want to complete this part-1 of “Managing Dell Computers BIOS Settings using PowerShell series” without an example. Here is the one. Below examples helps you to quickly identify the boot sequence of a computer.
Get-WmiObject -NameSpace root\dellomci Dell_BootDeviceSequence | sort bootorder | select BootDeviceName, BootOrder
And the output of above command will look like below.
In my next post I will write about how to enable wake on lan using Powershell and DELL OMCI classes.
Hope this is helpful… and stay tuned.