如何通过PowerShell查找SPOSiteDesign GUID并删除测试站点模板?
我太懂你这种困扰了——反复测试部署模板后,下拉列表里堆了一堆测试用的冗余项,想删却找不到Remove-SPOSiteDesign需要的GUID对吧?别慌,咱们一步步来搞定:
第一步:获取所有Site Design的详细信息(含GUID)
首先得把所有已部署的Site Design列出来,这样就能定位到测试模板对应的ID(也就是你要的GUID)。运行下面的PowerShell命令:
Get-SPOSiteDesign | Select-Object Id, Title, Description, WebTemplate
这个命令会返回所有模板的核心信息:ID(GUID)、标题、描述和关联的网站模板类型,你可以通过标题/描述快速找到那些测试用的模板。
如果想精准筛选(比如只找标题带"测试"的模板),可以用过滤命令缩小范围:
Get-SPOSiteDesign | Where-Object { $_.Title -like "*测试*" } | Select-Object Id, Title
第二步:删除指定的测试Site Design
找到目标模板的ID后,直接用Remove-SPOSiteDesign命令删除就行。比如你找到的测试模板ID是12345678-1234-1234-1234-1234567890ab,运行:
Remove-SPOSiteDesign -Identity 12345678-1234-1234-1234-1234567890ab
批量删除测试模板(可选)
如果有一堆测试模板要清理,还可以一键批量处理,比如删除所有标题含"测试"的模板:
Get-SPOSiteDesign | Where-Object { $_.Title -like "*测试*" } | ForEach-Object { Remove-SPOSiteDesign -Identity $_.Id Write-Host "已删除模板:$($_.Title)" }
这个脚本会自动遍历符合条件的测试模板,逐个删除并给出提示,省事不少。
额外提醒:关联的Site Script要不要清理?
别忘了Site Design是和Site Script绑定的,如果那些测试用的Site Script也没用了,也可以用类似方法清理:
- 获取所有Site Script:
Get-SPOSiteScript | Select-Object Id, Title
- 删除指定Site Script:
Remove-SPOSiteScript -Identity <SiteScript-ID>
以后测试的时候,建议给测试模板加个统一标识(比如标题开头加"测试-"),后续清理会更方便哦~
内容的提问来源于stack exchange,提问作者dashed
相关产品推荐
相关产品推荐

