IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Modification propriétés utilisateurs en masse [PowerShell]


Sujet :

Scripts/Batch

  1. #1
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2015
    Messages : 7
    Points : 3
    Points
    3
    Par défaut Modification propriétés utilisateurs en masse
    Bonjour,

    Je voudrais modifier les propriétés "téléphone" de tous les utilisateurs AD.
    Dans mon précédent boulot, je l'avais déjà fait facilement car tous mes utilisateur étaient dans une OU "users"

    Maintenant les utilisateurs dans plusieurs OU à différents niveau.
    Mon but est le suivant:
    A partir d'un csv simple de 2 colonnes du style "nom complet de l'utilisateur";"numéro de téléphone", pour chaque ligne correspondant à l'utilisateur
    - je me connecte sur l'objet $user = [ADSI]'LDAP://CN=prénom NOM,OU=Etage1,OU=Siege,DC=mondomaine,DC=local',
    - je modifie ou ajoute le N° de tel ($user.tel)
    -Je valide la modification

    J'ai essayer de modifier mon précédent script mais je pense que je dois récupérer les distinguishedName de chaque user et le passer en paramètre pour me connecter sur l'objet "User" et boucler jusqu’à la fin
    Avez vous des idées - simples ?

    Merci d'avance de vos réponses
    Mi K L

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2015
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2015
    Messages : 57
    Points : 34
    Points
    34
    Par défaut
    Bonsoir,

    Avec 2 colonnes : samAccountName;telephone

    Code Powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    Import-Csv "ton csv" | ForEach-Object {Set-ADUser -Identity $_.samAccountName -Replace @{telephoneNumber=$_.telephone}}

  3. #3
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2015
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Bonjour,
    Merci pour ton retour Sami_Xite,
    Modifier chaque utilisateur a partir d'un csv ne me pose pas trop de problème.
    Ce qui m'est plus difficile est de recuperer le distinguishedname de chaque utilisateur à partir simplement de son nom complet.
    Comme je le disais, l'utilisateur peux être dans n'importe quel OU dans tout mon AD.
    Une fois le distinguishedName récupéré, ca me permettra de me connecter à l'objet $user = [ADSI]'LDAP://CN=prénom NOM,OU=Etage1,OU=Siege,DC=mondomaine,DC=local' et de faire mes modifications en boucle.

    Merci
    Mi K L

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2017
    Messages : 5
    Points : 6
    Points
    6
    Par défaut Même problème
    Bonjour à tous,

    J'ai le même type de problème.

    J'ai une liste .csv avec mes SamAccountName de mon AD. Puis des matricules que j'aimerais ajouter dans le champ "HomePage" de l'AD.

    Exemple :

    SamAccountName;HomePage
    pmteixeirafernandes;INT1343

    J'aimerais donc automatiser ceci via PowerShell.
    Quelqu'un pourrait-il m'aider concernant la commande à appliquer svp ?

    Merci !!!

  5. #5
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2015
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Bonjour Misticou,

    A quel attribut correspond "homepage" ?
    Sinon la commande de Sami_Xite reste la même en remplaçant telephonenumber par ta valeur

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2017
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Pour HomePage, tu peux voir dans la pièce-jointe que je viens de rajouter.

    J'utilise donc cette commande :

    Import-Csv "C:\Matricule.csv" | ForEach-Object {Set-ADUser -Identity $_.samAccountName -Replace @{HomePage=$_.HomePage}}

    Mon fichier CSV ne comporte que ça pour l'instant :

    SamAccountName;HomePage
    pmteixeirafernandes;INT1343

    Merci de ton retour.
    Images attachées Images attachées  

  7. #7
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2015
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Tu peux faire soit:

    Import-Csv 'C:\monfichier.csv' | % { Set-ADUser -Identity $_.SamAccountName -HomePage $_.HomePage -WhatIf}

    ou

    Import-CSV "C:\monfichier.csv" | % {
    $User = $_.SamAccountName
    $HomePage = $_.HomePage
    Set-ADUser $User -HomePage $HomePage
    }

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2017
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Voici le résultat -->

    Peux-tu me dire ce qu'il ne va pas stp ?
    Images attachées Images attachées  

  9. #9
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2015
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Tes variables son vides si tu n'executes pas ton script en une seul fois. Le pipe '|' redirige les info pour executer l'action set-aduser
    si tu valides la commande $User à la suite de ton import tu ne dois rien avoir actuellement

    Copie ceci dans un script avec l'extension.ps :

    Import-CSV "C:\Matricule.csv" | % {
    $User = $_.SamAccountName
    $HomePage = $_.HomePage
    Set-ADUser $User -HomePage $HomePage
    }

    et execute le

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2017
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    En dehors de la fenêtre PowerShell ?

  11. #11
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2015
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Vu que ce n'est pas une création mais une mise à jour de comptes utilisateurs, ce script serait mieux et + détaillé

    $dataSource=import-csv -Delimiter ";" -Path "C:\matricule.csv"
    foreach($dataRecord in $dataSource) {
    $User = $dataRecord.SamAccountName
    $HomePage = $dataRecord.HomePage
    Set-ADUser $User -HomePage $HomePage
    }

    Je l'ai tester sur mon AD, ca marche

  12. #12
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2017
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Un GRAND merci
    Cela fonctionne, parfait !!!
    Merci pour votre patience

  13. #13
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2015
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    De rien

  14. #14
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2018
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2018
    Messages : 1
    Points : 1
    Points
    1
    Par défaut changement de plusieurs propriétés
    Bonjour

    j'ai plusieurs compte AD a mettre a jour via un fichier CSV avec 13 colonnes au total.les colonnes nom, prénom, direction, département, service, bureau, fonction, manager, e-mail pro, signature email, tel fixe et tel mobile mais je vois pas comment créer mes boucles pour qu'il interroge mon CSV et qu'il injecte les données de celui ci dans l'AD j'essaie de m'aider de la ligne de commande ci dessous mais je galère pour ajouter les autres champs...

    Import-Csv "ton csv" | ForEach-Object {Set-ADUser -Identity $_.samAccountName -Replace @{telephoneNumber=$_.telephone}}

  15. #15
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2012
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2012
    Messages : 281
    Points : 520
    Points
    520
    Par défaut
    salut grinch.lantern

    tu peut suivre ce post pour avoir un exemple de modification de masse

    tu peut aussi regarder la doc de get-aduser pour connaître les attributs AD disponible directe en paramètre et en déduire ceux que tu devras modifier par la syntaxe que tu a donner !!
    tu peut cumuler dans la même commande les modifications de tous les attributs

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Modification propriété Left d'un calque sous firefox
    Par Chris74 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 27/08/2007, 17h11
  2. [ASP 2.0]Modifs Propriété ascx Design time
    Par chnew dans le forum ASP.NET
    Réponses: 6
    Dernier message: 12/06/2007, 09h30
  3. Réponses: 6
    Dernier message: 14/02/2007, 14h42
  4. Réponses: 4
    Dernier message: 06/10/2005, 16h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo