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 :

Script ajouter ordinateur dans un groupe AD [PowerShell]


Sujet :

Scripts/Batch

  1. #1
    Membre averti
    Femme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Septembre 2017
    Messages : 12
    Par défaut Script ajouter ordinateur dans un groupe AD
    Bonjour,

    J'ai une liste d'ordinateur sous un fichier .csv
    Je n'arrive pas à récupérer la variable sous -Members

    Si je mets en dure CCCCC (une donnée) sous -Members 'CN=CCCCC,OU=Desktops,OU=WorkstationsW7,OU=GER,OU=Workstations,OU=Servers And Workstations,DC=BBB,DC=fr' .ça fonctionne.
    Moi j'aimerais que CCCC soit les valeurs de mon fichier .csv

    J'espère que ma demande est claire.

    Merci d'avance

    voici mon script
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Import-module ActiveDirectory
    $liste=Import-Csv -Path C:\computer.csv
    
    
    ForEach-Object {  
    $comput= $_.Nom    
      
            Add-ADGroupMember -Identity 'CN=AAAAAA,OU=GER,OU=Workstations,OU=Servers And Workstations,DC=BBB,DC=fr' -Members 'CN=CCCCC,OU=Desktops,OU=WorkstationsW7,OU=GER,OU=Workstations,OU=Servers And Workstations,DC=BBB,DC=fr'
         }

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

    bien que ton script ne provoque aucun message d'erreur, il comporte tous de même au moins une erreur !

    tu fait une boucle foreach mais tu n'indique pas la sur quel données la boucle doit travailler !

    rajoute ceci au début du code pour mieux faire ressortir certaine erreurs de frappe ou codage :
    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    Set-StrictMode -Version 2.0
    tu peut changer la version en fonction de ton PowerShell

    n'hésite pas a revenir si tu veux plus de détails

  3. #3
    Membre averti
    Femme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Septembre 2017
    Messages : 12
    Par défaut
    Merci 6ratgus de ton retour.

    J'ai ce message d'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Impossible d’extraire la variable «*$_*», car elle n’a pas été définie.
    Au caractère 
    + $comput= $_.Nom
    +          ~~
        + CategoryInfo          : InvalidOperation : (_:String) [], RuntimeException
        + FullyQualifiedErrorId : VariableIsUndefined
    Je débute en Powershell et il me semblait que pour déclarer ma variable je devais faire ce bout de code Dans mon fichier csv, mon entête de colonne s'appelle Nom
    Nom
    ordi1
    ordi2
    ....

  4. #4
    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
    il me semblait que pour déclarer ma variable je devais faire ce bout de code
    jusque la tu t'est pas tromper
    mais comme je te disais dans mon précédent message il faut indiquer a ForEach-Object sur quelle données travailler
    sinon la variable $_ ne contiendra rien

    je te conseil de lire quelques tutos de base pour mieux appréhender PowerShell surtout si tu n'a jamais fais de programmation
    clique ici pour accédé à quelques tutos sur powershell de notre amis Laurent en commencent par le bas de la liste

  5. #5
    Membre averti
    Femme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Septembre 2017
    Messages : 12
    Par défaut
    Merci pour cette lecture ;-)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Import-module ActiveDirectory
    $liste=Import-Csv -Path C:\computer.csv
    Set-StrictMode -Version 2.0
    
    foreach ( $Data in  $liste )
    {
        Write-Host $Data.Nom
        $ordi=$Data.Nom
        $groupe="CN=GrETUWorkstation,OU=GER,OU=Workstations,OU=Servers And Workstations,DC=almge,DC=fr"
        Add-ADGroupMember -Identity $groupe -Members $ordi 
    }
    Et voici mon erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Add-ADGroupMember : Impossible de trouver un objet avec l’identité «*GER10060029*» sous*: «*DC=almge,DC=fr*».
    Au caractère Ligne:11 : 9
    +         Add-ADGroupMember -Identity $groupe -Members $ordi
    +         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : ObjectNotFound: (GER10060029:ADPrincipal) [Add-ADGroupMember], ADIdentityNotFoundException
        + FullyQualifiedErrorId : SetADGroupMember.ValidateMembersParameter,Microsoft.ActiveDirectory.Management.Commands.AddADGroupMember
    Je pense qu'il me manque un searchBase ou autre. Je cherche

  6. #6
    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
    heureux de voir que tu a trouver ta petite erreur

    pour cette nouvelle erreur deux choix :
    soit le groupe n'existe pas
    soit le groupe n'est pas dans cette OU

    une solution pour savoir :
    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    get-adgroup "GrETUWorkstation"
    si tu a une réponse c'est que le nom du groupe est bon et alors tu contrôlé si l'OU est bonne avec DistinguishedName en première ligne !
    sinon le nom du groupe n'est pas bon !!!

    autre possibilité tu travail dans un ad avec plusieurs domaine


    troisième possibilité : je me plante complètement et "GER10060029" est le nom d'un l'ordi !!!
    il faut que l'ordinateur existe avant de le rajouter a un groupe !!!
    sinon erreur !!

    même manip pour vérifier si il existe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    get-adcomputer GER10060029
    ou par une recherche dans l'interface graphique "Utilisateurs et ordinateurs de l'AD"
    voir un simple ping GER10060029

  7. #7
    Membre averti
    Femme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Septembre 2017
    Messages : 12
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    get-adgroup GrETUWorkstation
    get-adgroup : Impossible de trouver un objet avec l’identité «*GrETUWorkstation*» sous*: «*DC=almge,DC=fr*».
    Au caractère Ligne:1 : 1
    + get-adgroup GrETUWorkstation
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : ObjectNotFound: (GrETUWorkstation:ADGroup) [Get-ADGroup], ADIdentityNotFoundException
        + FullyQualifiedErrorId : ActiveDirectoryCmdlet:Microsoft.ActiveDirectory.Management.ADIdentityNotFoundException,Microsoft.ActiveDirectory.Management.Commands.GetADGroup
    Mystère alors...

  8. #8
    Membre averti
    Femme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Septembre 2017
    Messages : 12
    Par défaut
    Le pc existe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    get-adcomputer GER10060029
    
    
    DistinguishedName : CN=GER10060029,OU=Desktops,OU=WorkstationsW7,OU=GER,OU=Workstations,OU=Servers And Workstations,DC=almge,DC=fr
    DNSHostName       : GER10060029.almge.fr
    Enabled           : True
    Name              : GER10060029
    ObjectClass       : computer
    ObjectGUID        : f35ce8f0-59e5-4813-b322-c53d12fc972c
    SamAccountName    : GER10060029$
    SID               : S-1-5-21-2986267602-2488830573-405823096-5442
    UserPrincipalName :

  9. #9
    Membre averti
    Femme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Septembre 2017
    Messages : 12
    Par défaut
    Bon, le groupe est failed, j'en ai créé un autre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    get-adgroup Gr_Etu_Workstation
    
    
    
    DistinguishedName : CN=Gr_Etu_Workstation,OU=GER,OU=Workstations,OU=Servers And Workstations,DC=almge,DC=fr
    GroupCategory     : Security
    GroupScope        : Global
    Name              : Gr_Etu_Workstation
    ObjectClass       : group
    ObjectGUID        : 2f09a84e-c499-484b-8b61-fb3f18d75745
    SamAccountName    : Gr_Etu_Workstation
    SID               : S-1-5-21-2986267602-2488830573-405823096-6818
    J'ai toujours la même erreur sinon

  10. #10
    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
    si tous existe tu devrais pas avoir d'erreur
    1) peut tu me donner le dernier message
    2) peut tu me dire si tu a plusieurs domaine dans ton AD

  11. #11
    Membre averti
    Femme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Septembre 2017
    Messages : 12
    Par défaut
    alors dernier code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Import-module ActiveDirectory
    $liste=Import-Csv -Path C:\computer.csv
    Set-StrictMode -Version 2.0
           
    foreach ( $Data in  $liste )
    {
        Write-Host $Data.Nom
        $ordi=$Data.Nom
        $groupe='CN=Gr_ETU_Workstation,OU=GER,OU=Workstations,OU=Servers And Workstations,DC=almge,DC=fr'
        Add-ADGroupMember -Identity $groupe -Member $ordi
    }
    Résultat:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    GER08060022
    Add-ADGroupMember : Impossible de trouver un objet avec l’identité «*GER08060022*» sous*: «*DC=almge,DC=fr*».
    Au caractère C:\Users\ger admin lgentil\Desktop\scriptetudiant.ps1:10 : 5
    +     Add-ADGroupMember -Identity $groupe -Member $ordi
    +     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : ObjectNotFound: (GER08060022:ADPrincipal) [Add-ADGroupMember], ADIdentityNotFoundException
        + FullyQualifiedErrorId : SetADGroupMember.ValidateMembersParameter,Microsoft.ActiveDirectory.Management.Commands.AddADGroupMember
    Non pas d'autres domaines à ma connaissance

  12. #12
    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
    ok

    mais c'est plus le même PC

    a tu vérifier si il existe ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    get-adcomputer GER08060022
    tu sort d'où les infos de ton fichier CSV ?

  13. #13
    Membre averti
    Femme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Septembre 2017
    Messages : 12
    Par défaut
    O pardon

    oui il existe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    PS C:\Users\ger admin lgentil\Desktop> get-adcomputer GER08060022
    
    
    DistinguishedName : CN=GER08060022,OU=Desactives,OU=GER,OU=Workstations,OU=Servers And Workstations,DC=almge,DC=fr
    DNSHostName       : GER08060022.almge.fr
    Enabled           : False
    Name              : GER08060022
    ObjectClass       : computer
    ObjectGUID        : 821e418e-9b36-4d7f-b0f1-2231dbfa6cf8
    SamAccountName    : GER08060022$
    SID               : S-1-5-21-2986267602-2488830573-405823096-5429
    UserPrincipalName :
    mon fichier est un .csv que mon chef a extrait de l'AD

  14. #14
    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
    zut

    alors ceci fonctionne alors ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Add-ADGroupMember -Identity 'CN=Gr_ETU_Workstation,OU=GER,OU=Workstations,OU=Servers And Workstations,DC=almge,DC=fr' -Member  "GER08060022"
    sinon test ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Add-ADGroupMember -Identity  'Gr_ETU_Workstation'  -Member  "GER08060022"
    puis ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Add-ADGroupMember -Identity  'Gr_ETU_Workstation' -Member  "CN=GER08060022,OU=Desactives,OU=GER,OU=Workstations,OU=Servers And Workstations,DC=almge,DC=fr"
    on va finir par comprendre pourquoi ça passe pas !!

    attention j'avait inverser le nom du groupe et de l'ordi

  15. #15
    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
    j'ai trouver !!!!

    il faut le DistinguishedName pour l'identité de l'ordi !!! (oui je sais je le savais pourtant) !!!
    voir la doc toujours la doc

    donc ça fonctionne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Add-ADGroupMember -Identity  'Gr_ETU_Workstation' -Member  "CN=GER08060022,OU=Desactives,OU=GER,OU=Workstations,OU=Servers And Workstations,DC=almge,DC=fr"

  16. #16
    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
    une solution :

    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Set-StrictMode -Version 2.0
     
    Import-module ActiveDirectory
    $liste=Import-Csv -Path C:\computer.csv
     
    $groupe='CN=Gr_ETU_Workstation,OU=GER,OU=Workstations,OU=Servers And Workstations,DC=almge,DC=fr'
     
    foreach ( $Data in  $liste )
    {
        Write-Host $Data.Nom
        $ordi = (Get-ADComputer $Data.Nom).DistinguishedName
        Add-ADGroupMember -Identity $groupe -Member $ordi
    }

  17. #17
    Membre averti
    Femme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Septembre 2017
    Messages : 12
    Par défaut
    Je teste demain toutes propositions retour maison.

    Merci

  18. #18
    Membre averti
    Femme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Septembre 2017
    Messages : 12
    Par défaut
    ALLELUIA

    Merci beaucoup, je n'aurais pas trouver sans toi.

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

Discussions similaires

  1. [PowerShell] Ajout user dans un groupe en fonction d'un booléen
    Par PoP_NicoW dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 02/12/2013, 19h04
  2. Ajout ordinateur dans un groupe
    Par Awesome99 dans le forum VBScript
    Réponses: 1
    Dernier message: 20/02/2013, 16h05
  3. Réponses: 0
    Dernier message: 06/10/2011, 13h56
  4. Net::LDAP Ajouter ordinateur dans un group AD
    Par Viduc dans le forum Modules
    Réponses: 1
    Dernier message: 04/06/2010, 17h41
  5. ajout d'un ordinateur dans un groupe
    Par renoelectro dans le forum VBScript
    Réponses: 3
    Dernier message: 03/03/2008, 10h55

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