Q:

Get-Date. ToString('r') returning incorrect time (GMT instead of local timezone)

PowerShell is not showing the time correctly and is ignoring my local time zone - it is currently 00:20 (at +2 GMT), but on getting the time shows the local time  (00:20) but incorrectly prints GMT. 
Checking on the server on which the script is running, and the timezone and local time are set correctly. 
Have I done something wrong or is this a bug? 
$scriptStartDate = Get-Date
Write-Host "time is $($scriptStartDate. ToString('r'))"
# above line prints 'Sun, 14 Apr 2013 00:20:00 GMT'
# this is wrong as wrong timezone, it should be 'Sun, 14 Apr 2013 00:20:00 E.Europe'

A:

It is up to you to make sure the time is in UTC.   You can do that like so:
[DateTime]::UtcNow. ToString('r')

The docs on this format say the following:

Formatting does not modify the value of the DateTime; therefore, you
  must adjust the value to GMT before formatting.