DCPP 2 7 en Us
DCPP 2 7 en Us
DCPP 2 7 en Us
October 2022
Rev. A00
Notes, cautions, and warnings
NOTE: A NOTE indicates important information that helps you make better use of your product.
CAUTION: A CAUTION indicates either potential damage to hardware or loss of data and tells you how to avoid
the problem.
WARNING: A WARNING indicates a potential for property damage, personal injury, or death.
© 2022 Dell Inc. or its subsidiaries. All rights reserved. Dell Technologies, Dell, and other trademarks are trademarks of Dell Inc. or its
subsidiaries. Other trademarks may be trademarks of their respective owners.
Contents
Chapter 2: System requirements and prerequisites for Dell Command | PowerShell Provider
2.7............................................................................................................................................. 6
Supported Dell platforms...................................................................................................................................................6
Prerequisites......................................................................................................................................................................... 6
Installing Windows PowerShell................................................................................................................................... 6
Configuring Windows PowerShell.............................................................................................................................. 7
Chapter 3: Download and installation steps for Dell Command | PowerShell Provider 2.7.............. 8
Downloading Dell Command | PowerShell Provider 2.7...................................................................................8
Downloading the Dell Command | PowerShell Provider 2.7 module from the Dell support site.................8
Downloading and installing the Dell Command | PowerShell Provider 2.7 module from Microsoft
Gallery...........................................................................................................................................................................8
Installing Dell Command | PowerShell Provider 2.7.....................................................................................................9
Unblocking the DellCommandPowerShellProviderDell_<build number>.zip................................................... 9
Uninstalling Dell Command | PowerShell Provider 2.7................................................................................................9
Upgrading Dell Command | PowerShell Provider 2.7................................................................................................ 10
Contents 3
Sample scripts.............................................................................................................................................................. 25
Chapter 7: Frequently asked questions for Dell Command | PowerShell Provider 2.7................... 30
4 Contents
1
Introduction to Dell Command | PowerShell
Provider 2.7
The Dell Command | PowerShell Provider module enables BIOS configuration for Dell enterprise client systems through the
Windows PowerShell interface. It works for local systems, remote systems, and Windows Preinstallation Environment (WinPE).
This document describes the supported attributes, and error reporting in Dell Command | PowerShell Provider.
Topics:
• Document scope and intended audience
• What’s new in this release
Prerequisites
Before installing Dell Command | PowerShell Provider, ensure that you have the following system configuration:
Microsoft Visual C+ 2010, 2015, and 2019 2010, 2015, and 2019 must be available.
+ redistributable
6 System requirements and prerequisites for Dell Command | PowerShell Provider 2.7
Configuring Windows PowerShell
● Ensure that you have Administrative privileges on the Dell business client system.
● By default Windows PowerShell has its ExecutionPolicy set to Restricted. To run the Dell Command | PowerShell Provider
cmdlets and functions, ExecutionPolicy must be changed to RemoteSigned at a minimum. To apply the ExecutionPolicy, run
Windows PowerShell with Administrator privileges, and run the following command within the PowerShell console:
NOTE: If there are more restrictive security requirements, set the ExecutionPolicy to AllSigned. Run the following
command within the PowerShell console: Set-ExecutionPolicy AllSigned -Force.
NOTE: If using an ExecutionPolicy based process, run Set-ExecutionPolicy each time a Windows PowerShell console is
opened.
● To run Dell Command | PowerShell Provider remotely, you must enable PS remoting on the remote system. To initiate
remote commands, check system requirements and configuration requirements by running the following command:
System requirements and prerequisites for Dell Command | PowerShell Provider 2.7 7
3
Download and installation steps for Dell
Command | PowerShell Provider 2.7
This section describes how to download, install, uninstall, and upgrade Dell Command | PowerShell Provider.
Topics:
• Downloading Dell Command | PowerShell Provider 2.7
• Installing Dell Command | PowerShell Provider 2.7
• Uninstalling Dell Command | PowerShell Provider 2.7
• Upgrading Dell Command | PowerShell Provider 2.7
8 Download and installation steps for Dell Command | PowerShell Provider 2.7
● For 64-bit operating system, Install-Module DellBIOSProvider.
The latest version of Dell Command | PowerShell Provider available at Microsoft Gallery is installed.
4. To download the nuget-anycpu.exe file, enter Y.
4. Copy the folders and files from the downloaded .zip file to Dell Command | PowerShell Provider module folder.
● For 32-bit systems; copy the files from DellBIOSProviderX86 folder to ${env:ProgramFiles}
\WindowsPowerShell\Modules
● For 64-bit systems; copy the files from DellBIOSProvider folder to ${env:ProgramFiles}
\WindowsPowerShell\Modules
5. After install, run the Get-Module –ListAvailable command to verify that the module is available along with the
available exported commands.
NOTE: If more than one version of Dell Command | PowerShell Provider are installed on the system, then the above
command deletes the versions in descending order. For example, if you have 1.0 and 1.1 installed in your system, the above
command deletes the later version (1.1) first. Version 1.0 can be deleted by running this command again.
Download and installation steps for Dell Command | PowerShell Provider 2.7 9
Upgrading Dell Command | PowerShell Provider 2.7
If you have Dell Command | PowerShell Provider that are already installed in your system, then remove the Dell Command |
PowerShell Provider folders and files before installing the later version of Dell Command | PowerShell Provider.
To upgrade Dell Command | PowerShell Provider, run the following command:
● For 32-bit systems; update-Module -name DellBIOSProviderX86
● For 64-bit systems; update-Module -name DellBIOSProvider
NOTE: The above command only installs the latest version of Dell Command | PowerShell Provider available at Microsoft
Gallery, and does not remove the existing version. You must manually uninstall the existing version from your system.
To uninstall the previous version, see Uninstalling Dell Command | PowerShell Provider 2.6.
10 Download and installation steps for Dell Command | PowerShell Provider 2.7
4
Getting started with Dell Command |
PowerShell Provider 2.7
This section describes on how to import the module, general navigation, supported cmdlets, and custom functions of Dell
Command | PowerShell Provider.
Topics:
• Importing Dell Command | PowerShell Provider
• Navigating using the Windows PowerShell console
• Supported cmdlets in Dell Command | PowerShell Provider
• Custom functions in Dell Command | PowerShell Provider
• Parameters supported in Dell Command | PowerShell Provider
• Configuring attributes using Dell Command | PowerShell Provider
• Features supported in Dell Command | PowerShell Provider
• Desired State Configuration (DSC) for Dell Command | PowerShell Provider
To verify the import, run the following cmdlet within PowerShell console, and look for DellSMBIOS.
Get-PSDrive
To access the attributes in each category, set location to the desired category and then run Get-Childitem cmdlet.
NOTE: Press Tab To complete the Dell Command | PowerShell Provider cmdlet in the Windows PowerShell console.
Get-Location pwd Displays the current path/location within the DellSMBIOS drive.
Get-Item gi Displays the item at the specified location within the DellSMBIOS drive.
Get-ChildItem dir Displays the child items at the specified location within the DellSMBIOS
drive.
Find-Module fimo Finds available modules from the online PowerShell Gallery.
Get-Module gmo Gets the list modules that have been imported or that can be imported into
the current session.
Install-Module inmo Installs the specified module from the PowerShell Gallery.
Remove-Module rmo Removes the imported module from the PowerShell console.
PasswordSecure Provides the password that is set in a secure All configurable attributes
text.
DellSMBIOS:\POSTBehavior\Numlock
Password parameters
Dell Command | PowerShell Provider allows you to provide a password either in plain text or in secure text.
-Password: Provide the password that is set in the plain text.
Format:
Example:
Example:
Example: To set BeginningOfDay value only. Workperiod value for Monday remains unchanged.
If the status retrieved as Custom, then to know the percent when charging starts and ends, retrieve CustomChargeStart and
CustomChargeStop attributes.
Example: To set the battery charging mode as standard.
Example: To set the battery charge mode as custom and then to specify the start time and duration when the battery should be
charged.
● Sets the PrimaryBattChargeCfg attribute to charge battery based on user settings specified in CustomChargeStart and
CustomChargeStop attributes. If the value 'Custom' is chosen,
○ Charging starts based on the battery percent defined in CustomChargeStart.
○ Charging ends based on the battery percent defined in CustomChargeStop.
● Set-Item -Path DellSmbios:\PowerManagement\CustomChargeStart “65” command can be used to start
battery charging at 65%.
● Set-Item -Path DellSmbios:\PowerManagement\CustomChargeStop “95” command can be used to stop
battery charging at 95%.
● Possible values for the CustomChargeStart attribute ranges from 50 to 95 percent and for the CustomChargeStop percent
ranges from 55 to 100 percent.
NOTE: The configuration applies to all batteries: Primary, Slice, and Module Bay.
Example: To set the PeakShift StartTime, EndTime, and ChargeStartTime for Sunday.
Example: To change StartTime value for Monday. EndTime and ChargeStartTime values remain unchanged for Monday.
KeyboardBacklightEnabledColors
Possible values: White, Red, Green, Blue, Custom1, Custom2, and NoColor.
Displays or enables the supported colors for the keyboard backlight in the rugged systems. Multiple colors out of the six colors
can be set as enabled colors. After enabling colors, you can switch among the enabled colors by pressing Fn+C keys. Enabled
color can be set as NoColor which means no color is selected.
NOTE:
● If value “NoColor” is provided, keyboard backlight color switching by pressing Fn+C keys is not possible.
● The value “NoColor” cannot be combined with any other color.
Example: To set the list of enabled colors as red, green, custom1, and custom2 for KeyboardBacklightEnabledColors attribute.
Provide the secure password, if set, using the secure password parameter.
Example: To set the enabled colors as NoColor for KeyboardBacklightEnabledColors attribute.
Provide the secure password, if set, using the secure password parameter.
KeyboardBacklightActiveColor
Possible values: White, Red, Green, Blue, Custom1, and Custom2
Displays or sets an active color for the keyboard backlight in the rugged systems. Any one out of the six colors can be chosen as
an active color at a time.
Provide the secure password, if set, using the secure password parameter.
KeyboardBacklightCustom1Color
Configures the custom1color by specifying the Red, Green, and Blue (R:G:B) values. The color can be selected using RGB
components by mentioning it in ‘R:G:B’ format. Each color component value ranges from 0 to 255.
Example: Retrieves the RGB value in R:G:B format of Custom1 color for keyboard backlight.
KeyboardBacklightCustom2Color
Configures the custom2color by specifying the Red, Green, and Blue (R:G:B) values. The color can be selected using RGB
components by mentioning it in ‘R:G:B’ format. Each color component value ranges from 0 to 255.
Example: To set the red as 234, green as 35 and blue as 56 for Custom1 color using KeyboardBacklightCustom1Color attribute.
Provide the secure password, if set, using the secure password parameter.
Provide the secure password, if set, using the secure password parameter.
BootSequence—Specifies the order in which a system searches for devices when trying to find an operating system to boot.
The Boot Sequence option allows users to customize the boot order and boot ability of boot devices. The UEFI BIOS allows the
selection of UEFI boot paths or Legacy boot devices.
To configure the sequence of the boot devices, verify the current status of the boot order with name, shortform, and device
number. Then, provide the sequence to change the boot order. For example, see the following table:
Then, to set the Internal HDD as first, USB Storage Device as second, and Onboard NIC as third; provide BootSequence as 13,
14, 16.
NOTE: The device numbers that are not mentioned will be moved down the order.
Example: To see the current boot order with name, device number, and status.
NOTE: If both Admin and System passwords exist, then to change the system password, provide either Admin or System
password.
NOTE:
● To clear the system password where both Admin and System passwords exist, you must provide either the Admin or
System password.
● If the System password and/or HDD password are set, the Admin password cannot be set.
● If the Admin password is set in the system, and you want to configure BIOS tokens/features, you must provide the Admin
password.
Generic disclaimer
Powershell PSReadline module saves every console command that you enter to a text file. So it is recommended to use
"Get-Credential" commandlet to handle the password securely.
1. $cred = Get-Credential
2. Enter your username and password, for example, AdminPWD and Dell_123$, when the dialog box is displayed.
3. $BSTR = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($cred.Password)
4. $plainpwd=[System.Runtime.InteropServices.Marshal]::PtrToStringAuto($BSTR)
5. Get-CimInstance -Namespace root\dcim\sysman -ClassName DCIM_BIOSService | Invoke-CimMethod MethodName
SetBIOSAttributes -Arguments @{AttributeName=@("AdminPwd");AttributeValue=@(" $plainpwd ")}
6. si .\NumLockLed disabled -password $plainpwd
HDDInfo
Displays the details of each HDD. The following information is displayed:
● HDD Name—The name of the HDD.
● Present—Whether the HDD is physically present.
● PwdProtected—Whether a password exists for the HDD.
● PendingRestart—Whether a reboot is pending to set the password.
● AdminOnlyChange—Whether the changes to the password can be made only by an administrator.
● SecureEraseSupported—Whether HDD Secure Erase is supported.
● SecureEraseEnabled—Whether HDD Secure Erase is enabled.
Configure the following:
● AdminPassword—Specify the Admin password while setting HDD password if administrator has restricted the changes to
the HDD password.
● ATAMaximumSecurityMode—Provide the value as '0' if you want HDD to be configured in ATA High Security Mode, or '1' if
you want the HDD to be configured in ATA maximum Security Mode (Secure Erase).
Example: To change the HDD password from the current value to a new value.
Example: To enable TPM Activation. TPM Activation can be enabled only if the Tpmsecurity is enabled.
NOTE: Admin password must be provided and TpmSecurity should have been enabled to enable the TpmActivation.
NOTE: get-item and set-item both are supported for the flag.
NOTE: The get-item for ForcedNetworkFlag might fail because either the platform is not UEFI or
FORCED_NETWORK_FLAG is not defined in UEFI space. Try to set this flag to the preferred value and then get its
value.
NOTE: In case of reimaging the system, this flag maintains its value until the initial setup screen stage after reimaging.
After the initial setup, once the system boots, it is mandatory to define or set ForcedNetworkFlag to the preferred value.
NOTE: ForcedNetworkFlag is part of operating system and not part of managed BIOS, hence no password protection is
provided.
Prerequisite
Prerequisites for the client and server systems:
● PowerShell 5.0
NOTE: The WinRM service should be started in both client and server systems.
NOTE: To initiate remote command, check system and configuration requirements in details by executing the following
cmdlet:
get-help about_Remote_Requirements
Get-Help About_DellBIOSProvider_DscResources
Get-DscResource *DCPP*
For more information on attributes, refer the Reference Guide available at Dell.com/DellClientCommandSuiteManuals.
The Dell Command | PowerShell Provider resources can verify the configuration drift, get current value settings, and set
desired value on Dell client systems. This workflow is similar to the flow of ‘Test-‘ and ‘Set-‘ of standard DSC configurations.
When you define BIOS configurations using scripts, the resources declared for Dell Command | PowerShell Provider are used
to monitor drift and maintain the configuration. Declared resources must be present both on server and client systems for
successful authoring, staging, and enactment.
● Node—Node is a target system on which you want to enforce the configuration. Node can either be an IP address or a
system name.
Dell Command | PowerShell Provider resources work seamlessly in both Push and Pull modes. In Push mode you author a
configuration, stage it to generate the Managed Object Format (MOF), and enact it on target nodes. In Push mode the server is
only a medium to author and enact the configuration onto nodes. The Local Configuration Manager (LCM) agent on the target
nodes, ensures that systems are configured according to the configuration declaration. In Pull mode, the server is defined as a
Pull Server. The Pull Server has web services running which initiates a handshake between the server and the client systems.
The server contains the MOF at a standard location, and whenever there is a change in the checksum associated with the MOF
file, the client machine(s) pulls the configuration from the server and enforces it on the client systems. In Pull mode the LCM of
the client system(s) is set to Pull mode. These settings of the LCM are called meta – configuration.
Desired State Configuration Logs can be viewed using Windows Event Viewer. Configuration drifts on Dell client systems are
recorded in this event log at Applications and Service Logs -> DellClientBIOS PowerShell.
To check the syntax and properties accepted by a Dell Command | PowerShell Provider DSC resource, run the cmdlet in the
following format:
Sample scripts
This section provides some exemplary sample scripts that depict the typical usage of Desired State Configuration using the
functionality of Dell Command | PowerShell Provider for enforcing BIOS settings of the supported attributes. The scripts
authored for Desired State Configuration should be saved in .ps1 format.
NOTE:
● Category property is mandatory field for each resource.
● BlockDefinition is a mandatory property only for the Powermanagement category. BlockDefinition must be unique for
each resource block in the Powermanagement category.
Configuration POSTBehaviorConfiguration
{
Import-DscResource -ModuleName DellBIOSProvider
Node 200.200.200.2 {
Configuration PowerManagementConfiguration
{
Import-DscResource -ModuleName DellBIOSProvider
Node 200.200.200.2 {
PowerManagement PowerManagementSettingsTuesday #resource name
{
Category = "PowerManagement"
BlockDefinition="1"
AdvancedBatteryChargeConfiguration = "Tuesday"
BeginningOfDay = "10:30"
WorkPeriod = "15:45"
}
Configuration PowerManagementConfigurationPeak
{
Import-DscResource -ModuleName DellBIOSProvider
Node localhost {
PowerManagement PowerManagementSettingsSaturday #resource name
{
Category = "PowerManagement"
BlockDefinition="1"
PeakShiftDayConfiguration = "Saturday"
StartTime = "10:30"
EndTime = "12:30"
ChargeStartTime = "13:30"
}
Configuration POSTBehaviorConfiguration
{
Import-DscResource -ModuleName DellBIOSProvider
Node clientMachine01 {
POSTBehavior POSTBehaviorSettings #resource name
{
Category = "POSTBehavior"
Keypad = "EnabledByNumlock"
Password = “biospassword”
}
}
}
NOTE: For more sample scripts, see theDellBIOSProvider > DSC_SampleScripts folder.
2. Create the WinPE Image, adding PowerShell support to WinPE. See https://technet.microsoft.com/en-us/library/
dn605289.aspx.
3. Copy Dell Command | PowerShell Provider folders and files into your WinPE bootable device (CD/USB).
4. Copy msvcp100.dll, msvcr100.dll from VC2019; and msvcp140.dll, msvcr140.dll, vccorlib140.dll from VC2019 inside the Dell
Command | PowerShell Provider module.
5. Boot to WinPE and open the Windows PowerShell console.
6. Navigate to the directory where Dell Command | PowerShell Provider folders and files have been copied based on the
client’s WinPE architecture.
7. Import the module. See Importing Dell Command | PowerShell Provider.
On a successful import, the following message is displayed: To get more help about the Dell Command PowerShell provider,
run the following command based on the operating system: For 64 bit — Get-Help DellBIOSProvider and For
32 bit — Get-Help DellBIOSProviderX86. Now, you can access DellSMBIOS drive to manage your Attributes. For
more information, see https://www.dell.com/support/article/en-us/sln313406/installing-the-dell-smbios-powershell-provider-
in-windows-pe?lang=en
Displays information such as Name, Synopsis, Syntax, Description, Related links, Remarks, etc.
● Get-Help Set-Item -Path <path to attribute> Full
Example: Get-Help Set-Item -Path DellSMBIOS:
\PowerManagement\AdvanceBatteryChargeConfiguration -Full
Displays information such as Name, Synopsis, Syntax, Description, Related links, Remarks, etc.
You can get more detailed information on the cmdlet and function and how to use it by using the Full, Detailed, and Examples
parameters with Get-Help.
● Get-Help About_DellBIOSProvider
● Get-Help About_DellBIOSProvider_DscResources
Displays a conceptual help about Dell Command | PowerShell Provider.
Get-Module –ListAvailable
If you find DellBIOSProvider, you have successfully installed Dell Command |PowerShell Provider module in your system. Then
you can import the module get started. See Importing Dell Command | PowerShell Provider.
Get-DellBiosSettings