如何获取SharePoint站点所有功能的名称与ID?
默认Get-PnPFeature仅返回已启用的功能,要获取所有功能(包括未启用、隐藏功能),需添加-All和-IncludeHidden参数,同时指定对应作用域。
完整脚本示例
# 先确保已连接到目标站点:Connect-PnPOnline -Url "你的站点URL" # 获取网站集级别的全部功能 $siteFeatures = Get-PnPFeature -Scope Site -All -IncludeHidden # 获取网站级别的全部功能 $webFeatures = Get-PnPFeature -Scope Web -All -IncludeHidden # 输出网站集功能详情 Write-Host "=== 网站集级别功能列表 ===" -ForegroundColor Cyan foreach ($feature in $siteFeatures) { Write-Host "功能名称: $($feature.DisplayName)" Write-Host "功能ID: $($feature.DefinitionId)" Write-Host "启用状态: $($feature.Enabled)" Write-Host "---------------------------" } # 输出网站功能详情 Write-Host "`n=== 网站级别功能列表 ===" -ForegroundColor Cyan foreach ($feature in $webFeatures) { Write-Host "功能名称: $($feature.DisplayName)" Write-Host "功能ID: $($feature.DefinitionId)" Write-Host "启用状态: $($feature.Enabled)" Write-Host "---------------------------" }
关键参数说明
-All:返回指定作用域下的所有功能定义,不受启用状态限制-IncludeHidden:包含系统默认隐藏的功能(部分核心功能需此参数才能显示)-Scope:可选Site(网站集)或Web(当前站点),按需指定查询范围
如果只需要单一作用域的功能,删除对应另一部分代码即可。
内容的提问来源于stack exchange,提问作者Lana
相关产品推荐
相关产品推荐

