开发者

Automatic deployment of solutions with PowerShell

开发者 https://www.devze.com 2023-04-04 23:25 出处:网络
I have a folder, containing several solutions for a SharePoint application, which开发者_如何学编程 I want to add and install. I want to iterate over the elements in the folder, then use the Add-SPSolu

I have a folder, containing several solutions for a SharePoint application, which开发者_如何学编程 I want to add and install. I want to iterate over the elements in the folder, then use the Add-SPSolution. After that I want to do a check if the solutions are done deploying, before using the Install-SPSolution. Here is a snippet that I am currently working on:

   # 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}

Is there a way to check if the deployment is finished, and it is ready to start installing the solutions?


You need to check the SPSolution.Deployed property value in a loop - basic solution looks like this:

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

The Deploying SharePoint 2010 Solution Packages Using PowerShell article contains more details and this comment discusses a potential caveat.

0

精彩评论

暂无评论...
验证码 换一张
取 消