Metsys Blog

Windows Autopilot et PowerShell – Partie 2

Cliquez pour évaluer cet article !
0 avis

Dans l’article précédent, nous avons découvert le module WindowsAutopilotIntune, développé par Microsoft, permettant de gérer et préparer son environnement Autopilot.

Dans cet article, je vais vous présenter quelques fonctionnalités, cmdlets, supplémentaires que j’ai intégré dans ce module, dans mon lab, en espérant que celles-ci soient implémentées dans le module officiel.

Mes ajouts

Dans cet article je vais vous présenter les cmdlets que j’ai ajouté:

  • Set-AutopilotProfile : Modifuer les options d’un profil de déploiement
  • Remove-AutoPilotProfile : Supprimer un profil de déploiement
  • Set-AutoPilotProfileAssignedGroup : Assigner un groupe à un profil
  • Remove-AutoPilotProfileAssignedGroup : Supprimer l’assignation d’un groupe
  • Get-AutoPilotProfileAssignedDevice : Lister les appareils assignés à un profil
  • Get-AutoPilotProfileAssignments : Lister les groupes assigner à un profil
  • Add-EnrollmentStatusPage : Créer une page d’enrollment
  • Get-EnrollmentStatusPage : Lister les pages d’enrollment
  • Set-EnrollmentStatusPage : Modifier les options d’une page d’enrollment
  • Remove-EnrollmentStatusPage : Suuprimer une page d’enrollment

Où les trouver ?

Modifier un profil de déploiement

Quel cmdlet ?

Set-AutoPilotProfile

Que fait-elle ?

Cette cmdlet existe déjà dans le module WindowsAutopilot.
Par défaut, celle-ci ne permet que de modifier le paramètre de langue.
J’y ai donc ajouté la possibilité de modifier les paramètres ci-dessous :

  • Cacher les paramètres EULA
  • Cacher privacy settings
  • Changer le nom d’affichage de la machine
  • Changer la description
  • Ajouter un modèle de nom
  • Modifier l’option permettant de cacher ou non les options de changement de compte
  • Configurer la valeur « Convert all targeted devices to Autopilot »


Comment l’utiliser ?

Saisir Set-AutoPilotProfile puis l’ID du profile à modifier.
Les différents paramètres sont disponibles ci-dessous :

.PARAMETER id
The ID (GUID) of the profile to be updated.

.PARAMETER language
The language identifier (e.g. "en-us") to be configured in the profile.

.PARAMETER description
The description to be configured in the profile.

.PARAMETER ConvertDeviceToAutopilot
Configure the value "Convert all targeted devices to Autopilot"

.PARAMETER OOBE_HideEULA
Configure the OOBE option to hide or not the EULA

.PARAMETER OOBE_hidePrivacySettings
Configure the OOBE option to hide or not the privacy settings

.PARAMETER OOBE_HideChangeAccountOpts
Configure the OOBE option to hide or not the change account options

.PARAMETER OOBE_userTypeAdmin
Configure the user accout type as administrator. If ot set user type is Standard

.PARAMETER OOBE_NameTemplate
Configure the OOBE option to apply a device name template

.PARAMETER OOBE_SkipKeyboard
Configure the OOBE option to skip or not the keyboard selection page

.EXAMPLE
Set-AutoPilotProfile -ID <guid> -Language "en-us"
Set-AutoPilotProfile -ID <guid> -Language "en-us" -displayname "My testing profile" -Description "Description of my profile" -OOBE_HideEULA $True -OOBE_hidePrivacySettings $True

La cmdlet en action

Dans l’exemple suivant, je vais modifier les paramètres tel que ci-dessous :

  • Description : Testing profile
  • Hide EULA : Yes
  • Hide privacy settings : Yes

Ci-dessous le profil après modification dans Intune :

Créer un profil de déploiement

Quel cmdlet ?

Add-AutoPilotProfile

Que fait-elle ?

Permet de créer un profil de déploiement.

Comment l’utiliser ?

Saisir Add-AutoPilotProfile puis au moins le nom du profile à créer.
Les différents paramètres sont disponibles ci-dessous :

.PARAMETER language
The language identifier (e.g. "en-us") to be configured in the profile.

.PARAMETER description
The description to be configured in the profile.

.PARAMETER ConvertDeviceToAutopilot
Configure the value "Convert all targeted devices to Autopilot"

.PARAMETER OOBE_HideEULA
Configure the OOBE option to hide or not the EULA

.PARAMETER OOBE_hidePrivacySettings
Configure the OOBE option to hide or not the privacy settings

.PARAMETER OOBE_HideChangeAccountOpts
Configure the OOBE option to hide or not the change account options

.PARAMETER OOBE_userTypeAdmin
Configure the user accout type as administrator. If ot set user type is Standard

.PARAMETER OOBE_NameTemplate
Configure the OOBE option to apply a device name template

.PARAMETER OOBE_SkipKeyboard
Configure the OOBE option to skip or not the keyboard selection page

.EXAMPLE
Add-AutoPilotProfile -displayname "My testing profile"
Add-AutoPilotProfile -Language "en-us" -displayname "My testing profile" -Description "Description of my profile" -OOBE_HideEULA $True -OOBE_hidePrivacySettings $True

La cmdlet en action

Ci-dessous la liste des profils avant création :

Ci-dessous la cmdlet en action :

Ci-dessous le profil après modification dans Intune :

Supprimer un profil de déploiement

Quel cmdlet ?

Remove-AutoPilotProfile

Que fait-elle ?

Permet de supprimer un profil de déploiement.

Comment l’utiliser ?

Saisir Remove-AutoPilotProfile puis l’ID du profile à supprimer.
Pur obtenir l’ID du profil de déploiement, vous pouvez utiliser la cmdlet Get-DeploymentProfile, ou cliquer sur le profil concerné dans Intune. L’ID est alors visible dans la barre d’adresse.

La cmdlet en action

Ci-dessous la liste des profils depuis Intune :

Ci-dessous la cmdlet en action :

Ci-dessous la liste des profils depuis Intune, après suppression :

Assigner un groupe à un profil de déploiement

Quel cmdlet ?

Set-AutoPilotProfileAssignedGroup

Que fait-elle ?

Permet d’assigner un groupe Azure AD à un profil de déploiement spécifique.

Comment l’utiliser ?

Saisir Set-AutoPilotProfileAssignedGroup, l’ID du profil à supprimer et l’ID du groupe à assigner.

La cmdlet en action

Ci-dessous les options d’assignation avant la modification :

Nous allons assigner le groupe Autopilot Devices :

Pour obtenir l’ID du groupe vous pouvez utiliser la cmdlet Get-AzureADGroup.
Ci-dessous la cmdlet en action :

Ci-dessous les options d’assignation après la modification :

Supprimer un groupe assigné à un profil

Quel cmdlet ?

Remove-AutoPilotProfileAssignedGroup

Que fait-elle ?

Permet de supprimer l’assignation d’un groupe à un profil de déploiement.


Comment l’utiliser ?

Saisir Remove-AutoPilotProfileAssignedGroup puis l’ID du profil concerné et l’ID du groupe à supprimer des assignations.


La cmdlet en action

Ci-dessous les options d’assignation avant la modification :

Ci-dessous les options d’assignation après la modification :

Lister les appareils assignés à un profil de déploiement

Quel cmdlet ?

Get-AutoPilotProfileAssignedDevice

Que fait-elle ?

Permet de lister les appareils assignés à un profil de déploiement.

Comment l’utiliser ?

Saisir Get-AutoPilotProfileAssignedDevice puis l’ID du profil.

La cmdlet en action

Ci-dessous la liste des appareils assignés au profil « SD Autopilot – Demo » depuis le portail Intune.

Ci-dessous la liste des appareils assignés depuis la cmdlet :

Lister les groupes assignés à un profil de déploiement

Quel cmdlet ?

Get-AutoPilotProfileAssignments

Que fait-elle ?

Permet de lister les groupes assignés à un profil de déploiement

Comment l’utiliser ?

Saisir Get-AutoPilotProfileAssignments puis l’ID du profil.

La cmdlet en action

Ci-dessous la liste des groupes assignés au profil « SD Autopilot – Demo » depuis le portail Intune.

Ci-dessous la liste des groupes assignés depuis la cmdlet :

Créer une page d’enrollment

Quel cmdlet ?

Add-EnrollmentStatusPage

Que fait-elle ?

Permet de créer une page d’enrollment


Comment l’utiliser ?

Saisir Add-EnrollmentStatusPage puis au moins le nom de la page d’enrollment.

.PARAMETER DisplayName
Type: String - Configure the display name of the enrollment status page

.PARAMETER description
Type: String - Configure the description of the enrollment status page

.PARAMETER HideProgress
Type: Boolean - Configure the option: Show app and profile installation progress

.PARAMETER AllowCollectLogs
Type: Boolean - Configure the option: Allow users to collect logs about installation errors

.PARAMETER Message
Type: String - Configure the option: Show custom message when an error occurs

.PARAMETER AllowUseOnFailure
Type: Boolean - Configure the option: Allow users to use device if installation error occurs

.PARAMETER AllowResetOnError
Type: Boolean - Configure the option: Allow users to reset device if installation error occurs

.PARAMETER BlockDeviceUntilComplete
Type: Boolean - Configure the option: Block device use until all apps and profiles are installed

.PARAMETER TimeoutInMinutes
Type: Integer - Configure the option: Show error when installation takes longer than specified number of minutes

.EXAMPLE
Add-EnrollmentStatusPage
Add-EnrollmentStatusPage -Message "Oops an error occured, please contact your support" -HideProgress $True -AllowResetOnError $True
Add-EnrollmentStatusPage -HideProgress $true -Description "desc" -message "oops" -displayname "yoooo" -AllowCollectLogs $true -AllowUseOnFailure $true -AllowResetOnError $true -BlockDeviceUntilComplete $true -TimeoutInMinutes 20

La cmdlet en action


Ci-dessous la cmdlet en action :

Ci-dessous la nouvelle page d’enrollment depuis Intune :

Lister les pages d’enrollment

Quel cmdlet ?

Get-EnrollmentStatusPage

Que fait-elle ?

Permet de lister options d’une page d’enrollment.

Comment l’utiliser ?

Saisir Get-EnrollmentStatusPage puis l’ID de la page.
Vous pouvez trouver l’ID de la page d’enrollment dans la barre d’adresse depuis le portail Intune.

La cmdlet en action

Ci-dessous la liste des pages d’enrollment depuis le portail Intune :

Ci-dessous ma page d’enrollment via la cmdlet :

Supprimer une page d’enrollment

Quel cmdlet ?

Remove-EnrollmentStatusPage

Que fait-elle ?

Permet de supprimer une page d’enrollment.

Comment l’utiliser ?

Saisir Remove-EnrollmentStatusPage puis l’ID de la page.

Modifier les paramètres d’une page d’enrollment

Quel cmdlet ?

Set-EnrollmentStatusPage

Que fait-elle ?

Permet de modifier les options d’une page d’enrollment.
Ci-dessous les options modifiables :

  • Display name
  • Description
  • Show custom message when an error occurs
  • Show app and profile installation progress
  • Show error when installation takes longer than specified number of minutes
  • Allow users to collect logs about installation errors
  • Block device use until all apps and profiles are installed
  • Allow users to reset device if installation error occurs
  • Allow users to use device if installation error occurs

Comment l’utiliser ?


Saisir Set-EnrollmentStatusPage puis l’ID de la page d’enrollment.

La cmdlet en action

Ci-dessous les options de ma page d’enrollment avant modification :

Nous allons modifier les options ci-dessous :

  • Description : This is a testing page
  • Custom message : Oops !!! Houston we have a problem !!!

Ci-dessous la cmdlet en action :

Ci-dessous les options depuis intune après modification :

Nous allons maintenant modifier le paramètre de Timeout à 20 minutes et configurer le paramètre :

  • Timeout : 20 minutes
  • Block device use until all apps and profiles are installed:  No

Ci-dessous le résultat obtenu :

Notez cet article

Vous avez aimé cet article ?

Rendez-le plus visible auprès des internautes en lui mettant une bonne note.

Cliquez pour évaluer cet article !
0 avis

Articles pouvant vous intéresser

RETEX CERT

Tout d’abord, en termes d’éthique et pour respecter la confidentialité des sujets aussi sensibles que