SharePoint 2010 - 添加具有工作流审批状态和PowerShell的列表项

时间:2011-03-25 11:46:21

标签: sharepoint powershell sharepoint-2010 powershell-v2.0

我想使用PowerShell将项目添加到SharePoint 2010列表中。 此列表与标准SharePoint批准工作流程相关。 我想添加Items并使用PowerShell将工作流状态设置为“已发布”。 我的代码,但是如何将工作流状态设置为“已发布”?

$web = Get-SPWeb $Url
$list = $web.Lists["MyList"]
$newitem =    $Schulliste.items.Add()
$newitem["Column1"] = "Test1" # Works fine!


#Set Column Writable
$column = $list.Fields["WorkflowName"]
$column.Hidden = $false
$column.ReadOnlyField = $false
$column.Update()

#Update Workflow Item
$newitem["WorkflowName"] = "Published" #Not working
$newitem.update()

#Set Column Readonly
$column = $list.Fields["WorkflowName"]
$column.Hidden = $true
$column.ReadOnlyField = $true
$column.Update()

2 个答案:

答案 0 :(得分:1)

我认为,设置“状态”字段不是正确的方法。您应该以编程方式批准该项目。

http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spfile.approve.aspx

$newitem.File.Approve("approved by script")

答案 1 :(得分:1)

我现在的解决方法是激活和停用内容审批

$web = Get-SPWeb $Url        
$list = $Web.Lists["MyList"]  

$list.EnableModeration = $false 
$list.Update()

$newitem =    $liste.items.Add()   
$newitem["Column1"] = "Test1" 
$newitem.update()

$list.EnableModeration = $true 
$list.Update()