I’ve written about this topic in the past (Post 1 and Post 2).To quickly recap, .NET Framework 3.51 is not enabled by default in Windows Server 2012. In Post 1, I showed how to enable the payload using DISM. This time around, I’m going to show you how to enable .NET 3.51 using PowerShell. Now that Windows Server 2012’s Release Candidate is out (You mean you haven’t downloaded and installed it yet? Get to it!), you can see what the experience will pretty much look like by RTM.

The process is nearly identical as DISM. If your server is connected to the internet, it appears that the PS cmdlet will first try to grab the payload from there. This particular VM I was doing my tests in was not connected to the Internet, so I saw what is shown in Figure 1.

Failing to install the payload

Figure 1. Failing to install the payload with no connectivity

If you know you’re not connected and need to use the installation media (or just have it handy), Figure 2 shows that process.

Figure 2. Installing the payload successfully from media