Comment creer des utilisateurs et groupes ADLDS avec Power Shell


 

Créer des utilisateurs avec PowerShell

Vous pouvez créer de nombreux utilisateurs ADLDS en l’automatisant avec PowerShell, pour cela on va créer deux fichiers.

Un fichier names.txt pour mettre les comptes utilisateurs, ensuite créer le script createuser.ps1 avec comme argument le fichier names.txt, le script crée alors les comptes ADLDS dans la partition OU=OU3,O=ms,C=com sur le serveur ADLDS qui a comme nom server2k8 qui utilise le port LDAP 50002.

Un fichier groups.txt sera également créer afin d’ajouter les comptes utilisateurs nouvellement créés dans des groupes qui sont définis dans le fichier groups.txt.

Supposons que le script sera créé dans le répertoire c:\temp, on se positionne d’abord dans ce répertoire avec set-location.

PS C:\ set-location c:\temp

Ensuite, autoriser à exécuter les scripts PowerShell.

PS C:\temp> set-executionpolicy unrestricted

Voici un exemple du contenu des fichiers names.txt et groups.txt

Fichier names.txt

account1

Julia

John

Roxanna

Kim

Huu-Duc

Fichier groups.txt

group1

group2

group3

group4

group5

 

. Créer le script PowerShell CreateUserFromListADLDS.ps1

Fichier CreateUserFromListADLDS.ps1

$InputUsers = Get-Content .\names.txt

$GroupsOU = [ADSI] ‘LDAP://localhost:50002/OU=OU3,O=ms,C=com’

Foreach ($Line in $InputUsers)

{

$User = $GroupsOU.create(‘User’,’CN=’ + $Line)

$User.SetInfo()

$User.Put(‘DisplayName’, $Line)

$User.SetInfo()

}

On exécute le script PS avec la commande suivante :

.\ CreateUserFromListADLDS.ps1

ci-dessous, le résultat de la création des utilisateurs.

clip_image002

 

Création des groupes avec PowerShell.

Fichier CreateGroupADLDS.ps1

Ce script va lire le contenu du fichier groups.txt qui contient les noms des groupes à créer.

 

$InputGroups = Get-Content .\groups.txt

$GroupsOU = [ADSI] ‘LDAP://localhost:50002/OU=OU3,O=ms,C=com’

Foreach ($Line in $InputGroups)

{

$User = $GroupsOU.Create(‘Group’,’CN=’ + $Line)

$User.SetInfo()

$User.Put(‘displayname’, $Line)

$User.SetInfo()

}

L’exécution du script ci-dessus est faite avec la commande suivante :

.\creategroupadlds.ps1

clip_image004

La figure ci-dessus montre le résultat de la creation des groupes par PS.

 

. Ajout des comptes dans le groupe GROUP1.

Fichier addmemberadlds.ps1

Ce script a comme fichier d’entrée names.txt, il va lire chaque de ce fichier, prendre le nom utilisateur et ajouter dans le groupe GROUP1.

$InputUser = Get-Content .\names.txt

$objContainer = [ADSI] "LDAP//localhost:50002/OU=OU3,O=ms,C=com"

Foreach ($Line in $InputUser)

{

$group = [ADSI]’LDAP://localhost:50002/CN=group1,OU=OU3,O=ms,C=com’

$group.Member.Add(‘CN=’ + $Line + ‘,OU=OU3,O=ms,C=com’)

$group.SetInfo()

}

L’exécution du PS script donne le résultat suivant :

PS C:\temp> .\addmemberadlds.ps1

0

1

2

3

4

5

clip_image006

En regardant le contenu de l’attribut member de GROUP1, on peut voir les utilisateurs qui ont été ajoutés dans ce groupe.

clip_image008

 

Créer les comptes de type UserProxy avec Power Shell.

Un exemple ci-dessous permet de créer plusieurs compte proxy par PS.

Le fichier d’entrée s’appelle column.txt, contenant 2 colonnes. La première colonne contient le nom du compte proxy, la deuxième colonne contient le SID du compte AD qu’on veut ajouter dans l’attribut ObjectSID du compte proxy qu’on veut créer.

 

Fichier column.txt

ADproxy1 S-1-5-21-1552230033-2990721084-1776586453-1107

ADproxy2 S-1-5-21-1552230033-2990721084-1776586453-1108

ADproxy3 S-1-5-21-1552230033-2990721084-1776586453-1109

Le script Power Shell ci-dessous va lire le fichier column.txt et crée les comptes proxy ADProxy1, ADProxy2 et ADProxy3.

Dans chaque ligne, le paramètre var[0] contient le compte utilisateur de la première colonne, var[1] contient le SID se trouvant dans la deuxième colonne.

 

Script CreateProxyUserAll.ps1

$InputUsers = Get-Content .\column.txt

$GroupsOU = [ADSI] ‘LDAP://localhost:50002/OU=OU3,O=ms,C=com’

Foreach ($myvar in $InputUsers)

{

$var=$myvar.split()

$var[0]

$var[1]

$User = $GroupsOU.create(‘UserProxy’,’CN=’ + $var[0])

$User.Put(‘DisplayName’, $var[0])

$User.Put(‘ObjectSID’, $var[1])

$User.SetInfo()

}

 

Exécution du script PS.

.\createProxyUserAll.ps1

ADproxy1

S-1-5-21-1552230033-2990721084-1776586453-1107

ADproxy2

S-1-5-21-1552230033-2990721084-1776586453-1108

ADproxy3

S-1-5-21-1552230033-2990721084-1776586453-1109

 

Ci-dessous, le résultat de l’exécution du script PS, 3 comptes de type userProxy sont créés.

clip_image010

Avec LDP, on peut vérifier le SID du compte ADProxy1 par exemple.

clip_image012

Comments (1)

  1. aw says:

    hai, I just want to tell you that I am just very new to blogs and seriously loved this website. More than likely I’m planning to bookmark your blog post .
    You amazingly come with really good posts. Thanks a lot for sharing your blog Microsoft.
    Wisata Aceh http://www.wisatasia.id/search/label/Wisata%20Aceh

    Wisata Air Terjun Jogja
    http://www.wisatasia.id/search/label/Wisata%20Air%20Terjun%20Jogja
    Wisata Bahari http://www.wisatasia.id/search/label/Wisata%20Bahari

    Wisata Bali http://www.wisatasia.id/search/label/Wisata%20Bali

    Wisata Bali dan Nusatenggara
    http://www.wisatasia.id/search/label/Wisata%20Bali%20dan%20Nusa%20Tenggara
    Wisata balikpapan
    http://www.wisatasia.id/search/label/Wisata%20Balikpapan
    Wisata bandung http://www.wisatasia.id/search/label/Wisata%20Bandung

    Wisata bangka belitung
    http://www.wisatasia.id/search/label/Wisata%20Bangka%20Belitung
    Wisata banten http://www.wisatasia.id/search/label/Wisata%20Banten

    Wisata batam http://www.wisatasia.id/search/label/Wisata%20Batam

    Wisata bengkulu
    http://www.wisatasia.id/search/label/Wisata%20Bengkulu
    Wisata bogor http://www.wisatasia.id/search/label/Wisata%20Bogor

    Wisata danau toba
    http://www.wisatasia.id/search/label/Wisata%20Danau%20Toba
    Wisata diving dan snorkeling
    http://www.wisatasia.id/search/label/Wisata%20Diving%20dan%20Snorkeling
    Wisata gunung http://www.wisatasia.id/search/label/Wisata%20Gunung

    Wisata gunung kidul
    http://www.wisatasia.id/search/label/Wisata%20Gunung%20Kidul
    Wisata jakarta http://www.wisatasia.id/search/label/Wisata%20Jakarta

    Wisata jawa http://www.wisatasia.id/search/label/Wisata%20Jawa

    Wisata jawa barat
    http://www.wisatasia.id/search/label/Wisata%20Jawa%20Barat
    Wisata jawa tengah
    http://www.wisatasia.id/search/label/Wisata%20Jawa%20Tengah
    Wisata jawa timur
    http://www.wisatasia.id/search/label/Wisata%20Jawa%20Timur
    Wisata jepara http://www.wisatasia.id/search/label/Wisata%20Jepara

    Wisata jogja dan yogyakarta
    http://www.wisatasia.id/search/label/Wisata%20Jogja-Yogyakarta
    Wisata kalimantan
    http://www.wisatasia.id/search/label/Wisata%20Kalimantan
    Wisata kalimantan timur
    http://www.wisatasia.id/search/label/Wisata%20Kalimantan%20Timur
    Wisata indonesia
    http://www.wisatasia.id/search/label/Wisata-Indonesia
    Wisatasia http://www.wisatasia.id
    Tempat Wisata http://wisatasia.id