Sitecore Powershell工作流状态名称

时间:2017-03-28 13:41:14

标签: powershell sitecore

如何检索内容项的工作流状态名称,而不是工作流状态ID(guid)?

Get-ChildItem -Path ("master:\content") -Recurse `
| Select-Object -First 10 -Property ItemPath, Name, "TemplateName", "Version", @{Label="Updated";Expression={$_.__Updated}}, @{Label="Workflow State"; Expression={$_._state}}, `
 @{Label="Published"; Expression={$_.__publish}}

我看到很多关于如何获取工作流状态ID的示例,但我需要特定项目的工作流状态的人类可读名称。

1 个答案:

答案 0 :(得分:1)

您需要通过传递检索到的项目ID来获取工作流程状态名称。这是因为原始值中的工作流程存储为ID。这就是返回工作流状态ID的原因。

使用以下脚本,将返回工作流状态的名称

Get-ChildItem -Path ("master:\content") -Recurse `
| Select-Object -First 10 -Property ItemPath, Name, "TemplateName", "Version", @{Label="Updated";Expression={$_.__Updated}}, @{Label="Workflow State"; Expression={(Get-Item master: -ID $_."__Workflow state").Name}}, `
 @{Label="Published"; Expression={$_.__publish}}

请注意,我在Sitecore v8.2上对此进行了测试,其中工作流状态的名称为__Workflow state。您可能需要从脚本中相应地更新它,它使用的是_state