Question
Création compte ad via un compte ad existant
- Philippe
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 9 ans 7 mois #18070
par Philippe
Réponse de Philippe sur le sujet Re:Création compte ad via un compte ad existant
Bon j’espère ca va marcher pour toi
dans cette derniere modif j'ai rajouter une ligne qui supprime tous les attribues vide ou qui commence par microsoft, ce qui a l'air de gêné new-aduser
ca fonctionne pour moi, (et devrais aussi fonctionnais aussi pour le commande Quest mais j'ai pas testé)
pour la technique utilisé, j'ai pas trouver mieux a mon niveau de powershell
[code:1]Import-Module activedirectory
# export du modèle
Get-ADuser test2 -Properties * | export-csv c:\modele.csv
# utilisation du modèle
$a = import-csv c:\modele.csv
$a.SamAccountName = \"atoto\"
$a.DisplayName = \"allo toto\"
$a.Name = \"allo toto\"
$a.sn = \"toto\"
$a.GivenName = \"allo\"
$a.mail = \"atoto@email.com\"
$a.EmailAddress = \"atoto@email.com\"
$a.UserPrincipalName = \"atoto@domaine.lan\"
$a | gm | where {$_.MemberType -eq \"NoteProperty\" -and ($a.\"$($_.name)\" -eq \"\" -or $a.\"$($_.name)\" -match \"^[0-9]\" -or $a.\"$($_.name)\" -match \"^Microsoft\"«»)} | foreach {$a.PSObject.Properties.Remove(\"$($_.name)\"«»)}
$a | New-ADUser -Path \"OU=TEST,DC=domaine,DC=lan\" -Name $a.name -SamAccountName $a.sAMAccountName -accountPassword (ConvertTo-SecureString -AsPlainText \"P@sswOrd\" -Force) -enable $True
Enable-ADAccount -Identity $a.sAMAccountName
[/code:1]
dans cette derniere modif j'ai rajouter une ligne qui supprime tous les attribues vide ou qui commence par microsoft, ce qui a l'air de gêné new-aduser
ca fonctionne pour moi, (et devrais aussi fonctionnais aussi pour le commande Quest mais j'ai pas testé)
pour la technique utilisé, j'ai pas trouver mieux a mon niveau de powershell
[code:1]Import-Module activedirectory
# export du modèle
Get-ADuser test2 -Properties * | export-csv c:\modele.csv
# utilisation du modèle
$a = import-csv c:\modele.csv
$a.SamAccountName = \"atoto\"
$a.DisplayName = \"allo toto\"
$a.Name = \"allo toto\"
$a.sn = \"toto\"
$a.GivenName = \"allo\"
$a.mail = \"atoto@email.com\"
$a.EmailAddress = \"atoto@email.com\"
$a.UserPrincipalName = \"atoto@domaine.lan\"
$a | gm | where {$_.MemberType -eq \"NoteProperty\" -and ($a.\"$($_.name)\" -eq \"\" -or $a.\"$($_.name)\" -match \"^[0-9]\" -or $a.\"$($_.name)\" -match \"^Microsoft\"«»)} | foreach {$a.PSObject.Properties.Remove(\"$($_.name)\"«»)}
$a | New-ADUser -Path \"OU=TEST,DC=domaine,DC=lan\" -Name $a.name -SamAccountName $a.sAMAccountName -accountPassword (ConvertTo-SecureString -AsPlainText \"P@sswOrd\" -Force) -enable $True
Enable-ADAccount -Identity $a.sAMAccountName
[/code:1]
Connexion ou Créer un compte pour participer à la conversation.
- Arakdy Alinovitch
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 19
- Remerciements reçus 0
il y a 9 ans 7 mois #18079
par Arakdy Alinovitch
Réponse de Arakdy Alinovitch sur le sujet Re:Création compte ad via un compte ad existant
Bon alors il y a du bon et du mauvais. Le bon c'est que le script fonctionne parfaitement, plus aucune erreur et il récupère la description, l'adresse, ... En revanche le mauvais c'est qu'il ne récupère toujours pas les groupes dont l'utilisateur modèle est membre ainsi que les chemins d'accès au profil et dossier de base du profil des services de bureau à distance.
Après si personne ne sais comment faire ce type de manipulation bas c'est peut-être parce que ce n'est pas possible.
En tout cas grand merci à toi 6ratgus pour ton aide
Après si personne ne sais comment faire ce type de manipulation bas c'est peut-être parce que ce n'est pas possible.
En tout cas grand merci à toi 6ratgus pour ton aide
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 9 ans 7 mois #18083
par Philippe
Réponse de Philippe sur le sujet Re:Création compte ad via un compte ad existant
peut tu vérifier dans le fichier csv généré si tu a bien les infos voulus dans les attribues (chemins) à garder ! (pour homeDirectory,homeDrive,scriptPath,profilePath par exemple)
de mon coté, le compte créé lors de mes tests contient bien les infos profilepath et autres chemins de l'utilisateur modèle.
Pour la copie des groupes membres, il te faut utilisé une autre méthode.
voici ce que j'utilise :
[code:1]Import-Module activedirectory
$oldgroup = \"G_RESP CONTROLE GESTION\"
$newgroup = \"G_RESPONSABLE CONTRÔLE GESTION\"
# copie les \"membres\" (utilisateurs) entre deux groupes
Get-ADGroupMember $oldgroup | foreach {Add-ADGroupMember -Identity $newgroup $_}
# copie les \"membres de\" (recources) entre deux groupes
(Get-ADGroup $oldgroup -Properties memberof ).memberof.GetEnumerator() | foreach {Add-ADPrincipalGroupMembership -Identity $newgroup -MemberOf $_}
[/code:1]<br><br>Message édité par: 6ratgus, à: 11/09/14 17:20
de mon coté, le compte créé lors de mes tests contient bien les infos profilepath et autres chemins de l'utilisateur modèle.
Pour la copie des groupes membres, il te faut utilisé une autre méthode.
voici ce que j'utilise :
[code:1]Import-Module activedirectory
$oldgroup = \"G_RESP CONTROLE GESTION\"
$newgroup = \"G_RESPONSABLE CONTRÔLE GESTION\"
# copie les \"membres\" (utilisateurs) entre deux groupes
Get-ADGroupMember $oldgroup | foreach {Add-ADGroupMember -Identity $newgroup $_}
# copie les \"membres de\" (recources) entre deux groupes
(Get-ADGroup $oldgroup -Properties memberof ).memberof.GetEnumerator() | foreach {Add-ADPrincipalGroupMembership -Identity $newgroup -MemberOf $_}
[/code:1]<br><br>Message édité par: 6ratgus, à: 11/09/14 17:20
Connexion ou Créer un compte pour participer à la conversation.
- Arakdy Alinovitch
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 19
- Remerciements reçus 0
il y a 9 ans 7 mois #18084
par Arakdy Alinovitch
Réponse de Arakdy Alinovitch sur le sujet Re:Création compte ad via un compte ad existant
Je viens de vérifier et je ne vois aucun chemins, etc. Après je sais pas si ça joue mais ce n'est pas le profil de base c'est le profil des services de Bureau à distance où sont indiqué les chemins d'accès au profil et dossier de base.
Après je ne sais pas si je me suis mal expliquer ou que je ne comprend pas vraiment ton code mais en faite je veux copier les groupes dont l'utilisateur modèle est membre et non les membres des différents groupes<br><br>Message édité par: Arkady910, à: 11/09/14 17:28
Après je ne sais pas si je me suis mal expliquer ou que je ne comprend pas vraiment ton code mais en faite je veux copier les groupes dont l'utilisateur modèle est membre et non les membres des différents groupes<br><br>Message édité par: Arkady910, à: 11/09/14 17:28
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 9 ans 7 mois #18085
par Philippe
Réponse de Philippe sur le sujet Re:Création compte ad via un compte ad existant
je pense que :
soit ton utilisateur modèle ne contient pas les infos souhaité (comme tu le dis), vérifie sur l'utilisateur modèle dans l'onglet profil.
soit tu a un problème dans extraction des infos.
dans ce dernier cas, réessaie avec un export plus sélectif :
[code:1]Get-ADuser test2 -Properties DisplayName,sn,mail,UserPrincipalName,homeDirectory,homeDrive,scriptPath,profilePath | export-csv c:\modele.csv[/code:1]
soit ton utilisateur modèle ne contient pas les infos souhaité (comme tu le dis), vérifie sur l'utilisateur modèle dans l'onglet profil.
soit tu a un problème dans extraction des infos.
dans ce dernier cas, réessaie avec un export plus sélectif :
[code:1]Get-ADuser test2 -Properties DisplayName,sn,mail,UserPrincipalName,homeDirectory,homeDrive,scriptPath,profilePath | export-csv c:\modele.csv[/code:1]
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 9 ans 7 mois #18086
par Philippe
c'est moi qui me suis tromper !
désolé
[code:1]$NomModele = \"test2\"
$Nomdestination = $a.sAMAccountName
# copie tous les groupes d\"un utilisateur sur un autre utilisateur
Get-ADPrincipalGroupMembership $NomModele | where {$_.name -ne \"Utilisa. du domaine\"} | foreach {Add-ADGroupMember -Identity $_.name $Nomdestination}
[/code:1]
testé et validé !
Réponse de Philippe sur le sujet Re:Création compte ad via un compte ad existant
Après je ne sais pas si je me suis mal expliquer ou que je ne comprend pas vraiment ton code mais en faite je veux copier les groupes dont l'utilisateur modèle est membre et non les membres des différents groupes
c'est moi qui me suis tromper !
désolé
[code:1]$NomModele = \"test2\"
$Nomdestination = $a.sAMAccountName
# copie tous les groupes d\"un utilisateur sur un autre utilisateur
Get-ADPrincipalGroupMembership $NomModele | where {$_.name -ne \"Utilisa. du domaine\"} | foreach {Add-ADGroupMember -Identity $_.name $Nomdestination}
[/code:1]
testé et validé !
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.093 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- Création compte ad via un compte ad existant