-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathNew-Users-Import.ps1
96 lines (76 loc) · 2.95 KB
/
New-Users-Import.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
Import-Module AzureAD
$account = Get-Credential
Connect-AzureAD -Credential $account
$excel = New-Object -Com Excel.Application
$sheet = $excel.Workbooks.Open("D:\OneDrive - Colegio Bautista Cristiano\CBC\Microsoft Teams\Powershell\Excel\users.xlsx").Sheets.Item(1)
$startRow = 2
$lastRow = 63
$PasswordProfile = New-Object -TypeName Microsoft.Open.AzureAD.Model.PasswordProfile
$counter = 0
for ($i = $startRow; $i -le $lastRow; $i++) {
# Primera columna: DisplayName
if ($sheet.Cells.Item($i, 1).Text -ne '') {
$DisplayName = $sheet.Cells.Item($i, 1).Text
}
else {
Write-Output "Falta el campo DisplayName en la linea $($i). Deteniendo la ejecución."
break
}
# Segunda columna: UserPrincipalName
if ($sheet.Cells.Item($i, 2).Text -ne '') {
$UserPrincipalName = $sheet.Cells.Item($i, 2).Text
}
else {
Write-Output "Falta el campo UserPrincipalName en la linea $($i). Deteniendo la ejecución."
break
}
# Tercera columna: FirstName
if ($sheet.Cells.Item($i, 3).Text -ne '') {
$FirstName = Write-Output $sheet.Cells.Item($i, 3).Text
}
else {
Write-Output "Falta el campo FirstName en la linea $($i). Deteniendo la ejecución."
break
}
# Cuarta columna: LastName
if ($sheet.Cells.Item($i, 4).Text -ne '') {
$LastName = Write-Output $sheet.Cells.Item($i, 4).Text
}
else {
Write-Output "Falta el campo LastName en la linea $($i). Deteniendo la ejecución."
break
}
# Quinta columna: LicenseAssignment
if ($sheet.Cells.Item($i, 5).Text -ne '') {
$LicenseAssignment = Write-Output $sheet.Cells.Item($i, 5).Text
}
else {
Write-Output "Falta el campo LicenseAssignment en la linea $($i). Deteniendo la ejecución."
break
}
# Sexta columna: Password
if ($sheet.Cells.Item($i, 6).Text -ne '') {
$Password = Write-Output $sheet.Cells.Item($i, 6).Text
$PasswordProfile.Password = $Password
}
else {
Write-Output "Falta el campo Password en la linea $($i). Deteniendo la ejecución."
break
}
# Sexta columna: MailNickname
if ($sheet.Cells.Item($i, 7).Text -ne '') {
$MailNickname = Write-Output $sheet.Cells.Item($i, 7).Text
}
else {
Write-Output "Falta el campo MailNickname en la linea $($i). Deteniendo la ejecución."
break
}
Write-Output "Creando nuevo usuario con el nombre $($DisplayName) con licencia $($LicenseAssignment)"
New-AzureADUser -DisplayName $DisplayName -GivenName $FirstName -SurName $LastName -UserPrincipalName $UserPrincipalName -PasswordProfile $PasswordProfile -AccountEnabled $true -MailNickName $MailNickname
# Reiniciar variables
$DisplayName = $FirstName = $LastName = $UserPrincipalName = $Password = $MailNickname = ''
$counter = $counter + 1
}
Write-Output "$($counter) usuarios creados exitosamente"
$excel.Workbooks.Close()
Disconnect-AzureAD