Question
Modifier un champ pour plusieurs utilisateurs
- B
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 18
- Remerciements reçus 0
il y a 7 ans 6 mois #27526
par B
Modifier un champ pour plusieurs utilisateurs a été créé par B
Bonjour,
je voudrais faire du nettoyage dans mon AD.
Un certain nombre de compte utilisateur dans les propriétés utilisateurs/profil se voit attribués un script au démarrage.
Ce script n'a plus lieu d’être et se nomme arcana.
Dans un premier temps je souhaite identifier les comptes ayant encore ce script et dans second temps faire en sorte que le champ en question soit vierge.
[code:1]
Get-ADUser -filter * -properties scriptpath | Select-Object name,scriptpath[/code:1]
cette commande affiche tous les comptes utilisateurs avec la propriété scriptpath que le champ soit vide ou non
Pour obtenir un résultat précis je pense devoir utiliser la commande -eq mais je ne sais ni ni comment
pour la seconde partie je n'ai pas la moindre idée pour faire en sorte que le champ ayant pour script arcana devienne vide.
Merci pour votre aide
je voudrais faire du nettoyage dans mon AD.
Un certain nombre de compte utilisateur dans les propriétés utilisateurs/profil se voit attribués un script au démarrage.
Ce script n'a plus lieu d’être et se nomme arcana.
Dans un premier temps je souhaite identifier les comptes ayant encore ce script et dans second temps faire en sorte que le champ en question soit vierge.
[code:1]
Get-ADUser -filter * -properties scriptpath | Select-Object name,scriptpath[/code:1]
cette commande affiche tous les comptes utilisateurs avec la propriété scriptpath que le champ soit vide ou non
Pour obtenir un résultat précis je pense devoir utiliser la commande -eq mais je ne sais ni ni comment
pour la seconde partie je n'ai pas la moindre idée pour faire en sorte que le champ ayant pour script arcana devienne vide.
Merci pour votre aide
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
-
- Hors Ligne
- Modérateur
-
il y a 7 ans 6 mois #27527
par Arnaud Petitjean
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Réponse de Arnaud Petitjean sur le sujet Re:Modifier un champ pour plusieurs utilisateurs
Bonjour Laurent,
Ce n'est pas compliqué, il suffit juste que tu effectues un filtre avec la commande PowerShell Where-Object.
Le critère du filtre portera sur le remplissage ou non de la propriété ScriptPath.
Donc il faudra écrire quelque chose du genre:
[code:1]
Get-ADUser -filter * -properties scriptpath | Where-Object {$_.ScriptPath -ne $null }
[/code:1]
Autrement dit on ne récupérera que les objets pour lesquels la propriété ScriptPath n'est pas nulle.
Ensuite il n'y aura plus qu'à vider cet attribut.
Arnaud
Ce n'est pas compliqué, il suffit juste que tu effectues un filtre avec la commande PowerShell Where-Object.
Le critère du filtre portera sur le remplissage ou non de la propriété ScriptPath.
Donc il faudra écrire quelque chose du genre:
[code:1]
Get-ADUser -filter * -properties scriptpath | Where-Object {$_.ScriptPath -ne $null }
[/code:1]
Autrement dit on ne récupérera que les objets pour lesquels la propriété ScriptPath n'est pas nulle.
Ensuite il n'y aura plus qu'à vider cet attribut.
Arnaud
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Connexion ou Créer un compte pour participer à la conversation.
- B
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 18
- Remerciements reçus 0
il y a 7 ans 6 mois #27528
par B
Réponse de B sur le sujet Re:Modifier un champ pour plusieurs utilisateurs
Bonjour Arnaud,
Merci beaucoup pour ton aide, c'est si simple quand on possède un minimum de connaissance.
J'ai donc récupéré 173 comptes ayant le scriptpatch renseigné.
Du coup comment faire pour vider cet attribut ?
Laurent
Merci beaucoup pour ton aide, c'est si simple quand on possède un minimum de connaissance.
J'ai donc récupéré 173 comptes ayant le scriptpatch renseigné.
Du coup comment faire pour vider cet attribut ?
Laurent
Connexion ou Créer un compte pour participer à la conversation.
- B
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 18
- Remerciements reçus 0
il y a 7 ans 6 mois #27529
par B
Réponse de B sur le sujet Re:Modifier un champ pour plusieurs utilisateurs
Bonjour Arnaud,
Peux tu m'expliquer cette syntaxe {$_.ScriptPath -ne $null } enfin plus particulièrement $_. et à quoi servent les crochets.
Je suis vraiment désolé pour mes questions, je débute totalement.
Merci<br><br>Message édité par: Laurent B, à: 12/09/18 13:41
Peux tu m'expliquer cette syntaxe {$_.ScriptPath -ne $null } enfin plus particulièrement $_. et à quoi servent les crochets.
Je suis vraiment désolé pour mes questions, je débute totalement.
Merci<br><br>Message édité par: Laurent B, à: 12/09/18 13:41
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
-
- Hors Ligne
- Modérateur
-
il y a 7 ans 6 mois #27531
par Arnaud Petitjean
Il te suffit juste de passer le résultat de ta commande à Set-ADUser et mettre l'attribut à la valeur \"null\".
Tu peux faire comme ceci :
[code:1]Get-ADUser -filter * -properties scriptpath | Where-Object {$_.ScriptPath -ne $null }| Set-Aduser -ScriptPath $null[/code:1]
ou si tu préfères comme cela en deux temps :
[code:1]
$usersWithScriptPath = Get-ADUser -filter * -properties scriptpath | Where-Object {$_.ScriptPath -ne $null }
$usersWithScriptPath| Set-Aduser -ScriptPath $null[/code:1]
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Réponse de Arnaud Petitjean sur le sujet Re:Modifier un champ pour plusieurs utilisateurs
Du coup comment faire pour vider cet attribut ?
Il te suffit juste de passer le résultat de ta commande à Set-ADUser et mettre l'attribut à la valeur \"null\".
Tu peux faire comme ceci :
[code:1]Get-ADUser -filter * -properties scriptpath | Where-Object {$_.ScriptPath -ne $null }| Set-Aduser -ScriptPath $null[/code:1]
ou si tu préfères comme cela en deux temps :
[code:1]
$usersWithScriptPath = Get-ADUser -filter * -properties scriptpath | Where-Object {$_.ScriptPath -ne $null }
$usersWithScriptPath| Set-Aduser -ScriptPath $null[/code:1]
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
-
- Hors Ligne
- Modérateur
-
il y a 7 ans 6 mois #27532
par Arnaud Petitjean
$_ représente l'objet courant transmis par le pipeline.
Les accolades servent à définir le bloc de code qui sera exécuté pour chaque objet. On pourrait dire aussi pour chaque résultat retourné par la commande.
Lorsqu'on récupère plusieurs résultats avec une commande PowerShell, on récupère en réalité un tableau d'objets. Un tableau est un type de données classique en programmation.

Arnaud
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Réponse de Arnaud Petitjean sur le sujet Re:Modifier un champ pour plusieurs utilisateurs
Peux tu m'expliquer cette syntaxe {$_.ScriptPath -ne $null } enfin plus particulièrement $_
$_ représente l'objet courant transmis par le pipeline.
à quoi servent les crochets ?
Les accolades servent à définir le bloc de code qui sera exécuté pour chaque objet. On pourrait dire aussi pour chaque résultat retourné par la commande.
Lorsqu'on récupère plusieurs résultats avec une commande PowerShell, on récupère en réalité un tableau d'objets. Un tableau est un type de données classique en programmation.
Regarde dans la colonne de gauche, il y a des livres qui peuvent t'aider à démarrer ton apprentissage dans de bonnes conditions...je débute totalement
Arnaud
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.046 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Modifier un champ pour plusieurs utilisateurs