Windows Server editions since 2012 handle desktop icons differently than client versions. While desktop users can easily enable "This PC" through GUI settings, server administrators often need programmatic solutions. The key challenge is that Server Core installations lack the Desktop Experience feature, and even full installations require manual configuration.
The most reliable method involves modifying the Windows Registry. This approach works across all Server editions without requiring Desktop Experience:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel] "{20D04FE0-3AEA-1069-A2D8-08002B30309D}"=dword:00000000
Save this as ShowThisPC.reg
and execute it. The GUID {20D04FE0...}
represents "This PC" (formerly "My Computer"). Setting the DWORD value to 0 makes the icon visible.
For automated deployments, PowerShell provides better control. Here's a script that implements the same change:
$regPath = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel" $pcGUID = "{20D04FE0-3AEA-1069-A2D8-08002B30309D}" if (-not (Test-Path $regPath)) { New-Item -Path $regPath -Force | Out-Null } Set-ItemProperty -Path $regPath -Name $pcGUID -Value 0 -Type DWORD Stop-Process -Name explorer -Force
The script creates the registry key if missing, sets the value, and restarts Explorer to apply changes immediately.
In domain environments, you can deploy this setting via Group Policy:
- Open Group Policy Management
- Navigate to: User Configuration > Preferences > Windows Settings > Registry
- Create a new Registry item with:
- Action: Update
- Hive: HKEY_LOCAL_MACHINE
- Key Path: SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel
- Value name: {20D04FE0-3AEA-1069-A2D8-08002B30309D}
- Value type: REG_DWORD
- Value data: 0
If the icon doesn't appear after applying these changes:
- Verify Explorer restart actually occurred (check Task Manager)
- Confirm no conflicting Group Policies are overriding the setting
- For Server Core, remember you'll need RDP access to see the desktop
- The change may take up to two logon cycles to appear in some environments
Windows Server administrators often find the absence of core desktop icons frustrating when deploying fresh installations. While "Desktop Experience" provides GUI solutions, many server environments require automation through scripting. Here's how to handle this programmatically.
The most reliable method involves modifying the Windows Registry. Create a .reg file with the following content:
Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel] "{20D04FE0-3AEA-1069-A2D8-08002B30309D}"=dword:00000000
For deployment across multiple servers, use this PowerShell script:
$keyPath = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel" $name = "{20D04FE0-3AEA-1069-A2D8-08002B30309D}" $value = 0 if (-not (Test-Path $keyPath)) { New-Item -Path $keyPath -Force | Out-Null } Set-ItemProperty -Path $keyPath -Name $name -Value $value -Type DWord # Refresh desktop $shell = New-Object -ComObject "Shell.Application" $shell.ToggleDesktop()
For domain environments, configure this GPO setting:
User Configuration -> Policies -> Administrative Templates -> Desktop -> "Hide specified Control Panel items" Set to "Disabled" or configure exceptions
After implementation, verify with:
Get-ItemProperty -Path $keyPath -Name $name | Select-Object -ExpandProperty $name # Should return 0 if successful