Issues with Powershell Import-CSV - Can't go home until it's fixed!

REQUIRES -RunAsAdministrator

REQUIRES -modules ActiveDirectory

$DebugPreference = "Inquire"

Param( [cmdletBinding()] [Parameter()] [string]$user #Defaults variable to Null , [Parameter()] #External parameter that can be passed to the script. [switch]$group = $false #If no parameters are passed defaults to Null , [Parameter()] [string]$csvPath )

process { if ($group -eq $true) { write-host "In group If" $users = (import-csv $csvPath) write-host "$users" pause foreach ($user in $users) { Write-Host = "the user1 is $user" $sam = $_.SamAccountName foreach ($domain in ((Get-ADForest).domains)) { Write-Host "Currently on domain $domain" Write-Host = "the user2 is " $user write-host "the SAM is $sam" pause $usr = $null try { "Trying to find $user in $domain" $check = get-aduser $user -Server $domain $trip = 0 } catch { $check = "get-aduser : Cannot find an object with identity:" Write-Host "User not found in $domain searching next domain..." $trip = 1 } finally { if ($trip -eq 0) { $usr = (get-aduser -server $domain $user -Properties ) $user = $usr Write-Host "" Write-Host "******************************************************************************************************************************************************" write-host "Modifying attributes of $user..." -NoNewline set-aduser -server $domain $user -clear "extensionAttribute8" write-host " ..." -NoNewline set-aduser -server $domain $user -replace @{extensionAttribute4 = "Authorize"} write-host " ..." -NoNewline set-aduser -server $domain $user -replace @{extensionAttribute6 = "0"} write-host " ..." -NoNewline set-aduser -server $domain $user -replace @{extensionAttribute7 = "gmail"} write-host " ... Done!" Write-Host "****************************************************************************************************************************************************" Write-Host "" pause } else { Write-Host "" } } } } } elseif ($user -ne $null -and $user -ne "") { foreach ($domain in ((Get-ADForest).domains)) { Write-Host "Currently on domain $domain" $usr = $null try { "Trying to find $user in $domain" $check = get-aduser $user -Server $domain $trip = 0 } catch { $check = "get-aduser : Cannot find an object with identity:*" Write-Host "User not found in $domain searching next domain..." $trip = 1 } finally { if ($trip -eq 0) { $usr = (get-aduser -server $domain $user -Properties *) $user = $usr Write-Host "" Write-Host "*****************************************************************************************************************************************************" write-host "Modifying attributes of $user..." -NoNewline set-aduser -server $domain $user -clear "extensionAttribute8" write-host " ..." -NoNewline set-aduser -server $domain $user -replace @{extensionAttribute4 = "Authorize"} write-host " ..." -NoNewline set-aduser -server $domain $user -replace @{extensionAttribute6 = "0"} write-host " ..." -NoNewline set-aduser -server $domain $user -replace @{extensionAttribute7 = "gmail"} write-host " ... Done!" Write-Host "*******************************************************************************************************************************************************" Write-Host "" } else { Write-Host "" } } } } else { Write-Host -ForegroundColor Red -BackgroundColor Black "No user information was passed to the script!" } Write-Host "The script has finished running." }

/r/sysadmin Thread