Manage Autopilot with PowerShell: More features


The WindowsAutopilotIntune PowerShell module allows you to manage Autopilot. In this post, I will show you an update I did on this module on my lab in order to add more options.
Indeed I will show you how to set a deployment profiles and manage enrollment status page (add, set, list, remove) with PowerShell.

Run Configuration Manager Client actions from the systray


In this post I will show you a little tool I created that allows you to quicly run Configuration Manager Client actions from the client computer.
This is my first post about ConfigMgr so be indulgent :-)

Why this ?
Recently a client asked me to create a tool to use on nomad client in order to refresh Configuration Manager from the client.
He wanted to refresh many actions in one click, instead of going in the Configuration Manager client, then client on Actions and Run and Run... as below:

All actions were located in an XML file with an Active tag to set to True or False.

How to get it ?

Context ?
An icon is located in the systray bar, as below:
User click on the icon or do a right-click then click on CM force Update, 
It will refresh selected Configuration Manager actions.

The XML file
To choose which action you want to update or not, change the XML node from False to True, as below:
All nodes configured with Active status to True will be refresh once you click on the icon.

How to implement it ?
1 / Check if files have note been blocked after download
2 / Run the file CM_Force_Update.ps1
3 / An icon will be added in the systray
4 / You can create a scheduled task to run the tool at every log on for instance. In the downloaded folder you can find a script to create this kind of scheduled task: Scheduled_Task.ps1

How to use it ?
1 / Change values from the XML file to choose which actions to refresh or not
2 / Click on the icon
OR
2 / Do a right-click and click on CM Force Update

See below differents results from the tool.

If a prerequisites (see below prerequistes) fails it will display a GUI as below:
- Check SMS service
- Check connection to the Management Point


If everything has been successully refreshed the below GUI will be display:

If an error occured during update the below will be displayed
Click on the View details button to view which action has failed



List and change BIOS settings with PowerShell


In this post I will show you how to list and change BIOS settings for HP, Dell and Lenovo with PowerShell only.

In my previous posts, I did some tools and module to list, export and change BIOS settings for local and remote computers and many manufacturers.
I will now show you how to manage BIOS settings with PowerShell only:
- List settings
- Change settings without BIOS password 
- Change settings with BIOS password configured 
- Change settings from a CSV file that contains settings to change

I say only, because there are some tools available to manage BIOS with PowerShell. For instance for HP, there is a utility called BCU.
As I don't want any other tools to manage BIOS I just used PowerShell.

List BIOS Settings

For HP
To get BIOS settings the WMI query to use is the below one:
You can get for instance settings name, current value and also available values, as below:
# settings name, current value and also available values In my tool and modules I used the below function:

For DELL
A module is available to list BIOS settings, 
To use it and list name, current value, available values you can use the function below:
To list specific values proceed as below:

For LENOVO
To get BIOS settings the WMI query to sue is the below one:
You can get for instance settings name, current value and also available values, as below:
In my tool and modules I used the below function:


Change BIOS settings

For HP
The first step will be to check if a BIOS password is configured.
For that use the below query:
To change settings without BIOS password proceed as below:
To change settings with a BIOS password proceed as below:
To change a list of settings for instance from a CSV file.
To check if settings have been correctly changed, proceed as below:
See below return code and here the full doc.

My CSV contain all setings to change an new values, as below:

For LENOVO
The first step will be to check if a BIOS password is configured.
For that use the below query:
To change settings without BIOS password proceed as below:
To change settings with a BIOS password proceed as below:
To change a list of settings for instance from a CSV file.
To check if settings have been correctly changed, proceed as below:

See below return code and here the full doc.

For DELL
The first step will be to check if a BIOS password is configured.
For that use the below query:
To change a Dell BIOS setting you have to know what is the category of the setting you want to change.
To resume the category is the part where is located your setting, for instance which Tab.
For example, settings FnLock and NumLock are located in the Category POSTBehavior.
To set it proceed as below:
To change settings without BIOS password proceed as below:
To change settings with a BIOS password proceed as below:
To change a list of settings for instance from a CSV file.
My CSV contain all setings to change an nexw values, as below.

BIOS checker: Export / Compare local and remote BIOS settings


In this post, I will show you a tool I created that allows you to export BIOS configurations from local or remote computer(s) to a CSV or HTML report. 
It also allows you to compare both configurations and do an HTML or Excel comparison report.


How to get the tool ?



How it looks like ?
The tool is composed of two parts 
- Export BIOS
- Compare BIOS

The export BIOS part looks like as below:

For now three manufacturers are available. I will add more.
- Dell
- HP
- Lenovo

A button in the title bar allows you to set credentials to get remote computers configuration
The compare BIOS part looks like as below:

Another theme is available, a Dark Theme, as below:
To use it, change the XAML to launch at line 30.

Note: Depending of the language of your computer, the Excel report may be displayed in one column instead of one per part. You can use Excel to change that :-)


Export Part

Export local BIOS configuration
1 / Choose your manufacturer
2 / Choose the folder where your export will be saved
3 / Choose the export format
- HTML
- CSV, XLSX
4 / In the export type part, choose local computer
5 / Click on the Export BIOS button
6 / Once the process starts the GUI will be hidden until the end.
If you have selected CSV, your report will look like as below:

If you have selected HTML, your report will look like as below:

Export one remote BIOS configuration
1 / Click in the title bar button
2 / Type credentials to access to the remote computer
3 / Choose your manufacturer
4 / Choose the folder where your export will be saved
5 / Choose the export format
- HTML
- CSV, XLSX
6 / In the export type choose remote computer
7 / In the target part, choose one computer
8 / Type the remote computer name in the TextBox
9 / Click on the Export BIOS button
10 / Once the process starts the GUI will be hidden until the end.

Export multiple remote BIOS configuration
1 / Click in the title bar button
2 / Type credentials to access to the remote computer
3 / Choose your manufacturer
4 / Choose the folder where your export will be saved
5 / Choose the export format
- HTML
- CSV, XLSX
6 / In the export type choose remote
7 / In the target part, choose multiple computers
8 / In the computer list part, click on the button an choose the list of computers to manage. All computers should be located in a TXT file.
9 / Click on the Export BIOS button
10 / Once the process starts the GUI will be hidden until the end.


Compare Part
1 / Choose the export format of the report
- HTML
- XLSX
2 / Choose the folder where your export will be saved
3 / Choose the both CSV files to compare
4 / Click on the compare button
If you have selected CSV, your report will look like as below:

If you have selected HTML, your report will look like as below: