chore: add setup users
This commit is contained in:
@ -1,31 +1,45 @@
|
|||||||
param(
|
param(
|
||||||
[string]$Domain,
|
[string]$Domain,
|
||||||
[string]$OU
|
[string]$OU
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
$Users = Import-Csv .\Users.csv
|
$Users = Import-Csv .\Users.csv
|
||||||
|
|
||||||
ForEach ($User in $Users) {
|
ForEach ($User in $Users) {
|
||||||
$DisplayName = $User.DisplayName
|
$DisplayName = $User.DisplayName
|
||||||
$FirstName = $User.FirstName
|
$FirstName = $User.FirstName
|
||||||
$Surname = $User.Surname
|
$Surname = $User.Surname
|
||||||
$SurnameInitial = $User.Surname[0]
|
$SurnameInitial = $Surname[0]
|
||||||
|
$SamAccountName = "$FirstName$SurnameInitial"
|
||||||
|
$UserPrincipalName = "$SamAccountName@$Domain"
|
||||||
|
|
||||||
Write-Host $DisplayName "$FirstName$SurnameInitial@$Domain"
|
Write-Host "`nProcessing user: $DisplayName ($UserPrincipalName)" -ForegroundColor Yellow
|
||||||
|
|
||||||
Write-Host "Creating sample users..." -ForegroundColor Cyan
|
# Check if user already exists
|
||||||
|
$ExistingUser = Get-ADUser -Filter { SamAccountName -eq $SamAccountName } -ErrorAction SilentlyContinue
|
||||||
|
|
||||||
|
if ($ExistingUser) {
|
||||||
|
Write-Host "User '$SamAccountName' already exists. Skipping creation." -ForegroundColor DarkGray
|
||||||
|
} else {
|
||||||
|
Write-Host "🛠️ Creating user '$SamAccountName'..." -ForegroundColor Cyan
|
||||||
$UserPassword = ConvertTo-SecureString "P@ssw0rd123!" -AsPlainText -Force
|
$UserPassword = ConvertTo-SecureString "P@ssw0rd123!" -AsPlainText -Force
|
||||||
|
|
||||||
New-ADUser -Name "$DisplayName" -GivenName "$FirstName" -Surname "$Surname" `
|
New-ADUser -Name $DisplayName `
|
||||||
-SamAccountName "$FirstName$SurnameInitial" -UserPrincipalName "$FirstName$SurnameInitial@$Domain" `
|
-GivenName $FirstName `
|
||||||
-AccountPassword $UserPassword -Enabled $true `
|
-Surname $Surname `
|
||||||
-Path "$OU" -ErrorAction SilentlyContinue
|
-SamAccountName $SamAccountName `
|
||||||
|
-UserPrincipalName $UserPrincipalName `
|
||||||
|
-AccountPassword $UserPassword `
|
||||||
|
-Enabled $true `
|
||||||
|
-Path $OU `
|
||||||
|
-ErrorAction Stop
|
||||||
|
|
||||||
Set-ADUser -Identity "$FirstName$SurnameInitial" -EmailAddress "$FirstName$SurnameInitial@$Domain"
|
# Set additional attributes
|
||||||
Set-ADUser -Identity "$FirstName$SurnameInitial" -DisplayName "$DisplayName"
|
Set-ADUser -Identity $SamAccountName -EmailAddress $UserPrincipalName
|
||||||
Set-ADUser -Identity "$FirstName$SurnameInitial" -Add @{proxyAddresses="SMTP:$FirstName$SurnameInitial@$Domain"}
|
Set-ADUser -Identity $SamAccountName -DisplayName $DisplayName
|
||||||
|
Set-ADUser -Identity $SamAccountName -Add @{proxyAddresses = "SMTP:$UserPrincipalName"}
|
||||||
|
|
||||||
|
Write-Host "✅ User '$SamAccountName' created successfully." -ForegroundColor Green
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
Reference in New Issue
Block a user