Iis 7 使用MSDeploy.exe创建文件夹、网站和部署的Powershell脚本
我想在Windows 2008 R2上部署一个web应用程序。我知道用于执行各种任务的单独PowerShell命令。但我想把它放到一个漂亮的PowerShell脚本中 我只需要语法,你能帮我做以下动作吗Iis 7 使用MSDeploy.exe创建文件夹、网站和部署的Powershell脚本,iis-7,powershell,powershell-2.0,Iis 7,Powershell,Powershell 2.0,我想在Windows 2008 R2上部署一个web应用程序。我知道用于执行各种任务的单独PowerShell命令。但我想把它放到一个漂亮的PowerShell脚本中 我只需要语法,你能帮我做以下动作吗 测试C:\Inetpub\MyWebsite文件夹是否存在,如果不存在,请创建它 在IIS7中测试MyWebsite是否存在,如果没有创建它(我知道如何导入模块WebAdministration并调用新网站) 现在是复杂的部分。我从VisualStudio2010准备的包中部署了一个Web站点。
C:\Inetpub\MyWebsite
文件夹是否存在,如果不存在,请创建它MyWebsite
是否存在,如果没有创建它(我知道如何导入模块WebAdministration
并调用新网站
).cmd
文件,我只需要在DOS提示符下执行它。这意味着我必须离开PS控制台,打开DOS控制台来运行cmd文件。是否可以从PowerShell控制台中运行.cmd
文件回答您的问题:
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
脚本。我也做了一些更改。使用相同的测试语法测试网站是否存在:
if (-not (Test-Path -path IIS:\Sites\$SiteName))
{
New-WebSite -Name $SiteName ...etc...
}
同样为了执行*.cmd文件,我从web上提取了一些代码,看到人们使用&来执行外部命令。希望你没事:
& c:\PathToScript\MakeMySite.cmd arg1 arg2
非常感谢您的帮助。如果您需要以管理员身份运行.cmd文件,可以使用以下代码:
Start-Process -FilePath C:\PathToScript\MakeMySite.cmd -Verb RunAs -ArgumentList "/y"
嗨,这太棒了。我可以围绕这个来完成我的PS脚本。有完整的源代码示例吗?