我想使用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()
答案 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()