PowerShell (motor) .NET 4.0 altında sorunsuz çalışır. PowerShell (konsol ana bilgisayarı ve ISE ), eski .NET sürümlerine karşı derlendikleri için bunu yapmaz. Sistem genelinde yüklenen .NET çerçevesini değiştirecek ve bu da PowerShell'in .NET 4.0 sınıflarını kullanmasına izin verecek bir kayıt defteri ayarı vardır :
reg add hklm\software\microsoft\.netframework /v OnlyUseLatestCLR /t REG_DWORD /d 1
reg add hklm\software\wow6432node\microsoft\.netframework /v OnlyUseLatestCLR /t REG_DWORD /d 1
Yalnızca ISE'yi .NET 4.0 kullanacak biçimde güncelleştirmek için yapılandırma ($ psHome \ powershell_ise.exe.config) dosyasını aşağıdaki gibi bir parçaya sahip olacak şekilde değiştirebilirsiniz:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0.30319" />
</startup>
</configuration>
PowerShell API'sini (System.Management.Automation.PowerShell) kullanarak PowerShell'i çağıran .NET 4.0 uygulamaları oluşturabilirsiniz, ancak bu adımlar kutudaki PowerShell ana bilgisayarlarının .NET 4.0 altında çalışmasına yardımcı olur.
Artık ihtiyacınız olmadığında kayıt defteri anahtarlarını kaldırın. Bunlar makine genelindeki anahtarlardır ve TÜM uygulamaları .net 2 ve .net 3.5 kullanan uygulamalar için bile zorla .NET 4.0'a geçirir.