Автоматическое развертывание решений с помощью PowerShell - PullRequest
2 голосов
/ 13 сентября 2011

У меня есть папка, содержащая несколько решений для приложения SharePoint, которые я хочу добавить и установить. Я хочу перебрать элементы в папке, а затем использовать Add-SPSolution. После этого я хочу проверить развертывание решений, прежде чем использовать Install-SPSolution. Вот фрагмент кода, над которым я сейчас работаю:

   # Get the location of the folder you are currently in
    $dir = $(gl)

    # Create a list with the .wsp solutions
    $list = Get-ChildItem $dir | where {$_.extension -eq ".wsp"}

    Write-Host 'DEPLOYING SOLUTIONS...'
    foreach($my_file in Get-ChildItem $list){Add-SPSolution -LiteralPath $my_file.FullName}

    Write-Host 'SLEEP FOR 30 SECONDS'
    Start-Sleep -s 30

    Write-Host 'INSTALLING SOLUTIONS...'
    foreach($my_file in Get-ChildItem $list){Install-SPSolution -Identity $my_file.Name -AllWebApplications -GACDeployment}

Есть ли способ проверить, завершено ли развертывание, и готово ли начать установку решений?

1 Ответ

1 голос
/ 13 сентября 2011

Вам необходимо проверить значение SPSolution.Deployed в цикле - базовое решение выглядит следующим образом:

do { Start-Sleep 2 } while (!((Get-SPSolution $name).Deployed))

Развертывание SharePointПакеты решений 2010 с использованием PowerShell В статье содержится больше подробностей, а в в этом комментарии обсуждается потенциальное предостережение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...