Сценарий Powershell для создания папки, веб-сайта и развертывания с использованием MSDeploy.exe - PullRequest
2 голосов
/ 02 апреля 2011

Я хотел бы развернуть веб-приложение в Windows 2008 R2. Я знаю отдельные команды PowerShell для выполнения различных задач. Но я хотел бы поместить это в хороший скрипт PowerShell.

Мне просто нужен синтаксис, не могли бы вы помочь мне выполнить следующие действия:

  1. Проверьте, существует ли папка C:\Inetpub\MyWebsite, если нет, создайте ее.

  2. Проверка в IIS7, если MyWebsite существует, если не создать его (я знаю, как Import-Module WebAdministration и позвонить New-WebSite)

  3. Теперь сложная часть. Я развертываю веб-сайт из пакета, подготовленного Visual Studio 2010. VS предоставляет файл .cmd, где мне просто нужно выполнить его из приглашения DOS. Это означает, что я должен покинуть PS Console, открыть DOS Console для запуска этого cmd-файла. Можно ли запустить файл .cmd из консоли PowerShell?

Ответы [ 3 ]

8 голосов
/ 02 апреля 2011

Чтобы ответить на ваши вопросы:

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

Вы можете просто запустить .cmd скриптов из PowerShell.

2 голосов
/ 03 апреля 2011

Я тоже немного изменился. Использование того же синтаксиса Test, чтобы проверить, существует веб-сайт или нет:

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

Также для выполнения файла * .cmd я поднял некоторый код из Интернета и увидел, что люди используют & для выполнения внешней команды. Надеюсь, что вы в порядке:

& c:\PathToScript\MakeMySite.cmd arg1 arg2

Большое спасибо за вашу помощь.

0 голосов
/ 15 января 2013

Если вам нужно запустить файл .cmd от имени администратора, вы можете использовать следующий код:

    Start-Process -FilePath C:\PathToScript\MakeMySite.cmd -Verb RunAs -ArgumentList "/y"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...