title: PowerShell String Formatting: Why is the colon character causing my variable's value to be blank?
body: <p>I was looking over what's coming with the next WinRM and PowerShell 3 and I was looking through the list of breaking changes and saw something that I'd never seen before.</p>
  
  <p>The example was:</p>
  
  <pre><code>$server = "msp42"
  $status = "online"
  "$server: $status"
  </code></pre>
  
  <p>The resulting output was:</p>
  
  <blockquote>
    <p>online</p>
  </blockquote>
  
  <p>OK, I'd never encountered that before and have no clue why the colon caused an issue.
  A solution suggested in the document was to put a space (which is silly because then you change the output):</p>
  
  <pre><code>"$server : $status"
  </code></pre>
  
  <p>Another suggestion was to use this format (new to me!):</p>
  
  <pre><code>"${server}: $status"
  </code></pre>
  
  <p>The final suggestion was to make an expression, which I am familiar with and use all the time:</p>
  
  <pre><code>"$($server): $status"
  </code></pre>
  
  <p>So, my questions to you PowerShell gurus out there are:</p>
  
  <ol>
  <li><p>What the heck is up with that colon?  Does it <strong>do</strong> something?</p></li>
  <li><p>What the heck is the <code>${variable}</code> syntax?  Is it strictly to deal with the colon or does it have some neat features?</p></li>
  </ol>