Using reflection in Powershell with different .NET framework versions

You have two options:

Install a newer version of PowerShell (version 3.0 and 4.0 is supported on Windows Server 2008 R2)

Force PowerShell.exe to use .NET v4 instead of .NET 2.0 (as described in this SO answer), by providing a config file with the following contents:

<?xml version="1.0"?> 
<configuration> 
    <startup useLegacyV2RuntimeActivationPolicy="true"> 
        <supportedRuntime version="v4.0.30319"/> 
        <supportedRuntime version="v2.0.50727"/> 
    </startup> 
</configuration>