PowerShell Variables in Strings

Adam Bertram

Adam Bertram

Read more posts by this author.

In PowerShell, when you need to show a variable’s value in a string you typically just add the variable along with some other text inside of a string with double quotes.

PowerShell variable in string
PowerShell variable in string

This is perfectly fine if $serverName has a value. But what if this is part of a larger script and you have various conditions that might set $serverName. This means that $serverName might not contain any value at all. At that point, your message just looks messed up.

No variable expansion in verbose message
No variable expansion in verbose message

The solution? Make it a habit of enclosing your variables inside of strings with simple brackets.

Easy inspection of no variable value
Easy inspection of no variable value

You can now clearly see that a variable should have been there but was not.

It’s a simple trick but it’s saved me so much troubleshooting time over the years. Now, it’s habit to enclose variables in brackets. In fact, I have a snippet that I use to simply type varb and it will automatically do it for me.

Subscribe to Adam the Automator

Get the latest posts delivered right to your inbox

Looks like you're offline!