The PowerShell script functions fine if I run it line by line but when attempting to run the script as one the search for users does not come up in time for the next question. Please let me know on how I can force the third line of the script to come up as requested instead way later.
$name = Read-Host "What is the user's first name or letter?"
$list = Get-ADUser -Filter * | ? {$_.SamAccountName -match $name} | select SamAccountName | sort SamAccountName
$list
$DisableUser = Read-Host "Copy and paste the user here"
$t = $DisableUser
$year = Read-Host "Please input the year the user should be disabled, in this format (YYYY)"
$month = Read-Host "Please input the month the user should be disabled, in this format (MM)"
$day = Read-Host "Please input the day the user should be disabled, in this format (DD)"
$date = "$month/$day/$year"
$hour = Read-Host "Please input the hour of the day the user should be disabled, in this format (HH)"
$minute = Read-Host "Please input the minute the user should be disabled, in this format (MM)"
$seconds = Read-Host "Please input the second the user should be disabled, in this format (SS)"
$ampm = Read-Host "AM or PM?"
$Time = "${hour}:${minute}:${seconds} ${ampm}"
$dandt = "$date $Time"
$dandt
Write-host "$t will be disabled on this date, $dandt"
$answer = Read-Host "Is this correct? Please type Yes or No"
$l = $answer
If ($l -like "y*")
{Set-ADAccountExpiration $t -DateTime $dandt}
ELSE { "Exiting"; Return}
GivenNamenotSamaccountName. It looks like your search may be wrong.-Filterparam. This will help with performance. Currently you are pulling your whole directory then filtering.