使用Get-MgSite无法获取CreatedBy/CreatedByUser属性的技术咨询
问题解答
可以通过Get-MgSite命令获取CreatedBy和CreatedByUser属性,但需要调整命令参数的使用方式,以下是具体说明:
1. 核心问题原因
Site资源继承自baseItem的CreatedBy(identitySet类型)和CreatedByUser(导航属性)均不属于默认返回的属性集合,必须显式指定选择并展开对应属性才能获取到。
2. 正确的命令写法
需要同时通过-Property指定包含CreatedBy,并通过-ExpandProperty展开CreatedByUser,注意参数值的格式(无需额外空格):
$site = Get-MgSite -SiteId <siteId> -Property "Id,DisplayName,Name,WebUrl,CreatedDateTime,CreatedBy" -ExpandProperty "CreatedByUser"
执行后,$site.CreatedBy会返回创建者的身份集合信息,$site.CreatedByUser会返回创建者的用户详情(如ID、显示名称、邮箱等)。
3. 额外注意事项
- 权限检查:确保你的应用或账号拥有
Sites.Read.All及以上权限,否则可能因权限不足无法返回这些属性。 - 差异说明:SharePoint管理中心依赖的是SharePoint原生REST API,与Microsoft Graph API的属性返回逻辑略有不同,但Graph API确实支持获取这些站点创建信息。
内容的提问来源于stack exchange,提问作者Martin
相关产品推荐
相关产品推荐

