Untitled
unknown
plain_text
a month ago
2.8 kB
5
Indexable
<# Name: Daytona Thornton Student ID: [Your Student ID] Script: Restore-AD.ps1 Description: Deletes existing 'Finance' OU if present, recreates it, and imports users from financePersonnel.csv #> try { # Ensure the script file is unblocked (helpful if copied/downloaded) Unblock-File -Path $MyInvocation.MyCommand.Path -ErrorAction SilentlyContinue # Define OU path $ouPath = "OU=Finance,DC=consultingfirm,DC=com" Write-Host "`nChecking if 'Finance' OU exists..." $ouExists = Get-ADOrganizationalUnit -LDAPFilter "(distinguishedName=$ouPath)" -ErrorAction SilentlyContinue if ($ouExists) { Write-Host "'Finance' OU exists. Deleting..." Remove-ADOrganizationalUnit -Identity $ouExists.DistinguishedName -Recursive -Confirm:$false Write-Host "'Finance' OU deleted." } else { Write-Host "'Finance' OU does not exist. Proceeding to create." } } catch { Write-Host "Error during OU check or deletion: $_" } try { Write-Host "`nCreating 'Finance' OU..." New-ADOrganizationalUnit -Name "Finance" -Path "DC=consultingfirm,DC=com" Write-Host "'Finance' OU created successfully." } catch { Write-Host "Error creating OU: $_" } try { # Define CSV path $csvPath = "$PSScriptRoot\financePersonnel.csv" Write-Host "`nImporting users from CSV..." Write-Host "Looking for file: $csvPath" if (-not (Test-Path $csvPath)) { throw "CSV not found at path: $csvPath" } $users = Import-Csv $csvPath foreach ($user in $users) { $first = $user.FirstName.Trim() $last = $user.LastName.Trim() $displayName = "$first $last" $samAccountName = ($first.Substring(0,1) + $last).ToLower() New-ADUser -Name $displayName ` -SamAccountName $samAccountName ` -GivenName $first ` -Surname $last ` -DisplayName $displayName ` -PostalCode $user.PostalCode ` -OfficePhone $user.OfficePhone ` -MobilePhone $user.MobilePhone ` -Path $ouPath ` -AccountPassword (ConvertTo-SecureString "P@ssw0rd123" -AsPlainText -Force) ` -Enabled $true Write-Host "Created user: $displayName" } } catch { Write-Host "Error importing users: $_" } try { Write-Host "`nExporting user details to AdResults.txt..." Get-ADUser -Filter * -SearchBase "OU=Finance,DC=consultingfirm,DC=com" -Properties DisplayName,PostalCode,OfficePhone,MobilePhone | Select-Object DisplayName, PostalCode, OfficePhone, MobilePhone | Out-File "$PSScriptRoot\AdResults.txt" Write-Host "AdResults.txt created successfully." } catch { Write-Host "Error exporting user details: $_" }
Editor is loading...
Leave a Comment