当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 使用 PowerShell 从内容数据库获取所有 SharePoint 网站集

作者:精品下载站 日期:2024-12-14 13:41:15 浏览:15 分类:玩电脑

使用 PowerShell 从内容数据库获取所有 SharePoint 网站集


在审核/迁移期间,我们需要生成有关 SharePoint 内容数据库的报告以及每个内容数据库中的网站集列表。

[玩转系统] 使用 PowerShell 从内容数据库获取所有 SharePoint 网站集

用于获取所有内容数据库及其网站集的 PowerShell 脚本:


Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue

#Get all SharePoint content databases available
$ContentDatabases = Get-SPContentDatabase
#Loop through each content database
foreach($ContentDb in $ContentDatabases)
{
    Write-Host "`nContent Database Name:  $($ContentDb.Name) Size:$($ContentDb.DiskSizeRequired/1MB) MB " -ForegroundColor DarkGreen
 #Get all site collections in the content database
 Write-Host "Site Collections List:" -ForegroundColor Blue
    foreach($site in $ContentDb.Sites)
    {
        write-host $site.url
    }
}

上述脚本的 Oneliner 是:


Get-SPContentDatabase | ForEach-Object { Write-Output "* $($_.Name)”; foreach($Site in $_.Sites){write-Output `t$Site.url}}

此 PowerShell 脚本输出所有 SharePoint 内容数据库及其大小,并且对于每个内容数据库,它提供内容数据库内的网站集列表。

获取特定内容数据库中的所有网站集:

让我们稍微更改一下脚本,以使所有网站集都存在于特定的内容数据库中:


Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
 
#Set the Content Database Name
$ContentDbName = "SP2010_SharePoint_ContentDB"
#Get the Content Database
$ContentDb = Get-SPContentDatabase -Identity $ContentDbName

#Iterate through each site collection in the Content database
foreach($site in $ContentDb.Sites)
{
   write-host $site.url
}
如何查找特定网站集位于哪个内容数据库中?
简单的!只需使用: Get-SPContentDatabase -site https://Site-Collection-URL

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯