Update: There’s a Part II, read it next.
Here’s a quick one. For an upcoming project, I decided I may need a way to use Read-Host in combination with a previously set, default value. Here’s the working code I threw together in case it’s needed.
$User = 'tommymaynard' If (($Result = Read-Host -Prompt "Press Enter for the last user [$User], or enter a new user") -eq '' -or $Result -eq $User) { "You're using the previously used ""$User"" user." } Else { "You're using the previously unused ""$Result"" user." }
I set my user to “tommymaynard,” and then the If statement executes. The execution pauses while the Read-Host cmdlet waits for my input. If I press Enter, the If portion runs indicating that I’m using the previously set value of “tommymaynard.” It’ll do that if I enter tommymaynard again, too. If I enter a new value, it indicates I’m using the new value.
While we’re here, let’s run the code with three possible values: nothing entered, tommymaynard entered, and a different user entered.
Press Enter for the last user [tommymaynard], or enter a new user:
You’re using the previously used “tommymaynard” user.
Press Enter for the last user [tommymaynard], or enter a new user: tommymaynard
You’re using the previously used “tommymaynard” user.
Press Enter for the last user [tommymaynard], or enter a new user: lsmith
You’re using the previously unused “lsmith” user.
And there it is, a super short post about using a previously set value for Read-Host.