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 :

Add-ADGroupMember : confusion entre les attributs Identity et Member [PowerShell]


Sujet :

Scripts/Batch

  1. #41
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 506
    Billets dans le blog
    1
    Par défaut
    Non

    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ((Get-ADDomain).ReplicaDirectoryServers).count
    ((Get-ADDomain -Server "gad.schneider-electric.com").ReplicaDirectoryServers).count
    donne
    179
    24

  2. #42
    Membre chevronné
    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
    Par défaut
    deux constats :
    - vous êtes bien sécurisés
    - il faut que l'utilise l'option SERVER pour chaque commande AD, et le top c'est que tu prenne dans la liste des server du gad, le serveurs le plus proche de toi, pour le mettre dans l'option server
    par exemple : Get-ADUser -filter ..... -Server "server-FRAD1..eur.gad.schneider-electric.com"

    de cette façon modif et consultation seront plus rapide et tu aura normalement des consultations juste après une modif et non 1h après !!

    rapproche toi d'un administrateur de l'AD pour plus de precision
    pour info, il semble que tu est une forest avec plusieurs domaines

  3. #43
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 506
    Billets dans le blog
    1
    Par défaut
    Désolé de répondre que maintenant mais je n'étais pas dispo avant...

    Quelle précision dois-je demander à l'administrateur AD ?

    Quand je vais sur l'outil "Utilisateurs et ordinateurs AD" et je fais "changer de contrôleur de domaine", ça m'en propose 25 avec pour chacun le site, dont 6 en France et d'autres aux US, en Chine, en Allemagne et je sais pas où pour les autres.

  4. #44
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 506
    Billets dans le blog
    1
    Par défaut
    Bien plus gênant : hier dans le post #36, je disais que ton test ligne 12 était bon ; en fait j'étais trompé par une autre ligne de test que j'avais laissée, mais si je l'enlève, plus rien, donc finalement, pas bon...

    J'ai essayé 2 versions que j'avais sous la main :

    1-
    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $samgrsource = ((Get-ADGroup -Filter {name -eq $groupsource} -Server "gad.schneider-electric.com").sAMAccountName)
    $samgrdest = ((Get-ADGroup -Filter {name -eq $groupdest} -Server "gad.schneider-electric.com").sAMAccountName)
     
     
    Get-ADGroupMember -Identity $samgrsource -Server "gad.schneider-electric.com" | foreach {
        if (get-aduser -filter {SamAccountName -eq $_.SamAccountName -and Enabled -eq $true} -Server "gad.schneider-electric.com") {
            Add-ADGroupMember -Identity $samgrdest -members $_ -Server "gad.schneider-electric.com"; $_.name
            }
        }


    2-
    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $samgrsource = ((Get-ADGroup -Filter {name -eq $groupsource} -Server "gad.schneider-electric.com").sAMAccountName)
    $samgrdest = ((Get-ADGroup -Filter {name -eq $groupdest} -Server "gad.schneider-electric.com").sAMAccountName)
     
    Get-ADGroupMember -Identity $samgrsource -Server "gad.schneider-electric.com" | foreach {
    if (get-aduser -Properties memberof -filter {enabled -eq $true -and MemberOf -like $samgrsource} -server "gad.schneider-electric.com") {
         Add-ADGroupMember -Identity $samgrdest -members $_ -Server "gad.schneider-electric.com"; $_.name
         }
    }

    vois-tu quelque chose ?

  5. #45
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 506
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    même si je patiente, je crains que celui qui m'a demandé ce script (demain y aura 2 mois) en ai un peu assez. Je dois faire le point jeudi prochain et le soir, pars pour 3 semaines de congés, donc ça serait bien d'avoir quelque chose à lui montrer...
    Comme je maîtrise mieux le script n°1 que le 2, je travaille sur le premier.

    Pour valider la copie, j'ai supprimé la condition "enabled"
    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Get-ADGroupMember -Identity $samgrsource -Server "gad.schneider-electric.com" | foreach {
        if (get-aduser -filter {SamAccountName -eq $_.SamAccountName} -Server "gad.schneider-electric.com") {
            Add-ADGroupMember -Identity $samgrdest -members $_ -Server "gad.schneider-electric.com"; $_.name
            }
        }
    Mais y a rien qui s'affiche donc rien de copié

    EDIT essai de 23h25 : si je supprime le test de la ligne 2, au lieu d'ajouter les membres dans le groupe, il affiche N fois la ligne 3...

  6. #46
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 506
    Billets dans le blog
    1
    Par défaut
    La nuit porte conseil car hier soir, j'avais laissé les accolades entourant le contenu du test, pensant, comme en PHP, que c'était neutre mais ce matin, j'ai pensé à les enlever et la copie se fait bien du coup
    Donc, c'est le filtre -filter {SamAccountName -eq $_.SamAccountName} qui ne va pas. Comment afficher les valeurs ? Car $_.SamAccountName, pas de problème, mais la première ?

    Sinon, je viens de penser à tester le code n°2 en enlevant le filtre enabled :

    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $samgrsource = ((Get-ADGroup -Filter {name -eq $groupsource} -Server "gad.schneider-electric.com").sAMAccountName)
    $samgrdest = ((Get-ADGroup -Filter {name -eq $groupdest} -Server "gad.schneider-electric.com").sAMAccountName)
     
    Get-ADGroupMember -Identity $samgrsource -Server "gad.schneider-electric.com" | foreach {
    if (get-aduser -Properties memberof -filter {MemberOf -like $samgrsource} -server "gad.schneider-electric.com") {
         Add-ADGroupMember -Identity $samgrdest -members $_ -Server "gad.schneider-electric.com"; $_.name
         }
    }
    et il fonctionne (contrairement au code n°1) par contre je n'arrive pas à comprendre comment agit ce memberof. Peux-tu m'expliquer ?

  7. #47
    Membre chevronné
    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
    Par défaut
    salut laurentsc

    voir que tu a travaillais ce week end !

    Comment afficher les valeurs ? Car $_.SamAccountName, pas de problème, mais la première ?
    je vois pas trop de quel premiere valeur tu parle, si ce n'est le SamAccountName du filtre -filter {SamAccountName -eq $_.SamAccountName}
    le premier "SamAccountName" correspond a l'attribut dans l'AD comparais (le -eq) avec la variable $_.SamAccountName


    par contre je n'arrive pas à comprendre comment agit ce memberof. Peux-tu m'expliquer ?
    comme dans la réponse précédente "memberof" est un attribut de l'AD qui contient la liste des groupes d'un utilisateur, le filtre va donc regarder dans tous les utilisateurs lesquels contiennent le groupe recherche ce qui peut être long, voir très long
    ce n'est donc pas une bonne idée de faire une recherche ce genre de chose dans une boucle !!!!

    de plus, il ne te sert à rien de verifier si l'utilisateur ce trouve dans le groupe puisque que c'est le groupe qui te donne la liste des utilisateurs membres !!!
    tu peut donc enlever le "if (get-aduser..." sauf pour verifier si l'utilisateur est enabled !!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $samgrsource = ((Get-ADGroup -Filter {name -eq $groupsource} -Server "gad.schneider-electric.com").sAMAccountName)
    $samgrdest = ((Get-ADGroup -Filter {name -eq $groupdest} -Server "gad.schneider-electric.com").sAMAccountName)
     
    Get-ADGroupMember -Identity $samgrsource -Server "gad.schneider-electric.com" | foreach {
        if (get-aduser -identity $_ -Server "gad.schneider-electric.com" | where {$_.Enabled -eq $true}) {
            Add-ADGroupMember -Identity $samgrdest -members $_ -Server "gad.schneider-electric.com"; $_.name
            }
        }
    tu rajoutera le "where {Enabled -eq $true}" quand tu sera sur que tous fonctionne bien !!


    Quelle précision dois-je demander à l'administrateur AD ?
    quel est le serveur AD le plus proche de toi (sur le même site que toi)


    Quand je vais sur l'outil "Utilisateurs et ordinateurs AD" et je fais "changer de contrôleur de domaine", ça m'en propose 25 avec pour chacun le site, dont 6 en France et d'autres aux US, en Chine, en Allemagne et je sais pas où pour les autres.
    tu n'a rien a toucher ici !!!
    le nom du serveur doit être utilisé dans les commandes de PowerShell
    - il faut que tu utilise avec l'option SERVER, le serveur le plus proche de toi,
    par exemple : Get-ADUser -filter ..... -Server "server-FranceAD1.eur.gad.schneider-electric.com"

  8. #48
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 506
    Billets dans le blog
    1
    Par défaut
    Je m'apprêtais à répondre hier soir sauf que des invités sont arrivés plus tôt que prévu...

    voir que tu a travaillais ce week end !
    Même hier, vu que je suis à temps partiel et ne devrais pas travailler lundi, mais quand on aime, on compte pas !

    je vois pas trop de quel premiere valeur tu parle, si ce n'est le SamAccountName du filtre -filter {SamAccountName -eq $_.SamAccountName}
    le premier "SamAccountName" correspond a l'attribut dans l'AD comparais (le -eq) avec la variable $_.SamAccountName
    Oui, je parlais effectivement de l'attribut dans l'AD, donc pas moyen d'afficher sa valeur pour vérifier le filtre ?

    et il fonctionne (contrairement au code n°1) (post #46)
    Pas ce matin (sur le site contrairement à hier)

    de plus, il ne te sert à rien de verifier si l'utilisateur ce trouve dans le groupe puisque que c'est le groupe qui te donne la liste des utilisateurs membres !!!
    tu peut donc enlever le "if (get-aduser..." sauf pour verifier si l'utilisateur est enabled !!!
    Si j'enlève tout test, la copie s'effectue bien par contre même avec le test basique if (get-aduser -identity $_ -Server "gad.schneider-electric.com"
    get-aduser : Une référence a été renvoyée par le serveur

  9. #49
    Membre chevronné
    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
    Par défaut
    Oui, je parlais effectivement de l'attribut dans l'AD, donc pas moyen d'afficher sa valeur pour vérifier le filtre ?
    Dans l'outil "Utilisateurs et ordinateurs AD"
    ou via la commande get-aduser


    get-aduser : Une référence a été renvoyée par le serveur
    bizarre comprend pas l'erreur peut être encore le problème du Name
    essai comme ça
    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $samgrsource = ((Get-ADGroup -Filter {name -eq $groupsource} -Server "gad.schneider-electric.com").sAMAccountName)
    $samgrdest = ((Get-ADGroup -Filter {name -eq $groupdest} -Server "gad.schneider-electric.com").sAMAccountName)
     
    Get-ADGroupMember -Identity $samgrsource -Server "gad.schneider-electric.com" | foreach {
        if (get-aduser  -filter {SamAccountName -eq $_.SamAccountName} -Server "gad.schneider-electric.com" | where {$_.Enabled -eq $true}) {
            Add-ADGroupMember -Identity $samgrdest -members $_ -Server "gad.schneider-electric.com"; $_.name
            }
        }

  10. #50
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 506
    Billets dans le blog
    1
    Par défaut
    Dans l'outil "Utilisateurs et ordinateurs AD"
    ou via la commande get-aduser
    Pas trouvé dans l'outil ni comment faire avec get-aduser. Peux-tu préciser ?

    Sinon, j'ai essayé ton code : plus de message d'erreur mais pas de copie...

    Evidemment, j'ai enlevé le where

  11. #51
    Membre chevronné
    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
    Par défaut
    Pas trouvé dans l'outil
    Nom : c2.PNG
Affichages : 976
Taille : 70,6 KoNom : c1.PNG
Affichages : 1003
Taille : 180,8 Ko

    comment faire avec get-aduser
    résultat ligne 10
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     get-aduser test
    
    
    DistinguishedName : CN=Test,OU=OUTEST,DC=domaine,DC=lan
    Enabled           : False
    GivenName         : test
    Name              : Test
    ObjectClass       : user
    ObjectGUID        : ace7bee9-7c94-4f0c-a5a9-908caae0b70e
    SamAccountName    : test
    SID               : S-1-5-21-631892985-3984632572-265091654-5240
    Surname           : Test
    UserPrincipalName : test@domaine.lan


    j'ai essayé ton code : plus de message d'erreur mais pas de copie...
    peut tu vérifier si ça te renvoie quelque chose et si c'est bien ce que tu veux
    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    Get-ADGroupMember -Identity $samgrsource -Server "gad.schneider-electric.com" | select ObjectClass, DistinguishedName

  12. #52
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 506
    Billets dans le blog
    1
    Par défaut
    A la bourre. Réponse vers 18h30...

  13. #53
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 506
    Billets dans le blog
    1
    Par défaut
    Réponse vers 18h30...
    Mais je n'avais pas précisé de quel jour...

    OK pour trouver l'info avec l'outil, mais je préfère utiliser get-aduser pour pouvoir le faire par programme et je ne sais transposer ton exemple dans mon script. Tu peux m'aider ?

    La ligne de code donne bien une grande liste de réponses. Les valeurs pour les DistinguishedName sont correctes par contre pour les ObjectClass il y a en général 4 valeurs, et ça ne retourne que la dernière...

  14. #54
    Membre chevronné
    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
    Par défaut
    Comment afficher les valeurs ? Car $_.SamAccountName, pas de problème, mais la première ?
    .....
    je préfère utiliser get-aduser pour pouvoir le faire par programme et je ne sais transposer ton exemple dans mon script. Tu peux m'aider ?
    pour faire un verifications, normalement on prend un utilisateur qui ce trouve dans le premier groupe et on vérifie si il ce trouve dans le deuxième !
    tous les SamAccountName sorte de l'AD !!!
    sinon dans ta boucle tu affiche le contenue de SamAccountName comme ça :
    j'ai mis en commentaire l'ajout pour ce test contrôle
    ça écrit en vert le SamAccountName source, le Maganta pour ObjectClass
    si utilisateur doit etre copier ça ecrit en blanc le SamAccountName utilisé en destination et en jaune le name
    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $samgrsource = ((Get-ADGroup -Filter {name -eq $groupsource} -Server "gad.schneider-electric.com").sAMAccountName)
    $samgrdest = ((Get-ADGroup -Filter {name -eq $groupdest} -Server "gad.schneider-electric.com").sAMAccountName)
     
    Get-ADGroupMember -Identity $samgrsource  -Server "gad.schneider-electric.com" | foreach {
        Write-Host $_.SamAccountName"`t  " -NoNewline -ForegroundColor Green
        Write-Host $_.ObjectClass"`t  "  -NoNewline -ForegroundColor Magenta
        if (get-aduser -filter {SamAccountName -eq $_.SamAccountName}  -Server "gad.schneider-electric.com" | where {$_.Enabled -eq $true} ) {
    #        Add-ADGroupMember -Identity $samgrdest -members $_  -Server "gad.schneider-electric.com"
            Write-Host $_.SamAccountName"`t  " -NoNewline -ForegroundColor White
            Write-Host $_.Name -NoNewline -ForegroundColor Yellow
            }
        Write-Host ""
        }


    pour les ObjectClass il y a en général 4 valeurs, et ça ne retourne que la dernière...
    tu ne devrait avoir que des User d'après ce que tu m'a dis !
    quels sont les autres valeurs ?


    edit : correction cette partie de code
    | where {$_.Enabled -eq $true}

  15. #55
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 506
    Billets dans le blog
    1
    Par défaut
    Désolé de répondre que maintenant mais en fin de matinée, pas là, et en début d'après-midi, forum HS...(et commencé puis oublié de finir pendant plusieurs heures )

    Ce que tu affiches dans ton code, ce sont les variables $_.SamAccountName et pas le SamAccountName de l'AD ! (ce que je dis n'a peut-être aucun sens)
    On ne passe jamais dans le if vu qu'aucun affichage en blanc ni en jaune...(avec ou sans where)

    Les autres valeurs de ObjectClass (vu avec l'outil) sont top, person, organizationalPerson.

  16. #56
    Membre chevronné
    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
    Par défaut
    Ce que tu affiches dans ton code, ce sont les variables $_.SamAccountName et pas le SamAccountName de l'AD ! (ce que je dis n'a peut-être aucun sens)
    la valeur de $_.SamAccountName , c'est la valeur de SamAccountName sauf si tu la modifie dans ton code
    dans le code get-aduser -filter [$_.SamAccountName -eq SamAccountName }, on demande de retrouver un utilisateur qui à la valeur $_.SamAccountName,
    la valeur de $_.SamAccountName vient de la commande Get-ADGroupMember juste avant, donc elle existe dans le domaine AD !



    Les autres valeurs de ObjectClass (vu avec l'outil) sont top, person, organizationalPerson.
    top, person, organizationalPerson sont des valeur interne au fonctionnement du LDAP
    en règle générale les commande du module AD renvoie ces valeurs pour ObjectClass : user, group, computer, organizationalUnit

  17. #57
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 506
    Billets dans le blog
    1
    Par défaut
    Pas vu ta réponse ce matin...

    En fin de compte, c'est que je souhaite, c'est ne faire la copie que les utilisateurs pour lesquels enabled est à true. Comme le filtre sur Get-ADUser ne marche pas, j'ai essayé autre chose :
    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    $enabled=Get-ADUser -properties * |  Where-Object { $_.Enabled -eq '$true' }
    mais là,
    cmdlet Get-ADUser at command pipeline position 1
    Supply values for the following parameters:
    (Type !? for Help.)
    Filter: ?
    Get-ADUser : Erreur lors de l’analyse de la requête*: «*?*» Message d’erreur*: «*syntax error*» à la position*: «*1*».
    etc
    ???

  18. #58
    Membre chevronné
    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
    Par défaut
    mais là, de nouveau, $enabled reste vide
    le même code mais tu affiche en plus en rouge état de Enabled (False ou True) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    $samgrsource = ((Get-ADGroup -Filter {name -eq $groupsource} -Server "gad.schneider-electric.com").sAMAccountName)
    $samgrdest = ((Get-ADGroup -Filter {name -eq $groupdest} -Server "gad.schneider-electric.com").sAMAccountName)
     
    Get-ADGroupMember -Identity $samgrsource  -Server "gad.schneider-electric.com" | foreach {
        Write-Host $_.SamAccountName"`t  " -NoNewline -ForegroundColor Green
        Write-Host $_.ObjectClass"`t  "  -NoNewline -ForegroundColor Magenta
        Write-Host (get-aduser -filter {SamAccountName -eq $_.SamAccountName} -Server "gad.schneider-electric.com").Enabled"`t  "  -NoNewline -ForegroundColor Red
        if (get-aduser -filter {SamAccountName -eq $_.SamAccountName} -Server "gad.schneider-electric.com" | where {$_.Enabled -eq $true} ) {
    #        Add-ADGroupMember -Identity $samgrdest -members $_  -Server "gad.schneider-electric.com"
            Write-Host $_.SamAccountName"`t  " -NoNewline -ForegroundColor White
            Write-Host $_.Name -NoNewline -ForegroundColor Yellow
            }
        Write-Host ""
        }
    Le résultat que tu devrais avoir :

    evdupond user False evdupond Evelyne Dupond
    paschmith user True paschmith Pauline SCHMITH
    jodelamiria user True jodelamiria José DELA MARIA
    Gr_COMMERCIAL group

  19. #59
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 506
    Billets dans le blog
    1
    Par défaut
    J'avais pas vu ton post #58 quand j'ai corrigé mon post #57...Du coup, j'ai testé ton code et y a du vert et du magenta mais pas de rouge, blanc ni jaune (pareil en enlevant la clause where)

  20. #60
    Membre chevronné
    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
    Par défaut
    peut tu regarder tes message privé stp

+ Répondre à la discussion
Cette discussion est résolue.
Page 3 sur 4 PremièrePremière 1234 DernièreDernière

Discussions similaires

  1. Réponses: 2
    Dernier message: 20/05/2010, 18h35
  2. [xsd] Contrainte entre les attributs
    Par XtoX dans le forum Valider
    Réponses: 3
    Dernier message: 03/04/2009, 11h00
  3. [DF] dépendances fonctionnelles entre les attributs et la clé
    Par sadook dans le forum Schéma
    Réponses: 9
    Dernier message: 06/09/2007, 00h51
  4. Confusions entre les one/many-to-many/one
    Par TigrouMeow dans le forum Hibernate
    Réponses: 1
    Dernier message: 01/01/2007, 21h44
  5. Sérialisation: Quelles différences entre les attributs ?
    Par eldoctor.Sylvain dans le forum Framework .NET
    Réponses: 2
    Dernier message: 18/09/2006, 15h12

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