2010-12-17 13 views
15

Załóżmy, że na lokalnym serwerze IIS wdrożono aplikację internetową. Kiedy muszę usunąć/cofnąć wdrożenie, mogę przejść do Menedżera usług IIS, kliknąć prawym przyciskiem myszy aplikację, a następnie wybrać "Usuń aplikację i zawartość" - i voila. Ale muszę zrobić to samo z linii poleceń - jak? Można założyć, że nazwa aplikacji jest znana.IIS: jak cofnąć/usunąć/usunąć aplikację webapp z wiersza poleceń?

Może to zrobić jakoś poprzez MSDeploy?

+0

Poświęć spójrz na: http://stackoverflow.com/questions/1610880/how-to-create-an-application-in-iis-using-command-line – adatapost

Odpowiedz

2

iisweb/usuwać strony [/ s komputer [/ u [domena] użytkownik/p hasło]]

+0

'iisweb' nie jest rozpoznawany jako wewnętrzne lub zewnętrzne polecenie, operable program lub plik wsadowy. Jeśli to pomaga, używam serwera 2008 R2, więc usługi IIS to v7. – Riddler

+0

i rhink you shoud użyj appcmd http://learn.iis.net/page.aspx/114/getting-started-with-appcmdexe –

14

To co zrobił:

"C:\Program Files\IIS\Microsoft Web Deploy\msdeploy" -verb:delete -dest:apphostconfig="Default Web Site/<webapp_name>" 
+0

+1 dla Ciebie za wymyślenie go i udostępnianie –

+0

+1 za bycie wspaniałym. Dzięki! – danyim

+0

Aby zaoszczędzić czas, w systemach Windows 8 z systemem IIS 8 może to być "C: \ Program Files (x86) \ IIS \ Microsoft Web Deploy V3 \ msdeploy" -verb: delete -dest: apphostconfig = "Domyślna witryna sieci Web/ "' – LucasBr

11

Jeśli chcesz po prostu usunąć aplikację z Witryna sieci Web IIS bez fizycznego usuwania plików (jak msdeploy nie) lub, jeśli nie jest zainstalowany WebDeploy-extension, można użyć następującego polecenia:

C:\Windows\System32\inetsrv\appcmd.exe delete app "Default Web Site/MyAppName" 
+0

Warto zauważyć, że appcmd dotyczy tylko usług IIS 7+, w przeciwnym razie plik nie istnieje. – danyim

+0

@Stephan Bauer, Chcę użyć appcmd usunąć więcej aplikacji raz, jak to zrobić? Czekam na odpowiedź, dziękuję! – Superman

+0

Przykro mi, ale jedyna możliwość, którą znam (aby usunąć wiele aplikacji jednocześnie), to utworzenie pliku wsadowego (lub czegoś podobnego), który wielokrotnie wywołuje 'appcmd'. –

5

I kn ow pytanie brzmi "linii poleceń", ale można użyć PowerShell i IIS Administration Cmdlets, aby wykonać to zadanie. Udostępniam wszystkie funkcje i wyjaśniam proces automatyzacji tego on my blog. Ponadto, można łatwo zamienić na IIS Administration komandletu wzywa z połączeń do msdeploy, appcmd, iisvdir.vbs itp

dla konkretnego pytania, ten kod PowerShell powinno załatwić sprawę:

$block = { 
    Import-Module WebAdministration 
    $website = "YourWebsiteName" 
    $applicationName = "PathUnderWebsite\ToYourApplication" 

    $fullPath = Join-Path $website $applicationName 
    Write-Host "Checking if we need to remove '$fullPath'..." 
    if (Get-WebApplication -Site "$website" -Name "$applicationName") 
    { 
     Write-Host "Removing '$fullPath'..." 
     Remove-WebApplication -Site "$website" -Name "$applicationName" 
    } 

    Write-Host "Deleting the directory '$fullPath'..." 
    Remove-Item -Path "IIS:\Sites\$fullPath" -Recurse -Force 
} 
$session = New-PSSession -ComputerName "Your.WebServer.HostName" 
Invoke-Command -Session $session -ScriptBlock $block 
Remove-PSSession -Session $session 
+0

Jeśli pracujesz lokalnie, nie potrzebujesz wszystkich rzeczy 'PSSession'. +1. – jpmc26

Powiązane problemy