Thank you Ronald as I needed exactly this today. Here is how to remove phantom application folders from websites in IIS using PowerShell.

Today I wanted to remove application folders from the website configuration in IIS whose physical path on the filesystem was removed. E.g when the application folder “/test1” in the website example.com should point to z:\sites\example.com\www\test1 but was removed.

foreach( $server in (Get-ADComputer -Filter {(enabled -eq $True)} -SearchBase "OU=Webservers,$((Get-ADDomain).ComputersContainer)").DNSHostname) {
	Invoke-Command -ComputerName $server -ScriptBlock {
		Import-Module WebAdministration
		Write-Host $Using:server;
		Get-ChildItem IIS:\Sites | foreach {
			$site = $_;
			# Get all applications without existing physical path
			$applications = Get-ChildItem $site.PsPath | Where-Object { $_.NodeType -eq "application" -and (Test-Path $_.PhysicalPath) -eq $False };
			# List all phantom applications
			$applications | FT
			# Remove applications
			$applications | Remove-WebApplication -Site $site.Name
		}
	}
}

Source: https://serverfault.com/a/890561/161572.

Protip: remember to Import-Module WebAdministration on Windows Server 2012 R2 and up instead of Add-PSSnapin WebAdministration. Get more Get-ADComputer examples from here.

Removing phantom application folders from website configuration in IIS Click To Tweet

This post showed you an easy way to remove orphaned IIS web applications for IIS administrators.

0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *