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)
我知道问题是"命令行",但您可以使用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)
| 归档时间: |
|
| 查看次数: |
20809 次 |
| 最近记录: |