(第一篇文章-我会尽力总结一下,请提前原谅我)
我有一个带有要删除的网站列表的 SharePoint 网站,问题是,一些要删除的网站有子网站需要在删除之前删除。我有一个基本的 Powershell 脚本,只要没有子站点,它就会删除该站点。
如果要删除的列出的站点具有子站点,我正在尝试提出一种删除子站点的方法,或者想出一种方法来捕获那些有错误的站点,以将数据输入到同一列表上的列中或输出文件并到继续删除没有订阅的网站。
这是我到目前为止所拥有的:
#========================================================================#
# Delete confirmed sites #
#========================================================================#
function deleteSites_old ($url, $listName) {
$web = get-SPWeb $url
$list = $web.Lists[$listname]
$items = $list.items | Where-Object {($_['Status'] -eq 'Delete')}
Write-host "List $($list.title) has $($items.count) entries to be deleted"
foreach ($item in $items) {
$siteURL = $item["URL"]
$siteOwner = $itme["SiteOwner"]
write-host $siteURL $siteOwner
try {
write-host "Site deletion"
#Remove-SPWeb -Identity $siteURL -Recycle
}
catch [Microsoft.SharePoint.Powershell.SPCmdRemoveWeb] {
"There was a problem deleting web site $($siteURL)"
}
#Remove-SPWeb -Identity $siteURL -Recycle
#$ListItem["Status"] = "DELETED"
#$ListItem.update()
}
#DELETES THE INSTANCE
$web.Dispose()
}
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
$Site = '[URL]'
$list = "[List Name]"
deleteSites_old $Site $List
我仍在测试,所以我在继续时已经注释掉了。提前感谢,我确实先搜索了论坛,但只找到了与 SPOnline 或 SP13 相关的问题(使用 $ChildSites 但无法使其适用于我的环境)