Ответ 1
Вот что он сделал:
"C:\Program Files\IIS\Microsoft Web Deploy\msdeploy" -verb:delete -dest:apphostconfig="Default Web Site/<webapp_name>"
Предположим, что на локальном сервере IIS развернут webapp. Когда мне нужно удалить/развернуть его, я могу перейти в диспетчер IIS, щелкнуть правой кнопкой мыши приложение и выбрать "Удалить приложение и контент" - et voila. Но, мне нужно сделать то же самое из командной строки - как? Можно предположить, что имя приложения известно.
Может быть, это может быть сделано через MSDeploy каким-то образом?
Вот что он сделал:
"C:\Program Files\IIS\Microsoft Web Deploy\msdeploy" -verb:delete -dest:apphostconfig="Default Web Site/<webapp_name>"
Если вы просто хотите удалить приложение с веб-сайта в IIS без физического удаления файлов (например, msdeploy
) или если у вас нет установленного расширения WebDeploy, вы можете использовать следующую команду:
C:\Windows\System32\inetsrv\appcmd.exe delete app "Default Web Site/MyAppName"
Я знаю, что в вопросе говорится "командная строка", но вы можете использовать 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
iisweb/delete WebSite [/s Компьютер [/u [Домен] Пользователь/пароль]]