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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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

+ 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