2011-04-01 29 views
2

我想在Windows 2008 R2上部署Web應用程序。我知道單獨的PowerShell命令來完成各種任務。但我想把它放到一個很好的PowerShell腳本中。使用MSDeploy.exe創建文件夾,網站和部署的Powershell腳本

我只需要語法,可以請你幫我做以下操作:

  1. 測試是否C:\Inetpub\MyWebsite文件夾是否存在,如果沒有,創建它。

  2. 測試在IIS7如果MyWebsite存在,如果不創建它(我知道如何Import-Module WebAdministration並調用New-WebSite

  3. 現在複雜的部分。我從Visual Studio 2010準備的包中部署了一個網站。VS提供一個.cmd文件,我只需要在DOS提示符下執行它。這意味着我必須離開PS控制檯,打開DOS控制檯來運行該cmd文件。是否可以在PowerShell控制檯中運行.cmd文件?

+0

任何完整的源代碼示例? – Kiquenet 2012-06-08 09:48:17

回答

8

回答您的問題:

Import-Module WebAdministration 

# Check for physical path 
$sitePath = "c:\inetpub\MyWebsite" 
if (-not (Test-Path -path $sitePath)) 
{ 
    New-Item -Path $sitePath -type directory 
} 

# Check for site 
$siteName = "MyWebSite" 
$site = Get-WebSite | where { $_.Name -eq $siteName } 
if($site -eq $null) 
{ 
    Write-Host "Creating site: $siteName" 
    # Put your New-WebSite code here 
} 

# Execute your .cmd here 
c:\PathToScript\MakeMySite.cmd 

您可以在PowerShell就好運行.cmd腳本。

+0

嗨,這太棒了。我可以圍繞這個來完成我的PS腳本。 – Polymerase 2011-04-02 21:17:24

2

我也改變了一點點。使用相同的測試語法測試,如果一個網站的存在與否:

if (-not (Test-Path -path IIS:\Sites\$SiteName)) 
{ 
    New-WebSite -Name $SiteName ...etc... 
} 

還用於執行* .cmd文件,我舉起從網上的一些代碼,看到人們使用&執行外部命令。希望您沒事:

& c:\PathToScript\MakeMySite.cmd arg1 arg2 

非常感謝您的幫助。

0

如果你需要運行.cmd文件作爲管理員,您可以使用下面的代碼:

Start-Process -FilePath C:\PathToScript\MakeMySite.cmd -Verb RunAs -ArgumentList "/y" 
相關問題