IIS:如何从命令行取消部署/删除/删除webapp?

Rid*_*ler 16 iis command-line web-applications

假设在本地IIS服务器上部署了一个webapp.当我需要删除/取消部署它时,我可以转到IIS管理器,右键单击该应用程序,然后选择"删除应用程序和内容" - et voila.但是,我需要从命令行做同样的事情 - 怎么样?可以假设应用程序的名称是已知的.

也许这可以通过MSDeploy以某种方式完成?

Rid*_*ler 14

这是做了什么:

"C:\Program Files\IIS\Microsoft Web Deploy\msdeploy" -verb:delete -dest:apphostconfig="Default Web Site/<webapp_name>"
Run Code Online (Sandbox Code Playgroud)


Ste*_*uer 14

如果您只想从IIS中的Web站点删除该应用程序而不实际删除文件(如同msdeploy)或者如果您没有安装WebDeploy-extension,则可以使用以下命令:

C:\Windows\System32\inetsrv\appcmd.exe delete app "Default Web Site/MyAppName"
Run Code Online (Sandbox Code Playgroud)


dea*_*dog 5

我知道问题是"命令行",但您可以使用PowerShell和IIS管理Cmdlet来执行此任务.我提供了所有功能,并解释了如何在我的博客上自动执行此操作的过程.此外,您可以通过调用msdeploy,appcmd,IIsVdir.vbs等轻松交换IIS管理Cmdlet调用.

对于您的特定问题,此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
Run Code Online (Sandbox Code Playgroud)


Sai*_*thi 2

iisweb /删除网站 [/s 计算机 [/u [域]用户 /p 密码 ]]