missymadi
asked on
How do I place a "catch error" in my Powershell script?
Experts,
I have a Powershell script that I need to place an "error catch" so that when the user enters the incorrect user name an error is returned "User not found" and asks the user to enter another username.
Thanks, MIssyMadi
I have a Powershell script that I need to place an "error catch" so that when the user enters the incorrect user name an error is returned "User not found" and asks the user to enter another username.
Thanks, MIssyMadi
# Ask for a username
$Username = Read-Host "Enter UserName"
# Search for the user(s)
$Users = Get-QADUser -SamAccountName $Username | Select-Object Name, DN,
PasswordLastSet, PasswordAge,PasswordExpires, PasswordNeverExpires,
UserMustChangePassword, PasswordIsExpired, PasswordStatus
# Display the user(s)
$Users
If ($Users) {
# Ask if they wish to proceed
$Response = Read-Host "Do you want to reset the user's password?`n[1] Yes, [2] No"
If ($Response -eq "1") {
# Ask for password
$Password1 = Read-Host "Please enter a password to use"
$Password2 = Read-Host "Please re-enter the password to confirm"
If ($Password1 -ne $Password2) {
Write-Host "Passwords do not match. Aborting script." -ForegroundColor Red
} Else {
# Perform work
# For each user we found earlier, set the password. Log a few things and the name of the
# user running this script
$Users | ForEach-Object {
Set-QADUser $_.DN -UserPassword $Password1
Write-Host "Password reset for $($_.Name)"
} | Select-Object SamAccountName, PasswordLastSet, @{n='SetBy';e={ $Env:Username }} |
Out-File c:\PwdChanged.txt -Append
}
}
}
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.