Get-SPContentDatabase 导出为 CSV 并包含 Web 应用程序 url

Get-SPContentDatabase export to CSV and include web application url

我正在尝试使用 powershell one liner 将我所有 SharePoint 内容数据库的信息导出到一个 CSV 文件中,该文件随后可用作安装脚本的输入。

如果我运行:

Get-SPContentDatabase | Select Name, DatabaseServer, MaximumSiteCount, WarningSiteCount | Export-CSV DatabaseExport.CSV

我获得了我需要的大部分信息,但我无法获得 Web 应用程序 url。 WebApplication 导出为 "SPWebApplication Name=webappname",我需要 url 或 ID。

我在想我需要在脚本中提出它,这将添加循环并将 url 添加到导出的 CSV 中...但是最好有这个一个班轮。

好吧,万一没有人或你想出一个在线解决方案,我将分享我的版本:

$dbs = Get-SPContentDatabase
$result = @();
foreach($db in $dbs){
    $obj = New-Object PSObject
    $obj | Add-Member -Type NoteProperty -Name "URL" -Value $db.WebApplication.URL
    $obj | Add-Member -Type NoteProperty -Name "Name" -Value $db.Name
    $obj | Add-Member -Type NoteProperty -Name "DatabaseServer" -Value $db.Server
    $obj | Add-Member -Type NoteProperty -Name "MaximumSiteCount" -Value $db.MaximumSiteCount
    $obj | Add-Member -Type NoteProperty -Name "WarningSiteCount" -Value $db.WarningSiteCount
    $result += $obj
}

$result | Export-Csv .\DatabaseExport.csv -NoTypeInformation

如果需要,只需 add/remove 个属性。查看 this list 以了解您可以使用的所有属性:)

您可以使用计算 属性(powershell 的一个非常酷的功能)!给你一行脚本 ;)

Get-SPContentDatabase | select Name, Server, MaximumSiteCount, WarningSiteCount , @{Name="URL";Expression={$_.WebApplication.Url}} | Export-Csv TestDB.csv -NoTypeInformation