2010-12-17 63 views
15

Supongamos que hay una aplicación web implementada en el servidor IIS local. Cuando necesito eliminar/cancelar la implementación, puedo ir al Administrador de IIS, hacer clic con el botón derecho en la aplicación y luego seleccionar "Eliminar aplicación y contenido" - et voila. Pero, necesito hacer lo mismo desde la línea de comandos, ¿cómo? Se puede suponer que el nombre de la aplicación es conocido.IIS: ¿cómo deshacer/eliminar/eliminar una aplicación web desde la línea de comandos?

¿Quizás esto se puede hacer a través de MSDeploy de alguna manera?

+0

Tome una mira: http://stackoverflow.com/questions/1610880/how-to-create-an-application-in-iis-using-command-line – adatapost

Respuesta

2

iisweb/borrar página web [/ s equipo [/ u [Dominio] Usuario/p Contraseña]]

+0

'iisweb' no se reconoce como un comando interno o externo, operable programa o archivo por lotes. Si eso ayuda, estoy ejecutando el servidor 2008 R2, por lo que IIS es v7. – Riddler

+0

Creo que debes usar appcmd http://learn.iis.net/page.aspx/114/getting-started-with-appcmdexe –

14

Esto es lo que hizo:

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

+1 para que lo descubras y compartas –

+0

+1 por ser increíble. ¡Gracias! – danyim

+0

Para ahorrar tiempo, en los cuadros de Windows 8 que ejecutan IIS 8 podría ser '" C: \ Archivos de programa (x86) \ IIS \ Microsoft Web Deploy V3 \ msdeploy "-verb: eliminar -dest: apphostconfig =" Sitio web predeterminado/ "' – LucasBr

11

Si lo que desea es eliminar la aplicación del sitio web en IIS sin eliminar físicamente los archivos (como msdeploy no) o si no tiene instalado el WebDeploy-extensión, puede utilizar el siguiente comando:

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

Podría ser bueno tener en cuenta que appcmd es solo para IIS 7+, de lo contrario, el archivo no existe. – danyim

+0

@Stephan Bauer, quiero usar appcmd eliminar más aplicaciones una vez, ¿cómo hacerlo? Espero su respuesta, ¡gracias! – Superman

+0

Lo siento, pero la única posibilidad que conozco (para eliminar varias aplicaciones a la vez) es crear un archivo por lotes (o similar) que llame a 'appcmd' varias veces. –

5

I kn La pregunta dice "línea de comando", pero puede usar PowerShell y IIS Administration Cmdlets para realizar esta tarea. Proporciono todas las funciones y explico el proceso de cómo automatizar este on my blog. Además, se puede cambiar fácilmente a cabo la Administración de cmdlet IIS llama con llamadas a MSDeploy, appcmd, Iisvdir.vbs, etc.

Para su pregunta específica, este código PowerShell debe hacer el truco:

$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

Si trabaja localmente, no necesita todas las cosas 'PSSession'. +1, sin embargo. – jpmc26

Cuestiones relacionadas