如何检索内容项的工作流状态名称,而不是工作流状态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的示例,但我需要特定项目的工作流状态的人类可读名称。
答案 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