Aller au contenu

Script Powershell en fonction d'un fichier Excel


Messages recommandés

Bonjour, 

Je dois réaliser un script sur Powershell qui en fonction d'un fichier Excel doit :

-Créer des utilisateurs sur mon AD                                                                                                                                         

-Assigner chaque utilisateur à un groupe de sécurité                                                                                                                                            

-Assigner chaque utilisateur à une OU 

Voici mon fichier Excel

image.png.aad6ce55d1cad039005e702333dc451f.png

 

Voici ma ligne de commande. Pour l'instant, il crée juste les utilisateurs.

function OU
{
param($myou)
$result = [adsi]::Exists("LDAP://OU=$myou,OU=Supinfo,DC=domaine.brunin")

    if($result -ne 'True') {
        New-ADOrganizationalUnit -Name $myou -Path "ou=Supinfo,dc=domaine.brunin"
        Write-Host "Création de l'OU $myou"
    }
    
    
}

$XLSDoc = "C:\Users\Administrateur\Documents\Scipt création d'utilisateur\Ouvrier.xlsx"
$SheetName = "Firstname"
$Excel = New-Object -ComObject "Excel.Application"

$Workbook = $Excel.workbooks.open($XLSDoc)
$Sheet = $Workbook.Worksheets.Item(1)
$Excel.Visible = $true

$RowCount = $Sheet.UsedRange.Rows.Count
Write-Host "Il y a $RowCount utilisateurs"

for ($i=2; $i -le $RowCount; $i++){
$lastname = $Sheet.Cells.Item($i,2).Text
$Firstname = $Sheet.Cells.Item($i,3).Text
$username = $Sheet.Cells.Item($i,4).Text
$groupe = $Sheet.Cells.Item($i,5).Text

$OU = "OU=$Direction,OU=$Educateur,OU=$Ouvrier,DC=supexchange,DC=fr"
New-ADUser -Name "$firstname $lastname" –GivenName $firstname –Surname $lastname –DisplayName "$Username"

Write-host $firstname $lastname $Username $groupe
}
$Excel.quit()

 

Merci à vous !

 

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

Deux choses:

Quel est ta demande exactement ? La fonction que tu poste fonctionne a priori ?

Au vu du domaine que tu utilise, tu es à l'école SupInfo et je présume que c'est un projet de cours (pour avoir fait un truc similaire quand j'était en cours). Ne crois pas que l'on va écrire les reste à ta place ;) Le but est que tu comprennes et que tu sois capable de le refaire parce que c'est exactement le genre de truc que l'on peut mettre en application en entreprise.

 

Après pour te mettre sur la piste:
Lorsque tu crée fais ton New-ADUser c'est à ce moment la que tu le place dans la bonne OU. Pour le groupe c'est une autre ligne regarde du coté de la fonction Add-ADGroupMember

 

Lien vers le commentaire
Partager sur d’autres sites

Voilà, j'ai trouvé comment ajouter des utilisateurs mais j'aimerai les placer dans une OU.. J'ai trouvé cette commande mais rien ne bouge..
 

$XLSDoc = "C:\Users\Administrateur\Documents\Scipt création d'utilisateur\Ouvrier.xlsx"
$SheetName = "Firstname"
$Excel = New-Object -ComObject "Excel.Application"

$Workbook = $Excel.workbooks.open($XLSDoc)
$Sheet = $Workbook.Worksheets.Item(1)
$Excel.Visible = $true

$RowCount = $Sheet.UsedRange.Rows.Count
Write-Host "Il y a $RowCount utilisateurs"

for ($i=2; $i -le $RowCount; $i++){
$name = $Sheet.Cells.Item($i,2).Text + "." + $Sheet.Cells.Item($i,1).Text
$firstname = $Sheet.Cells.Item($i,2).Text
$lastname = $Sheet.Cells.Item($i,1).Text
$login = $Sheet.Cells.Item($i,2).Text + "." + $Sheet.Cells.Item($i,1).Text
$Uoffice = $Sheet.Cells.Item($i,3).Text
$Upassword = $Sheet.Cells.Item($i,4).Text
$dept = $Sheet.Cells.Item($i,5).Text

Switch ($i=3; $i -le $RowCount; $i++){
"Direction" {$Sheet.Cells.Item($i,3).Text = "OU=Direction,OU=Labo6,DC=oomaine.brunin"}
"Staff" {$Sheet.Cells.Item($i,3).Text = "OU=Staff,OU=Labo6,DC=oomaine.brunin"}
"Ouvrier" {$Sheet.Cells.Item($i,3).Text = "OU=Ouvrier,OU=Labo6,DC=oomaine.brunin"}

New-ADUser -Name "$name" –GivenName $firstname –Surname $lastname –DisplayName "$name" -City $Uoffice –SamAccountName "$login".ToLower() -AccountPassword (convertto-securestring 'Salut98' -asplaintext -force ) 
}

$Excel.quit()

Merci à vous.

Lien vers le commentaire
Partager sur d’autres sites

il y a une heure, Simoucht a dit :

Voilà, j'ai trouvé comment ajouter des utilisateurs mais j'aimerai les placer dans une OU.. J'ai trouvé cette commande mais rien ne bouge..

 

Je suppose que tu parles des lignes en rouges...
Encore une fois tu ne décris pas ton problème exactement. Même si je peux te dire que en effet rien ne bouge puisque la valeur $dept n'est pas rappeler.

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...