2010-12-17 10 views
15

Yerel IIS sunucusunda dağıtılmış bir webapp var varsayalım. Kaldırmam/kaldırmam gerektiğinde, IIS Yöneticisi'ne gidip uygulamaya sağ tıklayıp "Uygulama ve içeriği sil" seçeneğini seçin. Ama aynı şeyi komut satırından yapmam gerekiyor - nasıl? Uygulamanın isminin bilindiği varsayılabilir.IIS: komut satırından bir webapp'ı nasıl kaldırmak/silmek/kaldırmak?

Belki bu MSDeploy üzerinden bir şekilde yapılabilir mi?

+0

bir atın bakın: http://stackoverflow.com/questions/1610880/how-to-create-an-application-in-iis-using-command-line – adatapost

cevap

2

iisweb/WebSite delete [/ s Bilgisayar [/ u [Alan] Kullanıcı/p Parola]]

+0

'iisweb' iç veya dış komut olarak tanınmıyor, çalıştırılabilir program veya toplu iş dosyası. Bu yardımcı oluyorsa, ben sunucu 2008 R2 çalıştırıyorum, bu yüzden IIS v7. – Riddler

+0

rüyamda, appcmd'yi kullanmak için http://learn.iis.net/page.aspx/114/getting-started-with-appcmdexe –

14

Bu yaptığını budur:

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

+1'i kullanın ve harika olmanız için –

+0

+1'i paylaşın. Teşekkürler! – danyim

+0

Sadece zaman kazanmak için, IIS 8 çalıştıran Windows 8 kutularında "C: \ Program Files (x86) \ IIS \ Microsoft Web Deploy V3 \ msdeploy" -verb: delete -dest: apphostconfig = "Varsayılan Web Sitesi/ " – LucasBr

11

sadece uygulamayı kaldırmak isterseniz Ben kn

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

Appcmd'nin yalnızca IIS 7+ için olduğunu not etmek güzel olabilir, aksi halde dosya mevcut değil. – danyim

+0

@Stephan Bauer, appcmd'yi bir seferde daha fazla uygulamayı silmek istiyorum, nasıl yapmalı? Cevabını dört gözle bekliyorum, teşekkür ederim! – Superman

+0

Üzgünüm, ama bildiğim tek şey (aynı anda birden çok uygulamayı silmek için), appcmd'yi birden çok kez çağıran bir toplu iş dosyası (veya benzer.) Oluşturmaktır. –

5

: Eğer WebDeploy-uzantı yüklü yoksa fiziksel olarak dosyaları silmeden IIS Web Sitesi (gibi msdeploy etmez) veya aşağıdaki komutu kullanabilirsiniz soruyu "komut satırı" diyor, ancak bu görevi yapmak için PowerShell'i ve IIS Administration Cmdlets'u kullanabilirsiniz. Tüm fonksiyonları sağlarım ve bu on my blog'un nasıl otomatikleştirileceğini açıklarım. Ayrıca, kolayca takas olabilir IIS yönetim Cmdlet msdeploy çağrıları ile, appcmd Iisvdir.vbs vb özel soru için

, hile yapmak gerekir bu PowerShell kodu:

$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

Yerel olarak çalışıyorsanız, tüm "PSSession" öğelerine ihtiyacınız yoktur. Yine de +1. – jpmc26

İlgili konular