IIS Express je nepostradatelný nástroj pro vývoj a ladění webových aplikací – není třeba zprovozňovat lokální IIS server a nasazovat do něj desítky aplikací, které budou v mém případě stejně spuštěny jenom několikrát, prostě bašta. Než se to trochu zvrhne…
Včera jsem zjistil, že se mi u jednoho webu objevuje port, který ale nikde nastavený nemá. Chyba byla v tom, že IIS Express si nesl v konfiguraci sajtu z dřívějška, kterou jsem shodou okolností spouštěl ze stejného umístění a která měla trošku jinak nastavené adresy. Přišel čas na čistku.
IIS Express má u sebe nainstalovanou utilitku AppCmd.exe, která umí různé psí kusy – mimo jiné třeba vypsat seznam webů a také v nich mazat. Vzhůru do příkazové řádky:
1 |
cd C:\Program Files (x86)\IIS Express\ |
1 |
appcmd list sites /text:name |
Tento příkaz vypíše jména všech webů, které jsou v IIS Express uložené.
1 |
appcmd delete site 'abc' |
A tento smaže záznam webu „abc“.
Pokud bychom chtěli být sofistikovanější a použít modré okno PowerShellové, můžeme zkusit třeba tento skript:
1 |
$appCmd = "C:\Program Files (x86)\IIS Express\appcmd.exe" |
1 |
$result = Invoke-Command -Command {& $appCmd 'list' 'sites' '/text:SITE.NAME' } |
1 2 3 4 |
for ($i=0; $i -lt $result.length; $i++) { Invoke-Command -Command {& $appCmd 'delete' 'site' $result[$i] } } |
Ten pochází odtud a pro změnu smaže všechny uložené weby.