您的位置:首页 > 其它

[SharePoint 2013] Automatic deployment script

2016-04-27 10:45 417 查看
Implement automatic deployment through windows task.

Add-PsSnapin Microsoft.SharePoint.PowerShell

$today = Get-Date
$targetDir = $today.ToString("yyyyMMdd")
$executeDir = "folder path"
$executeDir += $targetDir + "\"

$webURL = "http://server"
$subject = "Automatic Deployment Finished."
$tos = "xxx@xx"
$body = "Solutions deploy successfully.<br/>"
$errorMsg = ""
$sendingEmail = $true

if((Test-Path $executeDir) -eq $true){

$ps1s = Get-ChildItem -Path ($executeDir + "*.ps1")

if($ps1s.Count -gt 0){

foreach($ps1 in $ps1s){

Invoke-Expression ($executeDir + $ps1.Name)
}

$deployingWSPs = GET-SPSolution | Where-Object {$_.JobExists -eq $true}

While($deployingWSPs -ne $null -and $deployingWSPs.Count -gt 0){
Start-Sleep -Seconds 600

$deployingWSPs = GET-SPSolution | Where-Object {$_.JobExists -eq $true}
}

$deployingWSPs = GET-SPSolution | Where-Object {$_.Deployed -eq $true -and ($_.LastOperationEndTime - $today).Days -eq 0 -and $_.LastOperationResult.ToString() -like "*Failed*" }

if($deployingWSPs -ne $null -and $deployingWSPs.Count -gt 0){
$errorMsg += "Exception occur during deployment, please check in CA.<br/>"
}

if($error.Count -gt 0){
$errorMsg += "Exception occure during parse command.<br/>"
$errorMsg += $error[$error.Count - 1].Exception.Message
}

if($sendingEmail -eq $true){
$web = Get-SPWeb $webURL
if($errorMsg.Length -gt 0){
$body = $errorMsg
}
[Microsoft.SharePoint.Utilities.SPUtility]::SendEmail($web, $true, $false, $tos, $subject, $body)

$web.Dispose()
}
}
}

exit
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: