Catégories
Informatique

Installer Chocolatey avec Powershell / Intune

Si vous devez déployer le gestionnaire de packages Chocolatey sur de nombreuses machines grâce au MDM Intune, un petit script PowerShell fera des miracles :)

Le script que l’on utilise et qui est largement améliorable (faites vos suggestions) est le suivant:

### Install tool for Chocolatey
### V1 - 26-05-2023
### BoucheCousue.com

# Clear the screen
Clear-Host
# Define how to act if there is an error
$ErrorActionPreference = 'Continue'
# Get the machine serial number
$serial = $SerialNumber = (Get-WmiObject -class win32_bios).SerialNumber 
# Set the time stamp for the log
$FileLogdate = Get-Date -format 'dd.MM.yyyy HH_mm_ss'

# Write a log
Start-Transcript -Force -Path "C:\transcripts\chocolatey-$FileLogdate.txt"

Write-Output "Installing Chocolatey on your system..."
Write-Output "Serial number $serial"

# Install Chocolatey
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

Notez que le script dans sa version actuelle ne vérifie pas si Chocolatey est déjà installé ou non (mais le script appelé pourra le mettre à jour).

Sauvegardez le script ci dessus sous forme d’un fichier par exemple install-chocolatey.ps1

Deux méthodes s’offrent à vous pour le déployer ensuite:

  • Sous forme de script (facile mais moins puissant ensuite, ça ne sera donc pas celle recommandée)

Rendez vous ensuite dans Intune , section Appareils (Devices) puis Scripts et ajoutez un script pour Windows.

Donnez lui un nom à l’étape « Basics« ) (Installer Chocolatey? Wow original comme idée) puis à la section « Script settings » uploadez ce script :

Ensuite à vous de choisir les assignements à l’étape suivante à savoir régler si vous voulez exécuter ce script sur toutes vos machines ou seulement sur certains groupes.

  • Sous forme d’application Win32

c’est mieux car une fois déployé, vous pourrez faire de Chocolatey une dépendance pour installer d’autres applications.

Pour faire cela, il faut – toujours avec notre même script ci-dessus – en faire un package Intunewin comme expliqué ici par Microsoft.

Mais comme on veut vous faire gagner du temps, il est déjà compilé sur notre GitHub. Téléchargez le ou recompilez le vous même.

Pour déployer ce package dans votre instance Intune, il faut se rendre dans Devices => Apps (ou cliquer ici).

Choisissez d’ajouter une application pour Windows et choisissez le type Win32 :

Après uploadez le package intunewin précédemment téléchargé ou compilé par vos soins :

Renseignez ensuite les champs obligatoires et ceux optionnels de votre choix dans l’étape « App Information »

Puis cliquez next et passez à l’étape « Program » où il va falloir renseigner ceci :

Champ Install Command :

powershell.exe -executionpolicy bypass .\install.ps1

Champ Uninstall Command :

powershell.exe -executionpolicy bypass .\uninstall.ps1

Ne touchez pas les autres réglages et cliquez Next

Pour l’étape Requirements les réglages suivants suffisent mais vous pouvez opter pour autre chose:

Ensuite arriver l’étape 4, cruciale des Detection Rules qui va permettre à Intune de vérifier que l’application s’est bien installée.

Choisissez « Manually configure detection rules » pour le choix Rules format. Puis ajouter une règle de type Fichier:

Il vous reste ensuite l’étape des assignements où vous pouvez choisir quels appareils / utilisateurs doivent avoir cette application ou s’ils peuvent l’avoir en libre service. Là aussi, libre à vous de personnaliser.

Laisser un commentaire