IIS: как удалить / удалить / удалить веб-приложение из командной строки? - PullRequest
16 голосов
/ 17 декабря 2010

Предположим, что веб-приложение развернуто на локальном сервере IIS. Когда мне нужно удалить / отменить развертывание, я могу зайти в диспетчер IIS, щелкнуть правой кнопкой мыши приложение и выбрать «Удалить приложение и контент» - и так далее. Но мне нужно сделать то же самое из командной строки - как? Можно предположить, что имя приложения известно.

Может быть, это можно сделать как-нибудь через MSDeploy?

Ответы [ 4 ]

14 голосов
/ 17 декабря 2010

Вот что это сделал:

"C:\Program Files\IIS\Microsoft Web Deploy\msdeploy" -verb:delete -dest:apphostconfig="Default Web Site/<webapp_name>"
14 голосов
/ 21 июля 2011

Если вы просто хотите удалить приложение с веб-сайта в IIS без физического удаления файлов (как это делает msdeploy) или если у вас не установлено расширение WebDeploy, вы можете использовать следующую команду:

C:\Windows\System32\inetsrv\appcmd.exe delete app "Default Web Site/MyAppName"
5 голосов
/ 24 октября 2013

Я знаю, что в вопросе написано "командная строка", но вы можете использовать PowerShell и IIS Administration Cmdlets для выполнения этой задачи.Я предоставляю все функции и объясняю процесс автоматизации этого в своем блоге .Кроме того, вы можете легко заменить вызовы командлета администрирования IIS вызовами msdeploy, appcmd, IIsVdir.vbs и т. Д.

Для вашего конкретного вопроса этот код PowerShell должен помочь:

$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
2 голосов
/ 17 декабря 2010

iisweb / delete WebSite [/ s Компьютер [/ u [Домен] Пользователь / p Пароль]]

...