Untitled

 avatar
unknown
plain_text
a month ago
2.3 kB
4
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
    Writ
Editor is loading...
Leave a Comment