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 :

Copier les groupes d'un utilisateur AD, mais avec des exclusions [PowerShell]


Sujet :

Scripts/Batch

  1. #1
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2015
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Moselle (Lorraine)

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

    Informations forums :
    Inscription : Novembre 2015
    Messages : 74
    Points : 43
    Points
    43
    Par défaut Copier les groupes d'un utilisateur AD, mais avec des exclusions
    Bonjour,

    Je me permets de vous contacter car actuellement je crée mes comptes Active Directory avec copie des groupes de sécurité depuis un utilisateur de référence :
    Get-ADUser -Identity $userdereference -Properties memberof | Select-Object -ExpandProperty memberof | Add-ADGroupMember -Members $newuser

    (les variables sont définies dans mon script et pointent vers un champ d'un fichier CSV).
    Ce script fonctionne à merveille, sauf que l'on me demande d'exclure certains groupes de cette copie (ou alors de les supprimer pour le nouvel utilisateur).

    Ce qu'il faudrait que je puisse exclure ou supprimer après la copie globale initiale :
    GroupeXX_SERVICEVIP_ABC
    GroupeYY_SERVICEVIP_DEF
    GroupeZZ_SERVICEVIP_GHI

    En gros, il me faut exclure de la copie les groupes qui comprennent SERVICEVIP dans leur nom.
    XX / YY / ZZ est variable d'un utilisateur à un autre (lié à la ville d'affectation de l'utilisateur)
    ABC / DEF /GHI est variable d'un utilisateur à un autre (lié au service de l'utilisateur)

    J'espère avoir été clair dans mon explication et dans mes exemples.

    Je vous remercie par avance pour votre aide.

  2. #2
    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 yakalelo57

    il me faut exclure de la copie les groupes qui comprennent SERVICEVIP dans leur nom
    avec un petit where et un Remove-ADGroupMember

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Get-ADPrincipalGroupMembership $newuser | where {$_.name -like "*servicevip*"} | foreach {
        Remove-ADGroupMember -Identity $_.name -Members $newuser
        }
    tu peut aussi inséré le where dans ta ligne de commande Add-ADGroupMember :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Get-ADUser -Identity $userdereference -Properties memberof | Select-Object -ExpandProperty memberof | where {$_-notlike "*servicevip*"} | Add-ADGroupMember -Members $newuser

  3. #3
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2015
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Moselle (Lorraine)

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

    Informations forums :
    Inscription : Novembre 2015
    Messages : 74
    Points : 43
    Points
    43
    Par défaut test
    c'est pile poil ce qu'il me fallait, un grand merci !!

  4. #4
    Membre à l'essai
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Mai 2017
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Mai 2017
    Messages : 16
    Points : 13
    Points
    13
    Par défaut
    Bonjour, je me permets de remonter le sujet.

    J'ai repris ton script pour pouvoir copier des groupes et liste de diffusion d'un user source vers un user cible et effectivement il marche tres bien !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Get-ADUser -Identity usersource -Properties memberof | Select-Object -ExpandProperty memberof | Add-ADGroupMember -Members usercible
    Par contre moi aussi j'utilise un script avec import-csv dans le cadre de la creation de new user en masse, et j'aimerais comme toi pouvoir adapter ce script avec un import CSV pour que les new users puissent tous avoir les groupes et diffusion d'un user déja existant.

    Tu peux m'aider ? Voilà mon script avec import-CSV

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $listeUsers = Import-Csv C:\Users\Desktop\new-users.csv –Delimiter ’;’
    foreach ($user in $listeUsers) { New-ADUser -Path ‘OU=Courrier,OU=toto,DC=toto,DC=lan’ -Name $user.Name -GivenName $user.GivenName -Surname $user.Surname -SamAccountName $user.SamAccountName -AccountPassword (ConvertTo-SecureString -AsPlainText (echo $user.Password) -Force) -PassThru | Enable-ADAccount }
    Mon CSV se compose de la maniere suivante
    Name;GivenName;Surname;SamAccountName;UserPrincipalName;Password
    Walter WHITE;Walter;WHITE;wwhite;wwhite@toto.com;S@lida13



    Par avance merci !

  5. #5
    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
    essai ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $listeUsers = Import-Csv C:\Users\Desktop\new-users.csv –Delimiter ’;’
    $userdereference = "nomutilisateurde reference"
    foreach ($user in $listeUsers) { New-ADUser -Path ‘OU=Courrier,OU=toto,DC=toto,DC=lan’ -Name $user.Name -GivenName $user.GivenName -Surname $user.Surname -SamAccountName $user.SamAccountName -AccountPassword (ConvertTo-SecureString -AsPlainText (echo $user.Password) -Force) -PassThru | Enable-ADAccount; Get-ADUser -Identity $userdereference -Properties memberof | Select-Object -ExpandProperty memberof| Add-ADGroupMember -Members $user }

  6. #6
    Membre à l'essai
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Mai 2017
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Mai 2017
    Messages : 16
    Points : 13
    Points
    13
    Par défaut
    Salut 6Artgus, merci pour ton aide.

    Néanmoins, je n'ai compris la variable $userreference

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $userdereference = "nomutilisateurde reference"
    Grosso modo, si le login de mon user est pdupont (pierre dupont quoi)

    je dois mettre ceci ?

    Désole je suis un novice encore sur powershell, merci

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

Discussions similaires

  1. [Batch] Script pour copier les groupes AD d'un utilisateur vers un nouveau
    Par All_yson dans le forum Scripts/Batch
    Réponses: 0
    Dernier message: 18/06/2014, 14h57
  2. Réponses: 5
    Dernier message: 30/06/2008, 11h43
  3. Lister les groupes d'un utilisateur
    Par filoudesbois dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 07/04/2008, 08h15
  4. Réponses: 2
    Dernier message: 26/02/2008, 14h16

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