IIS: как отменить/удалить/удалить webapp из командной строки?

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

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

Ответы

Ответ 1

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

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

Ответ 2

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

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

Ответ 3

Я знаю, что в вопросе говорится "командная строка", но вы можете использовать PowerShell и Командлеты администрирования IIS для выполнения этой задачи. Я предоставляю все функции и объясняю процесс автоматизации этого в моем блоге. Кроме того, вы можете легко заменить вызовы команд администрирования 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

Ответ 4

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