Powershell & WPF: Build a prerequisites GUI - Part 1


In this post, I will show you a short sample to create easily your prerequisites part in a GUI.
Sometimes it could be useful to have a prerequisites part to check some parameters before clicking on a button and starting a process.

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.