When accessing RD Web Access at https://servername.domain.local/RDWeb
after successful authentication, the RemoteApp Programs tab displays no application icons despite proper configuration in RemoteApp Manager. The environment consists of:
- Windows Server 2008 R2 with RDS role installed
- Multiple applications added and enabled for RD Web Access
- Administrative privileges confirmed
Start by checking these critical components:
# PowerShell command to verify published RemoteApps
Get-RDRemoteApp -ConnectionBroker "YourServerName" |
Select-Object DisplayName, Path, CommandLineSetting, Enabled
Key verification points:
- IIS application pool identity for RDWeb has proper permissions
- Check Event Viewer under Applications and Services Logs > Microsoft > Windows > TerminalServices*
- Verify the XML feed URL:
https://servername/RDWeb/Feed/webfeed.aspx
The most frequent root cause involves incorrect NTFS permissions on the icon cache. Try this repair script:
# Reset icon cache permissions
$iconPath = "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\RemoteApp"
icacls $iconPath /reset
icacls $iconPath /grant "NT AUTHORITY\Authenticated Users":(OI)(CI)(RX)
icacls $iconPath /grant "BUILTIN\IIS_IUSRS":(OI)(CI)(RX)
Check these critical registry keys (backup first!):
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList]
"fEnabled"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppSrv]
"ConfigurationPath"="C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\RemoteApp"
When basic checks pass but icons still won't load:
- Verify SSL certificate chain validity
- Check for mixed content warnings in browser console (F12)
- Test with IE compatibility mode if using modern browsers
Before considering server rebuild:
- Restart IIS:
iisreset /noforce
- Restart Remote Desktop Services:
Restart-Service TermService -Force
- Clear browser cache and test with private session
- Verify DNS resolution for server FQDN
When working with Remote Desktop Services (RDS) on Windows Server 2008 R2, you might encounter a particularly frustrating scenario: You've configured everything correctly in RemoteApp Manager, assigned permissions, enabled RD Web Access - but when you navigate to https://servername.domain.local/RDWeb
, the RemoteApp Programs tab shows absolutely nothing. No icons, no applications, just emptiness.
First, let's confirm the fundamental requirements are met:
# PowerShell snippet to check RemoteApp configuration
Get-RDRemoteApp -ConnectionBroker "YourServerName" | Format-Table -Property DisplayName, Enabled
All applications should show Enabled = True
. If they don't, you can enable them with:
Enable-RDRemoteApp -ConnectionBroker "YourServerName" -Alias "YourAppAlias"
Even with administrative privileges, certain security contexts might prevent icon display. Check these aspects:
- Ensure you're accessing RDWeb with domain credentials, not local accounts
- Verify the user/group has permissions in both RemoteApp Manager and IIS
- Check the RD Web Access computer is in the same domain as the RDS server
The RDWeb virtual directory in IIS might be misconfigured. Verify:
# Check application pool identity
Import-Module WebAdministration
Get-ItemProperty 'IIS:\AppPools\RD Web Access' | Select-Object name, processModel
It should run under a domain account with proper permissions. You might need to recycle the app pool after making changes:
Restart-WebAppPool -Name "RD Web Access"
RemoteApp icons are cached on both server and client sides. Try clearing them:
# Server-side cache location
Remove-Item -Path "$env:windir\Temp\RemoteAppIcons\*" -Force
On the client side, clear browser cache or try accessing RDWeb in private browsing mode.
If the issue persists, examine these less common but critical areas:
- Verify DNS resolution for the server name
- Check for mixed HTTP/HTTPS content issues
- Inspect IIS logs for authentication errors
- Ensure proper SSL certificate binding
This comprehensive PowerShell script checks multiple configuration points:
# RemoteApp Configuration Checker
$server = "YourServerName"
# Check RemoteApp programs
Write-Host "RemoteApp Programs:" -ForegroundColor Cyan
Get-RDRemoteApp -ConnectionBroker $server | Select-Object DisplayName, Enabled, Alias
# Check IIS configuration
Write-Host "nIIS Configuration:" -ForegroundColor Cyan
Get-WebConfigurationProperty -Filter "/system.webServer/security/authentication/anonymousAuthentication" -Name enabled -PSPath "IIS:\Sites\Default Web Site\RDWeb"
Get-WebConfigurationProperty -Filter "/system.webServer/security/authentication/windowsAuthentication" -Name enabled -PSPath "IIS:\Sites\Default Web Site\RDWeb"
# Check service status
Write-Host "nService Status:" -ForegroundColor Cyan
Get-Service -Name TSGateway, TSSessionDir, TSWEB -ComputerName $server | Select-Object Name, Status