Question Session AD par copie

Plus d'informations
il y a 9 ans 3 semaines #23226 par Nicolas Berthe
Bonjour à tous !!

Voilà, je viens poster ici car j'essai d'apprendre le Powershell en autodidacte donc j'ai peu de notion sur le sujet et pas mal de difficultés.

J'ai un problème :

J'ai créé un script de création de session AD ou je crée un compte à la fois, via des informations que je fais saisir à la personne qui exécute le script et qui sont ajouté par variable à ma commende de création de session.
Voici le code que j'ai fais

[code:1]
Write-host \"Nous allons à présent créer un nouveau compte utilisateur \"
Write-host \" \"
$Nom = Read-host \" Saisir ici le nom de famille du nouvel utilisateur \"
Write-host \" \"
$Prenom = Read-host \" Saisir ici le prénom du nouvel utilisateur \"
$NomComplet = $Prenom + \" \" + $Nom
Write-host \" \"
$Login = Read-host \" Saisir ici le nom d'ouverture de session du nouvel utilisateur \"

$t = Get-ADUser -Identity \"cb\"


New-ADUser -Name $NomComplet -GivenName $Prenom -Surname $Nom -SamAccountName $Login -UserPrincipalName $Login -AccountPassword (Read-Host -AsSecureString \"AccountPassword\"«») -PassThru -Instance $t | Enable-ADAccount
[/code:1]

Alors si j'enlève l'option \"-Instance\" j'arrive à créer un utilisateur, mais pas par copie d'un ancien.

Et le but du script est justement de créer par copie !

J'ai mis cette option mais dans la plus grande sincérité, je ne sais pas du tout si c'est ça.

Quelqu’un peut-il m'aider ou me mettre sur la voie svp :)

Merci !

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 9 ans 3 semaines #23229 par Arnaud Petitjean
Réponse de Arnaud Petitjean sur le sujet Re:Session AD par copie
Salut Nickola !

D'après l'aide en ligne sur Technet , ce que tu as écrit semble correct :

Method 1: Use an existing user object as a template for a new object. To retrieve an instance of an existing user object, use a cmdlet such as Get-ADUser. Then provide this object to the Instance parameter of the New-ADUser cmdlet to create a new user object. You can override property values of the new object by setting the appropriate parameters.

$userInstance = Get-ADUser -Identity \"saraDavis\"
New-ADUser -SAMAccountName \"ellenAdams\" -Instance $userInstance -DisplayName \"EllenAdams\"

Method 2: Create a new ADUser object and set the property values by using the Windows PowerShell command line interface. Then pass this object to the Instance parameter of the New-ADUser cmdlet to create the new Active Directory user object.

$userInstance = new-object Microsoft.ActiveDirectory.Management.ADUser
$userInstance.DisplayName = \"Ellen Adams\"
New-ADUser -SAMAccountName \"ellenAdams\" -Instance $userInstance


J'ai découvert un truc car j'ignorais l'existence de cette possibilité :side: .

Ceci étant dit, je n'aime pas ton approche de créer une interaction avec l'utilisateur pour créer des comptes. Cela ne va pas dans le sens d'un fonctionnement automatisé. Mais bon... cela n'engage que moi.

Ce que j'aurais fait, c'est importer un fichier CSV qui contiendrait toutes les données.
Si tu disposes du livre \"Windows PowerShell : Les fondamentaux du langage\" tu trouveras tout ce qu'il faut pour faire cela dans le chapitre \"Etude de cas/Créer des comptes utilisateurs par lot\".

Arnaud

MVP PowerShell et créateur de ce magnifique forum :-)
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 9 ans 3 semaines #23232 par Nicolas Berthe
Réponse de Nicolas Berthe sur le sujet Re:Session AD par copie
Merci beaucoup !!

Je désespérais vraiment.

Et oui je suis d'accord avec toi, mais si tu veux, le contexte professionnel dans lequel je dois réaliser ce script est que je travaille dans une Hotline technique et les sociétés dans lesquels je prends la main à distance sont déjà créé et existante, donc ils nous appelle à la hotline pour configurer 1 ou 2 nouveaux utilisateurs maximum tous les 6 mois (on gère 2500 sociétés)
Donc le script et destiné à mes collègues qui a chaque ajout de nouveau user, vont l’exécuter pour que les non-initiés au powershell, puissent remplir les infos et créer un compte.

Et si je veux faire une copie et non une création, c'est pour récupérer une immensité de droit très spécifique à leurs branches d'activité.

De plus le script permettra une création de BAL exchange en automatique depuis les infos saisies.

Je promets que si ça avait été plus simple, j'aurais choisi l'option du CSV, mais ce n’est pas le cas.

Au final ce script fera presque gagner 20 min sur les 40 habituels.

Merci encore, je vais tester ça !!

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 9 ans 3 semaines #23233 par Arnaud Petitjean
Réponse de Arnaud Petitjean sur le sujet Re:Session AD par copie
Vraiment de rien ;)

Au final ce script fera presque gagner 20 min sur les 40 habituels.


Oui et surtout il évitera potentiellement des erreurs dues au traitement manuel.

Bon scripting !

Arnaud

MVP PowerShell et créateur de ce magnifique forum :-)
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.046 secondes
Propulsé par Kunena