You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 11:55:57