Qui n’a jamais eu besoin de faire une modification dans tous les profils des utilisateurs ? En batch, il me semble qu’on pouvait utiliser le wildcard (*).

Mais en Powershell, je n’ai pas réussi 🙁 . Alors on fait autrement !

La solution pour la machine locale :

Explication :
le $HOMEDRIVE pour se la raconter; ici on récupère juste le « c: ». Ça permet de récupérer la lettre de lecteur où est présent l’installation de Windows.

$Users, on récupère en faisait un simple « dir » ou « ls » en Powershell les différents dossiers présents dans Users, et on récupère de l’objet juste le nom.

Au préalable, ici je veux ajouter un fichier dans tous les profils dans \AppData\Roaming\ , j’ai copié le fichier dans le profil par défaut C:\Users\Default\AppData\Roaming\ et l’on copie dans tous les autres utilisateurs. On aurait pu imaginer une autre commande que la copie, un rm ou une modification ….

le Copy-Item avec, source, destination, -recurse pour rendre récursif et -force pour écraser si existant.

On va pousser le truc en imaginant le faire sur une ferme RDS (à condition que le fichier soit dans les « default » de tous les serveurs)

Ici on liste nos serveurs, on boucle 2 fois, pour chaque serveur et pour chaque profil dans chaque serveur. On lance les commandes sur les serveurs via des Invoke-Command

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.