SharePoint PowerShell 啓動工做流

  前言html

  最近,有個需求,就是須要批量更新列表內容,平時這些操做,都用powershell去完成,可是,powershell須要在服務器上操做,而服務器權限須要經過客戶的層層把關,因此,此次就考慮不用命令了,而改用SharePoint網站工做流,而後,用powershell命令去建立任務計劃。web

  這樣,之後有需求修改,直接在客戶端就能作了,而任務計劃,是始終不會變的。shell

  1.建立網站工做流,這個就比較簡單了,咱們就很少少了,直接在SharePoint Designer裏幹就行了;api

  2.啓動網站工做流的PowerShell代碼段,這個顯然是本文的重中之重;服務器

# SharePoint.Workflow.Start-SPSiteWorkflow

param (
   [string]$Url = "http://sharepoint/demos/workflow",
   [string]$Workflow = "Sample Site Workflow"
 )

Add-PSSnapin Microsoft.SharePoint.PowerShell -erroraction
SilentlyContinue
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")

# get the workflow assocation from the target site/web
$site = Get-SPSite $Url
$culture = [System.Globalization.CultureInfo]::InvariantCulture
$wfAssociation = $site.RootWeb.WorkflowAssociations.GetAssociationByName($Workflow,$culture)

if ( $wfAssociation )
{
    # initialize and optionally update association data
    $assocData = $wfAssociation.AssociationData

    # start the workflow
    $wfRunOption = [Microsoft.SharePoint.Workflow.SPWorkflowRunOptions]::Asynchronous
    $site.WorkflowManager.StartWorkflow($site, $wfAssociation, $assocData,$wfRunOption)
}
else
{
    Write-Error "Workflow association not found on target web site."
}

  3.保存成ps1文件,而後,建立一個任務計劃定時去執行就行了;網站

  4.建立任務計劃能夠參考:spa

  https://www.cnblogs.com/jianyus/p/10341253.htmlcode

  結束語htm

  SharePoint的好處就在因而個平臺,不少功能有多種多樣的方式來完成,而咱們能夠根據需求,選中最最適合咱們場景的那一個。blog

  固然,這些就須要咱們對SharePoint有這深刻的瞭解,方方面面的功能都很熟悉了。

相關文章
相關標籤/搜索