Preparing a new server with Windows Server 2012 for development and testing
As a SharePoint developer, I am quite often required to set up new servers for development and testing. Every time I set up a new server, I do a basic configuration before I start installing the specific software I need (SQL Server, SharePoint, Visual Studio etc.). The purpose of doing these preparations is to enable a more desktop like user experience, and remove unnecessary interruptions in the day-to-day usage.
This guide is based on a Windows Server 2012 Standard GUI installation.
Basic settings in Server Manager
After the initial installation and first time password setup is complete, continue in the Server Manager by setting these basic settings to get started. Select Local Server in the left side menu.
- Change computer name (postpone reboot to later)
- Enable automatic windows update (and start first time check)
- Disable IE Enhanced Security (for all users)
- Change timezone
Add "Desktop Experience" role
This feature adds some settings and software to make the server feel more like a standard Windows 8 end-user computer.
In the Server Manager select Manage and Add Roles and Features.
In the wizard, select Next until you reach the Feature step. Locate User interfaces and infrastructure and expand it. Check the option for Desktop Experience.
Enable remote desktop connections
All my installation are mostly on virtual hosts, so getting Remote Desktop up and running is a much better experience than the build in console in for example Hyper-V.
Under Settings (search for the words), select Allow remote access to your computer.
Then select Allow remote connections to the computer.
Disable password expiry
Disabling these policies is not a good idea in general, but in a development environment, this is necessary to avoid hassle with Windows nagging about setting new passwords from time to time. I always use a general password for these environments, and want to avoid it being changed somewhere.
Open Group Policy Management (just search for it). Right click on Default Domain Policy and select Edit.
Open the path Computer Configuration -> Policies -> Windows Settings -> Security Settings -> Account Policies -> Password Policy.
Set Enforce password history and Maximum password age to 0. Disable the Password must meet complexity requirements.
Disable shutdown event tracker
The shutdown event tracker is fine for a server, but is unnecessary on a development machine.
Open Group Policy Management (just search for it). Right click on Default Domain Policy and select Edit.
Open the path Computer Configuration -> Policies -> Administrative Templates -> System. Select Display Shutdown Event Tracker.
Select Disabled to avoid this dialogue to appear the next time you shut down the server.
Enable execution policy for PowerShell
By default PowerShell script are disabled from being executed, and a policy setting must be set.
Open a PowerShell Console (as Administrator) and type Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
Also just as a remined make sure that script you try to execute aren't blocked. Check this by right clicking the file, select Settings and check if the button Unblock appear in the bottom right of the dialoge.
Disable Loopback check with PowerShell
This is mainly for servers that will be used for hosting web applications with IIS. For more details see: http://support.microsoft.com/kb/896861
Open a PowerShell Console (as Administrator) and type New-ItemProperty HKLM:\System\CurrentControlSet\Control\Lsa -Name "DisableLoopbackCheck" -Value "1" -PropertyType dword
A reboot will be necessary for this setting to take effect.
Summary
In this article a step-by-step guidance for preparing a Windows Server 2012 for development and testing use were presented. This enables a better user experience when working in a server environment on the day to day basis.
Just as a disclaimer, these steps reduce the general security level normally required on a server, and should only be used for development and testing purposes.
Any tips that could be included in this preparation guide, are welcome!