Overview
The Dell Command | PowerShell Provider provides native configuration capability of Dell Optiplex, Latitude, Precision, and Venue 11 systems within PowerShell.
How to setup the Dell Command | PowerShell Provider
Discuss on the PowerShell Provider Forum
Useful Links
Enhancements
- Module mechanism to load the provider through DellBIOSProvider.psd1
- Space removed from attribute names
- Tab completion for attribute names
- ReadMe.txt converted into about_DellBIOSProvider.help.txt
- Custom help at provider level
- Custom help at cmdlet level (available for Security, TPMSecurity, SecureBoot and BootSequence folder for Get-ChildItem and Set-Item)
- Custom cmdlets added – Set-1stBootdevice, Clear-AdminPassword, Get-BiosSettings
Examples to get custom help –
- PS DellSmbios:\> get-help Dellsmbios
- PS DellSmbios:\> get-help DellSmbiosprov
- get-help get-childitem -path DellSmbios:\Bootsequence -showwindow
- get-help -path DellSmbios:\BootSequence Set-Item –full
- get-command -module DellBIOSProvider | get-help
Q: Can I use this with any verison of PowerShell?
A: At this time only PowerShell 3.0 is supported by the Provider.
Q: Do I need to install the HAPI driver?
A: Yes, the HAPI driver is included and needs to be installed.
Q: How do I install the HAPI driver?
A: Please follow the steps below to install HAPI driver
- Unzip the HAPI_X86(*).zipx (32/64 bit Arch) file into your working folder.
- Open a Command Prompt with administrative rights and navigate to your working folder.
- Execute HAPIInstall.bat from the HAPI folder. This should install HAPI driver.
- Execute "Driverquery /v" on the same command prompt and verify if "dcdbas" is visible from the
list.
- If dcdbas is visible, then Driver installation is successful. Else, contact the developer.
Q: Will this work with WinPE?
A: Yes, once you install the HAPI driver into WinPE, you can use the Provider.
Script Examples
---------
1. cd DellSMBIOS:
2. PS DellSMBIOS:\> dir .\SystemConfiguration
3. PS DellSMBIOS:\> cd .\SystemConfiguration
4. PS DellSMBIOS:\SystemConfiguration> dir "Serial Port 1"
5. PS DellSMBIOS:\> dir | select category, desc
6. PS DellSMBIOS:\SystemConfiguration> dir | select attribute, currentvalue, possiblevalues
7. PS DellSMBIOS:\SystemConfiguration> set-item "Serial Port 1" -value COM2 -password dell123
8. PS DellSmbios:\SystemConfiguration> dir integratednic | select -expandproperty possiblevalues
Asset Tag
----------
1. PS DellSmbios:\SystemInformation> si assettag Dell -password dell123
Password
---------
1. To Set - si adminpassword dell1234
2. To change - si adminpassword dell123 -password dell1234
3. To Clear - si adminpassword "" -password dell123
BootSequence
---------------
1. PS DellSmbios:\BootSequence> dir bootlistoption
2. PS DellSmbios:\bootsequence> si bootlistoption Uefi -password dell
Note: To set attribute BootListOption to "Legacy", please ensure that
"AdvancedBootOptions\Enable Legacy Option ROMs" is set to Enabled and SecureBoot is set to Disabled.
3. PS DellSmbios:\> dir bootsequence\bootsequence | select-object -expand currentvalue
4. PS DellSmbios:\BootSequence> si bootsequence "2,3,4" -password dell123
SecureBoot
-----------
Note: This tool cannot disable the SecureBoot.
1. PS DellSmbios:\SecureBoot> si securebootenable enabled -password dell
TPMSecurity
-------------
1. PS DellSmbios:\TPMSecurity> si tpmsecurity enabled -password dell123
Note: System restart is required after changing tpmsecurity.
2. PS DellSmbios:\TPMSecurity> si tpmcommand activate -password dell123
Note - Admin password must be installed and tpmsecurity should have been enabled to activate the
tpmcommand.
ReadMe.TXT details
Dell SMBIOS Provider
------------------------------------------
This is a Powershell provider for configuring the SMBIOS on BizClient systems.
Dell SMBIOS Provider by design works on the F2 (Setup) hierarchy and uses the same strings as in F2
setup menu.
This provider is built for Powershell 3.0.
If your system is running Powershell 2.0, please update it to Powershell 3.0.
You can download the PowerShell 3.0 from the link below -
http://www.microsoft.com/en-us/download/details.aspx?id=34595
Runtime requiremnets -
--------------------------
1. Powershell 3.0
2. Administrator access
4. HAPI driver
Note:- If CCTK or OMCI is installed on the system, HAPI driver will be present on the system.
Please follow the steps below to install HAPI driver
- Unzip the HAPI_X86(*).zipx (32/64 bit Arch) file into your working folder.
- Open a Command Prompt with administrative rights and navigate to your working folder.
- Execute HAPIInstall.bat from the HAPI folder. This should install HAPI driver.
- Execute "Driverquery /v" on the same command prompt and verify if "dcdbas" is visible from the
list.
- If dcdbas is visible, then Driver installation is successful. Else, contact the developer.
What is supported in the provider?
-----------------------------------
1. navigation via cd and dir comamnds
2. All simple "Enumeration" type DA tokens. Please check the command Dir <Category> to get a list
of supported BIOS attributes in that category.
Please note that attribute which is not supported on the system, will not show up.
3. Admin password, System password (Set, Change, Clear)
4. TPM tokens
5. Service tag, Asset Tag
6. BootSequence
7. SecureBoot Enable ( Setting to Disable is NOT supported)
7. case-insensitive no-space strings for category, attribute and current value to set
What is NOT supported yet
--------------------------
1. “Read Only” System Information fields
2. Custom Attributes like PeakShift, Advanced Battery, Battery Charge configuration and etc.
Notes
-------
1. All "possible values" for an attribute are displayed. Possible values are not platform specific.
2. A message *Error Executing DACI !* is shown up when some operation is not successful. This is just
an informational message that BIOS call did not succeed.
Execution
-------------
Please execute as follows -
1. Copy the provider files to your system. For 64-bit OS, copy the files from DellSMBProv\x64 to
any folder on your system.
2. Run Powershell as an administrator, and run the following command:
Set-ExecutionPolicy RemoteSigned
3. CD to folder containing powershell provider binaries -
cd <local path>
4. import-module .\DellBIOSProvider.dll
5. Get-PSDrive -psp DellSMBIOSProv | format-list (Optional)
6. cd DellSMBIOS:
7. dir
8. cd .\POSTBehavior
9. dir Numlock
10. set-item Numlock -value "Enabled"
Generic systax of the cmdlets
------------------------------
1. cd <Category>
2. Dir <attribute>
3. Set-Item <attribute> -value <possible value> -password <PW value>
4. Get-Item .
Examples
---------
1. cd DellSMBIOS:
2. PS DellSMBIOS:\> dir .\SystemConfiguration
3. PS DellSMBIOS:\> cd .\SystemConfiguration
4. PS DellSMBIOS:\SystemConfiguration> dir "Serial Port 1"
5. PS DellSMBIOS:\> dir | select category, desc
6. PS DellSMBIOS:\SystemConfiguration> dir | select attribute, currentvalue, possiblevalues
7. PS DellSMBIOS:\SystemConfiguration> set-item "Serial Port 1" -value COM2 -password dell123
8. PS DellSmbios:\SystemConfiguration> dir integratednic | select -expandproperty possiblevalues
Asset Tag
----------
1. PS DellSmbios:\SystemInformation> si assettag Dell -password dell123
Password
---------
1. To Set - si adminpassword dell1234
2. To change - si adminpassword dell123 -password dell1234
3. To Clear - si adminpassword "" -password dell123
BootSequence
---------------
1. PS DellSmbios:\BootSequence> dir bootlistoption
2. PS DellSmbios:\bootsequence> si bootlistoption Uefi -password dell
Note: To set attribute BootListOption to "Legacy", please ensure that
"AdvancedBootOptions\Enable Legacy Option ROMs" is set to Enabled and SecureBoot is set to Disabled.
3. PS DellSmbios:\> dir bootsequence\bootsequence | select-object -expand currentvalue
4. PS DellSmbios:\BootSequence> si bootsequence "2,3,4" -password dell123
SecureBoot
-----------
Note: This tool cannot disable the SecureBoot.
1. PS DellSmbios:\SecureBoot> si securebootenable enabled -password dell
TPMSecurity
-------------
1. PS DellSmbios:\TPMSecurity> si tpmsecurity enabled -password dell123
Note: System restart is required after changing tpmsecurity.
2. PS DellSmbios:\TPMSecurity> si tpmcommand activate -password dell123
Note - Admin password must be installed and tpmsecurity should have been enabled to activate the
tpmcommand.