("@ or '@) on a line by itself, which terminates the string. All characters between the open and close delimiter are considered the string literal. Using a here-string with double quotes allows variables to be interpreted, using single quotes doesn't. Variable interpolation occurs with simple variables (e.g. $x but NOT $x.y or $x[0]). You can execute a set of statements by putting them in $() (e.g. $($x.y) or $(Get-Process | Out-String)). In the following PowerShell code, text is passed to a function using a here-string. The function ConvertTo-UpperCase is defined as follows: PS > function ConvertTo-UpperCase($string) { $string.ToUpper() } PS > ConvertTo-UpperCase @' >> one two three >> eins zwei drei >> '@ ONE TWO THREE EINS ZWEI DREI Here is an example that demonstrates variable interpolation and statement execution using a here-string with double quotes: PS > $doc, $marty = 'Dr. Emmett Brown', 'Marty McFly' PS > $time = [DateTime]'Friday, October 25, 1985 8:00:00 AM' PS > $diff = New-TimeSpan -Minutes 25 PS > @" >> $doc : Are those my clocks I hear? >> $marty : Yeah! Uh, it's $($time.Hour) o'clock! >> $doc : Perfect! My experiment worked! They're all exactly $($diff.Minutes) minutes slow. >> $marty : Wait a minute. Wait a minute. Doc... Are you telling me that it's $(($time + $diff).ToShortTimeString())? >> $doc : Precisely. >> $marty : Damn! I'm late for school! >> "@ Dr. Emmett Brown : Are those my clocks I hear? Marty McFly : Yeah! Uh, it's 8 o'clock! Dr. Emmett Brown : Perfect! My experiment worked! They're all exactly 25 minutes slow. Marty McFly : Wait a minute. Wait a minute. Doc... Are you telling me that it's 08:25? Dr. Emmett Brown : Precisely. Marty McFly : Damn! I'm late for school! Using a here-string with single quotes instead, the output would look like this: PS > @' >> $doc : Are those my clocks I hear? >> $marty : Yeah! Uh, it's $($time.Hour) o'clock! >> $doc : Perfect! My experiment worked! They're all exactly $($diff.Minutes) minutes slow. >> $marty : Wait a minute. Wait a minute. Doc... Are you telling me that it's $(($time + $diff).ToShortTimeString())? >> $doc : Precisely. >> $marty : Damn! I'm late for school! >> '@ $doc : Are those my clocks I hear? $marty : Yeah! Uh, it's $($time.Hour) o'clock! $doc : Perfect! My experiment worked! They're all exactly $($diff.Minutes) minutes slow. $marty : Wait