Q: What version of PowerShell do I need?

You will need PowerShell 5.1 or later. To check the version, open up PowerShell and type:


The result should be at least '5' under Major version and '1' under Minor version.

PowerShell ISE is not recommended and may produce inconsistent results.

Q: I am getting an Out of Memory error running some functions randomly

Unfortunately this is not something that can usually be addressed in scripts. Consider increasing the memory allocated by PowerShell in general. For more information, see Learn How to Configure PowerShell Memory

Q: I can no longer change the BIOS settings, and I know my BIOS setup password is correct.

If some application attempts to change the BIOS settings with the wrong password a number of times (more than 3) the BIOS will go into lockdown mode. You will need to reboot the computer to clear the lockdown mode.

Q: How do I tell what version of CMSL modules I am running?

There are a few ways to tell the version of the CMSL modules. If they are already loaded, you can use:

PS c:\> Get-Module -ListAvailable -Name 'HP.*'

ModuleType Version    Name                                ExportedCommands
---------- -------    ----                                ----------------
Script    MyModule                            ...

The CMSL function Get-HPCMSLEnvironment will get the system information including the CMSL module versions:

PS c:\> Get-HPCMSLEnvironment > systeminfo.txt

If you do not show a CMSL module loaded, you must first load the module, then use Get-Module:

PS c:\> Import-Module MyModule
PS c:\> Get-Module MyModule

ModuleType Version    Name                                ExportedCommands
---------- -------    ----                                ----------------
Script    MyModule                            ...

Q: I want to install modules manually; where should I place them?

  • Install modules per user by copying them to %UserProfile%\Documents\WindowsPowerShell\Modules.
  • Install modules for all users by copying them to %ProgramFiles%\WindowsPowerShell\Modules.

Please make sure you use a well-formed directory name. In general, the module folder name (e.g. HP.Softpaq) should be directly under one of the directories listed above).

Q: How do I do a silent install of the library?

Run the installer with the /SILENT flag, which will suppress prompts while using defaults, but still show progress. If you do not want to see progress either, specify the /VERYSILENT switch instead.

To automate installation with custom options, or to see additional switches, consult the command line options documentation for InnoSetup, at http://www.jrsoftware.org/ishelp/topic_setupcmdline.htm

Q: I want to install the modules from the PowerShell Gallery; how do I do that?

Ensure that you have the latest version of NuGet. From an administrative PowerShell window type:

PS C:\> Install-PackageProvider -Name NuGet -Force

Name            Version                Source                  Summary
----            -------                ------                  -------
Nuget               https://onege...        NuGet provider for the OneGet meta-package manage

Install the latest version of PowerShellGet. From an administrative PowerShell window type:

PS C:\> Install-Module -Name PowerShellGet  -Force

It is recommended that you exit the PowerShell instance at this point, to resolve any command resolution issues.

Note that due to a bug in the way some versions of PowerShellGet versions are published, you may have to specify the -SkipPublisherCheck argument. For example:

PS C:\> Install-Module -Name PowerShellGet -SkipPublisherCheck -Force

If you encounter this issue and would like more information, please contact the PowerShell team through their Github repository, at https://github.com/PowerShell/PowerShellGet.

Next, review the license agreement on the PowerShell Gallery product page (https://www.powershellgallery.com/packages/HPCMSL) , and Install HP Client Management Script Library. From an administrative PowerShell window type:

PS C:\> Install-Module -Name HPCMSL -AcceptLicense

The PowerShell modules should download and install into the execution path.

Q: I want to use CMSL modules without having to install them; how do I do that?

Extract the modules to a local folder of your choice using the correct version of the CMSL EXE.

PS C:\> mkdir localdir
PS C:\> hp-cmsl.exe /VERYSILENT /SP- /UnpackOnly="True" /DestDir="C:\localdir\hp-cmsl"

Import the modules from your local folder

PS C:\> Import-Module -Force C:\localdir\hp-cmsl\modules\HP.Consent\HP.Consent.psd1
PS C:\> Import-Module -Force C:\localdir\hp-cmsl\modules\HP.Private\HP.Private.psd1
PS C:\> Import-Module -Force C:\localdir\hp-cmsl\modules\HP.Utility\HP.Utility.psd1
PS C:\> Import-Module -Force C:\localdir\hp-cmsl\modules\HP.ClientManagement\HP.ClientManagement.psd1
PS C:\> Import-Module -Force C:\localdir\hp-cmsl\modules\HP.Firmware\HP.Firmware.psd1
PS C:\> Import-Module -Force C:\localdir\hp-cmsl\modules\HP.Softpaq\HP.Softpaq.psd1
PS C:\> Import-Module -Force C:\localdir\hp-cmsl\modules\HP.Repo\HP.Repo.psd1
PS C:\> Import-Module -Force C:\localdir\hp-cmsl\modules\HP.Sinks\HP.Sinks.psd1
PS C:\> Import-Module -Force C:\localdir\hp-cmsl\modules\HP.Retail\HP.Retail.psd1
PS C:\> Import-Module -Force C:\localdir\hp-cmsl\modules\HP.Notifications\HP.Notifications.psd1

Q: Where can I see a copy of the End User License Agreement?

You can review the license here: