Untitled
unknown
plain_text
9 months ago
2.3 kB
6
Indexable
<# Daytona Thornton - Student ID: 010588214
Script: Restore-AD.ps1
Description: Checks for and deletes existing 'Finance' OU if present, creates a new one and imports users from financePersonnel.csv
#>
try {
# Check for existing "Finance" OU and delete it
Write-Host "`n Checking if 'Finance' OU Exsists..."
$financeOU = Get-ADOrganizationalUnit -LDAPFilter "(name=Finance)" -SearchBase "DC=consultingfirm,DC=com" -SearchScope Subtree -ErrorAction SilentlyContinue
if ($financeOU) {
Remove-ADOrganizationalUnit -Identity $financeOU.DistinguishedName -Recursive -Confirm:$false
Write-Host "Existing 'Finance' OU found and deleted."
} else {
Write-Host "'Finance' OU does not exist. No action taken."
}
} catch {
Write-Host "Error occurred: $_"
}
try {
#Create the "Finance" OU
Write-Host "`n Creating 'Finance' OU..."
New-ADOrganizationalUnit -Name "Finance" -Path "DC=consultingfirm,DC=com"
Write-Host "'Finance' OU created successfully."
} catch {
Write-Host "Error creating OU: $_"
}
try
{
Write-Host "`n Importing users from CSV.."
$csvPath = ".\financePersonnel.csv"
$users = Import-Csv -Path $csvPath
foreach ($user in $users) {
$displayName = "$($user.FirstName) $($user.LastName)"
New-ADUser -Name $displayName `
-GivenName $user.FirstName `
-SurName $user.LastName `
-DisplayName $displayName `
-PostalCode $user.PostalCode `
-OfficePhone $user.OfficePhone `
-MobilePhone $user.MobilePhone `
-Path "OU=Finance,DC=consultingfirm,DC=com" `
-AccountPassword (ConvertTo-SecureString "P@ssw0rd123" -AsPlainText -Force) `
-Enabled $true
Write-Host "Created user: $displayName"
}
} catch {
Write-Host "Error importing users: $_"
}
try {
Write-Host "`n Exporting user details to AdResults.txt.."
Get-ADUser -Filter * `
-SearchBase "OU=Finance,DC=consultingfirm,DC=com"
-Properties DisplayName,PostalCode,OfficePhone,Mobile |
Select-Object Name, DisplayName, PostalCode, OfficePhone, MobilePhone|
Out-File -FilePath .\AdResults.txt
WritEditor is loading...
Leave a Comment