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 utilisateur AD [PowerShell]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 17
    Par défaut Copier utilisateur AD
    Bonjour,

    J'aimerais créer un script PowerShell qui va me permettre de sélectionner un utilisateur de référence et créer des utilisateurs en masse (grâce à un fichier) à partir de ce dernier.

    J'utilise Visual Studio pour modeler mon interface et après je développe sous "PowerShell ISE".

    Pour le moment j'ai réussi à lister mes OU dans une liste déroulante et lorsque je sélectionne une OU il m'affiche mes utilisateurs dans une autre liste.

    Ma question est donc : Comment copier un utilisateur Active Directory pour que mes nouveaux utilisateurs hérite des paramétrages que j'ai effectué (profil etc ...) ?

    Merci d'avance

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 17
    Par défaut
    J'ai réussi à copier un utilisateur !

    Voici comment j'ai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $userInstance = Get-ADuser -Identity mon_utilisateur -Properties *
    
    New-ADuser -Name nouveau_utilisateur -AccountPassword (ConvertTo-SecureString "admin@1" -asplaintext -force) -HomeDirectory $userInstance.HomeDirectory -HomeDrive $userInstance.HomeDrive -ProfilePath $userInstance.ProfilePath
    Du coup avec cette méthode j'ai un problème. Dans mon Active Directory les profils sont fait de la manière suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    \\X.X.X.X\chemin\%username%
    Avec ma méthode la variable d'environnement ne change pas du tout, il garde le nom d'utilisateur du compte référence.

    Est-ce que quelqu’un aurait une solution ?

  3. #3
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Salut,
    si tu souhaites interpréter la variable d'environnement il faut utiliser le cmdlet Add-Type et l'api ExpandEnvironmentStringsou l'objet COM suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    New-Object -ComObject WScript.Shell

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 17
    Par défaut
    Salut, merci pour ta réponse.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    New-Object -ComObject WScript.Shell
    Je comprends pas comment utiliser ce bout de code. Le Get-Help WScript.Shell et le Wscript.Shell | Get-Member ne retourne rien :s

  5. #5
    Membre Expert
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Par défaut
    salut,

    tu peux voir les membres des objets COM's ainsi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $comObj=New-Object -ComObject WScript.Shell
    $comObj|gm
    Tu peux aussi utiliser la classe statique [Environment]

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    >> [Environment]|gm -Static
    >> [Environment]::ExpandEnvironmentVariables('\\X.X.X.X\chemin\%username%')

  6. #6
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par I'm_HERE Voir le message
    Tu peux aussi utiliser la classe statique [Environment]
    +1
    Je me disais bien qu'il y avait plus simple que COM ou Add-Type

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 20/10/2010, 12h05
  2. Copier un fichier sur le réseau avec un autre utilisateur du domaine
    Par Corben dans le forum VB 6 et antérieur
    Réponses: 0
    Dernier message: 30/01/2008, 16h19
  3. Réponses: 34
    Dernier message: 23/03/2007, 14h12
  4. [utilisateur]copier un compte existant
    Par ehmppowa dans le forum Oracle
    Réponses: 2
    Dernier message: 13/06/2006, 10h32
  5. [Afficher un message]Que l'utilisateur peut copier
    Par Terminator dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 28/04/2006, 10h02

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