假設在本地IIS服務器上部署了一個webapp。當我需要刪除/取消部署它時,我可以轉到IIS管理器,右鍵單擊該應用程序,然後選擇「刪除應用程序和內容」 - 等瞧。但是,我需要從命令行執行相同的操作 - 如何?可以假定應用程序的名稱是已知的。IIS:如何從命令行取消部署/刪除/刪除Web應用程序?
也許這可以通過MSDeploy以某種方式完成?
假設在本地IIS服務器上部署了一個webapp。當我需要刪除/取消部署它時,我可以轉到IIS管理器,右鍵單擊該應用程序,然後選擇「刪除應用程序和內容」 - 等瞧。但是,我需要從命令行執行相同的操作 - 如何?可以假定應用程序的名稱是已知的。IIS:如何從命令行取消部署/刪除/刪除Web應用程序?
也許這可以通過MSDeploy以某種方式完成?
了iisweb /刪除網頁[/ s計算機[/ U [域]用戶/ p密碼]]
'iisweb'不被識別爲內部或外部命令, 可操作程序或批處理文件。 如果有幫助,我正在運行服務器2008 R2,所以IIS是v7。 – Riddler 2010-12-17 12:25:41
我弄髒你應該使用appcmd http://learn.iis.net/page.aspx/114/getting-started-with-appcmdexe – 2010-12-17 12:35:49
這是什麼做的:
"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 Administration Cmdlets來完成這個任務。我提供了所有的功能,並解釋瞭如何自動化這個on my blog的過程。此外,您還可以輕鬆更換IIS管理cmdlet來調用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
如果在本地工作,則不需要所有'PSSession'的東西。 +1,但。 – jpmc26 2017-03-10 21:10:42
乘坐看看:http://stackoverflow.com/questions/1610880/how-to-create-an-application-in-iis-using-command-line – adatapost 2010-12-17 11:13:50