Question Modifier un champ pour plusieurs utilisateurs

Plus d'informations
il y a 7 ans 6 mois #27526 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 :ohmy:

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.

Plus d'informations
il y a 7 ans 6 mois #27527 par Arnaud Petitjean
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

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.

Plus d'informations
il y a 7 ans 6 mois #27528 par B
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

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 7 ans 6 mois #27529 par B
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

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 7 ans 6 mois #27531 par Arnaud Petitjean

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 \&quot;null\&quot;.

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.

Plus d'informations
il y a 7 ans 6 mois #27532 par Arnaud Petitjean

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.

...je débute totalement

Regarde dans la colonne de gauche, il y a des livres qui peuvent t'aider à démarrer ton apprentissage dans de bonnes conditions ;)

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.043 secondes
Propulsé par Kunena