ACL des imprimantes en powershell sur votre spooler
Bonjour à tous, aujourd’hui j’avais envie de vous partager un script pour vous permettre de gérer les acl des imprimante sur votre serveur d’impression. Bien qu’il soit facilement possible d’ajouter ou supprimer des imprimantes à l’aide des commandes de bases, il est plus difficile de gérer les sécurités. Voilà comment j’ai fait.
En effet, Microsoft propose un panel très large de commande pour gérer les imprimantes sur un poste (ou serveur). Tous cela est consultable bien entendu sur le site de Microsoft à cette adresse.
Mais pour une fois, Microsoft n’est pas allé au bout des choses concernant la gestion des imprimantes. Il est difficilement possible de gérer les sécurités (ACL) des imprimantes.
En effet, si vous ne le saviez pas, il est possible d’autoriser, un utilisateur (ou un groupe d’utilisateur) à réaliser certaines opérations sur une imprimante. Les trois autorisations (basiques) sont :
- Imprimer, qui est un paramètre de base que tous les utilisateurs doivent avoir pour pouvoir…imprimer.
- Gérer cette imprimante, qui permet de gérer les paramètres de celle-ci. Dans le cas où vous gérer un parc d’imprimante avec un serveur d’impression, je vous déconseille d’autoriser vos utilisateur à effectuer cette action
- Gestion des documents, qui permet de voir la file d’attente et de faire les opérations sur les fichiers en file d’attente (relancer, stopper, mettre en pause, supprimer …)
Pour gérer les droits, quelqu’un à créer un script Powershell qui contient pas mal de fonction. Notamment celle qui permet de gérer les ACL.
Le script est disponible sur GitHub : https://gist.github.com/PSingletary/cf7b46bd0a56c39b3962cae1aefb7f2f
Il vous permettra de lancer la commande suivante par exemple :
Get-Printer "localhost" "LE_NOM_DE_VOTRE_IMPRIMANTE"| Add-PrinterPermission "Tout le monde" 0 "ManageDocuments"
Cela va ajouter le droit de gérer les documents au groupe d’utilisateur Tout le monde.
Voilà, un petit script simple, basique que vous pouvez coupler avec les commandes de bases de Microsoft.
# Ajout de l'imprimante
Add-Printer -Name "NOM_DE_LIMP" -DriverName "CHOIX_DU_DRIVER" -port "PORT_IMPRESSION" -Comment "COMMENTAIRES" -Shared -ShareName "NOM_DU_PARTAGE" -Location "EMPLACEMENT"
# Désactivation du rendu des travaux sur l'ordinateur client
printui /Xs /n "NOM_DE_LIMP"t ClientSideRender disabled
# Désactivation du mode BiDirectionnel
printui /Xs /n "NOM_DE_LIMP" attributes -EnableBidi
# Mettre le groupe 'tout le monde' en gestion des documents de l'imprimante
Get-Printer "localhost" "NOM_DE_LIMP" | Add-PrinterPermission "Tout le monde" 0 "ManageDocuments"
# Lancement de la console de l'imprimante pour modifier les paramètres par défaut
printui /p /n "NOM_DE_LIMP"
Vous pouvez, couplet ce script avec des paramètres ou des read-host. Un utilisateur (votre support) pourra remplir les champs. et cela viendra ajouter l’imprimante sur votre spooler.
J’espère que cet article vous a plus si c’est le cas je vous laisse partager votre ressentiment en commentaire juste ci-dessous.
A bientôt pour un nouvel article sur TechSpace !!