10 Dec 2024, 00:00

Déployer des imprimantes via Intune

Share

https://call4cloud.nl/deploy-printer-drivers-intune-win32app/
https://www.microcloud.nl/intune-local-ip-printer-deployment/

L’idée générale est de prendre un poste vierge, d’installer la/les imprimantes dessus, et d’exporter les imprimantes.
Il y’a plusieurs méthodes pour ça.
Je me penche pour l’instant sur printBrm.

PrintBRM

Cet outil exporte l’ensemble des imprimantes, ports et pilotes du poste actuel, dans un fichier .printerExport , et les restaure d’un bloc également.
C’est simple, mais peu souple.
Il faut bien avoir noté le nom du port et de l’imprimante, pour les désinstaller correctement via le script de desinstall.

Attention, il n’est pas dans le PATH, donc il faut indiquer son chemin complet :
C:\Windows\System32\spool\tools\printBrm.exe

Création de l’export

On peut utiliser un poste tout fraichement installé, sur lequel on installe les imprimantes à déployer.
On exporte l’ensemble du système d’impression, en GUI :
printmanagement.msc

Sous “Serveurs d’impression”, clic-droit sur “hostname (local)” -> “Exporter les imprimantes vers un fichier”
Cela va créer un fichier .printerExport.

On peut aussi faire l’export en CLI plutôt que de passer par la GUI :
C:\Windows\System32\spool\tools\printBrm.exe /B /F my-export.printerExport

Vérification de l’export et import manuel

Pour inspecter le fichier :
C:\Windows\System32\spool\tools\printBrm.exe /Q /F my-printers.printerExport

Pour le restaurer :
C:\Windows\System32\spool\tools\printBrm.exe /R /F my-printers.printerExport

Attention à ne PAS mentionner .\ avant le fichier .printerexport, sans quoi on a un “File not found”.
Il faut mettre soit juste le nom de fichier s’il est dans le même dossier, soit le chemin complet.

Création du script d’installation

c:\windows\Sysnative\spool\tools\printbrm.exe /R /F my-printers.printerExport

Script de désinstallation

$printername = "Imprimante Bureau"
$portname = "PortImprBureau"

Remove-Printer "$printername"
sleep 5
Remove-PrinterPort -Name "$portname"

Commands

Install :
powershell -executionpolicy Bypass .\deploy-printer.ps1

Uninstall :
powershell -executionpolicy Bypass .\remove-printer.ps1

Détection de l’installation

Présence de la clé de registre :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers\PRINTER NAME
Clé Name
Valeur : PRINTER NAME

Exporter les préférences d’impression

Les manipulations précédentes permettent d’exporter/importer les imprimantes, les ports et les pilotes, mais pas les paramètres d’impression !