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 :

Déplacer des groupes d'une OU vers une autre OU


Sujet :

Scripts/Batch

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Bosse dans l'informatique
    Inscrit en
    Mai 2011
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bosse dans l'informatique

    Informations forums :
    Inscription : Mai 2011
    Messages : 51
    Points : 25
    Points
    25
    Par défaut Déplacer des groupes d'une OU vers une autre OU
    Bonjour,

    J'ai besoin d'aide pour déplacer dans mon AD un certain nombre de listes de distribution d'une OU d'origine vers une OU cible, en utilisant un fichier en entrée contenant le nom et l'emplacement source et l'emplacement cible.

    Donc je cherche a écrire un petit script simple a comprendre réalisant cette intervention. En fouillant sur le Net j'ai trouvé la fonction "PSBase.MoveTo"

    voici donc le début de quelque chose
    ----------------------------------------------
    Le fichier fileDL.txt contenant sur deux colonnes les DN source et destination

    colonne1 ->[ADSI]"LDAP://CN=Listededistrib1, OU=Compta, OU=Groupe,DC=domaine,DC=corp" colonne 2 ->[ADSI]"LDAP://CN=Listededistrib1, OU=DLs, DC=domaine,DC=corp"
    ----------------------------------------------

    $InputFile = Get-Content .\fileDL.txt

    $source = référence au fichier
    $destination = référence au fichier
    $source.PSBase.MoveTo($destination)

    Bon vous voyez mon niveau, je suis bloqué et j'aurais besoin d'un coup de main
    Je tiens a préciser que je suis très débutant en PS

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 17
    Points : 14
    Points
    14
    Par défaut
    Salut casimir,

    Depuis le temps, tu l'as peut être fait à la main ^^
    Sinon pour tes débuts, regarde plutôt au niveau des commandlets Active Directory de chez Quest c'est plus compréhensible en comparaison au début de solution que tu as trouvé.

    Sinon pour répondre à ta question, en formatant ton fichier ainsi :
    colonne1;colonne2
    "CN=Listededistrib1,OU=Compta,OU=Groupe,DC=domaine,DC=corp";"OU=DLs,DC=domaine,DC=corp"
    "CN=Listededistrib2,OU=Compta,OU=Groupe,DC=domaine,DC=corp";"OU=DLs,DC=domaine,DC=corp"
    "CN=Listededistrib3,OU=Compta,OU=Groupe,DC=domaine,DC=corp";"OU=DLs,DC=domaine,DC=corp"
    "CN=Listededistrib4,OU=Compta,OU=Groupe,DC=domaine,DC=corp";"OU=DLs,DC=domaine,DC=corp"
    "CN=Listededistrib5,OU=Compta,OU=Groupe,DC=domaine,DC=corp";"OU=DLs,DC=domaine,DC=corp"
    "CN=Listededistrib6,OU=Compta,OU=Groupe,DC=domaine,DC=corp";"OU=DLs,DC=domaine,DC=corp"

    Et en exécutant ce bout de code, ça devrait le faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Import-Csv -Path "c:\temp\monfichier.csv" -Delimiter ";" | % {
    	$from = [ADSI]"LDAP://$($_.colonne1)"
    	$toOU = [ADSI]"LDAP://$($_.colonne2)"
    	$from.PSBase.MoveTo($toOU,"cn="+$from.name)
    }
    Le problème de ce code et que tu n'as pas de contrôle, donc en "bon" admin que je suis et toi aussi j'espère, ça pose un petit problème d'éthique :p
    Avec l'utilisation des commandlets tu as en général le paramètre -Whatif qui te permet de tester ton code avant de passer réellement en production.

    Pour info avec le commandlet Quest ça donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Import-Csv -Path "c:\temp\monfichier.csv" -Delimiter ";" |% { Move-QADObject -Identity $_.colonne1 -NewParentContainer $_.colonne2 -WhatIf }
    En tout cas bienvenu dans la communauté et bonne continuation.

Discussions similaires

  1. [VB.Net] Comment copier une DataRow d'une table vers une autre ?
    Par YLF dans le forum Accès aux données
    Réponses: 7
    Dernier message: 05/09/2012, 23h23
  2. Déplacer une image d'une feuille vers une autre dans un fichier Excel
    Par helenaide dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/10/2011, 14h27
  3. copier une ligne d'une table vers une autre
    Par Adren dans le forum Langage SQL
    Réponses: 5
    Dernier message: 08/08/2006, 11h54
  4. copier une partie d'une image vers une autre
    Par gregcat dans le forum Langage
    Réponses: 1
    Dernier message: 14/04/2006, 13h39
  5. [VB.NET] Copie d'une table d'une DB vers une autre
    Par SergeF dans le forum Windows Forms
    Réponses: 9
    Dernier message: 20/11/2004, 09h54

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