Untitled
unknown
plain_text
16 days ago
2.9 kB
4
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. Exports output to AdResults.txt. #> try { # Define OU Path $ouPath = "OU=Finance,DC=consultingfirm,DC=com" $ouExists = Get-ADOrganizationalUnit -LDAPFilter "(distinguishedName=$ouPath)" -ErrorAction SilentlyContinue Write-Host "`nChecking if 'Finance' OU exists..." if ($ouExists) { try { Remove-ADOrganizationalUnit -Identity $ouExists.DistinguishedName -Recursive -Confirm:$false Write-Host "'Finance' OU deleted." } catch { Write-Host "Warning: could not delete Finance OU. Error: $_" } } else { Write-Host "'Finance' OU does not exist. Proceeding to create." } } catch { Write-Host "Error during OU check or deletion: $_" } # Recreate Finance OU 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: $_" } # Import users from CSV try { $csvPath = "$PSScriptRoot\financePersonnel.csv" if (Test-Path $csvPath) { Unblock-File -Path $csvPath Write-Host "`nCSV file found and unblocked: $csvPath" Write-Host "`nImporting users from CSV..." $users = Import-Csv $csvPath foreach ($user in $users) { $displayName = "$($user.first_name) $($user.last_name)" New-ADUser -Name $displayName ` -SamAccountName $user.samAccount ` -GivenName $user.first_name ` -Surname $user.last_name ` -DisplayName $displayName ` -City $user.city ` -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" } } else { Write-Host "Error: File not found at $csvPath" } } catch { Write-Host "Error importing users: $_" } # Export AD User details to AdResults.txt 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 | Format-Table -AutoSize | Out-File "$PSScriptRoot\AdResults.txt" Write-Host "AdResults.txt created successfully." } catch { Write-Host "Error exporting user details: $_" }
Editor is loading...
Leave a Comment