如何通过PowerShell脚本获取Sitecore页面创建者的用户名?
获取Sitecore页面创建者用户名的PowerShell解决方案
你混淆了
Created属性和创建者相关数据:$sitepage.Created仅返回页面的创建日期时间,要获取创建用户的详情,需要访问Item的统计信息或对应字段。方法一:利用Item的Statistics属性
Sitecore的Item对象自带Statistics属性,其中包含创建者的用户ID,通过这个ID可以获取完整的用户对象:# 获取创建者的用户ID $createdById = $sitepage.Statistics.CreatedBy # 通过ID获取Sitecore用户对象 $createdByUser = [Sitecore.Security.Accounts.User]::FromName($createdById, $false) # 输出用户详情 Write-Host "创建者用户名: $($createdByUser.Name)" Write-Host "创建者显示名称: $($createdByUser.Profile.FullName)"方法二:直接读取"Created By"字段
Sitecore默认标准模板包含"Created By"字段,可直接读取字段值并转换为用户对象:# 读取Created By字段的用户ID值 $createdByFieldValue = $sitepage.Fields["Created By"].Value # 转换为用户对象 $createdByUser = [Sitecore.Security.Accounts.User]::FromName($createdByFieldValue, $false) # 输出用户信息(做空值判断避免报错) if ($createdByUser) { Write-Host "创建者: $($createdByUser.Profile.FullName) ($($createdByUser.Name))" } else { Write-Host "无法找到对应的创建用户" }注意事项:
- 确保脚本拥有访问Sitecore用户管理API的权限
- 如果在Sitecore PowerShell Extensions(SPE)中执行,上述代码可直接使用,SPE已加载必要的Sitecore程序集
内容的提问来源于stack exchange,提问作者Libish J M
相关产品推荐
相关产品推荐

