-
-
Notifications
You must be signed in to change notification settings - Fork 26
/
Copy pathGeneric-SQL-Documentation.ps1
27 lines (25 loc) · 2.15 KB
/
Generic-SQL-Documentation.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import-module SQLPS
$Instances = Get-ChildItem "SQLSERVER:\SQL\$($ENV:COMPUTERNAME)"
foreach ($Instance in $Instances) {
$InstanceInfo = $Instance | Select-Object DisplayName, Collation, AuditLevel, BackupDirectory, DefaultFile, DefaultLog, Edition, ErrorLogPath
$databaseList = get-childitem "SQLSERVER:\SQL\$($ENV:COMPUTERNAME)\$($Instance.Displayname)\Databases"
$Databases = @()
foreach($Database in $databaselist){
$Databaseobj = New-Object -TypeName PSObject
$Databaseobj | Add-Member -MemberType NoteProperty -Name "Name" -value $Database.Name
$Databaseobj | Add-Member -MemberType NoteProperty -Name "Status" -value $Database.status
$Databaseobj | Add-Member -MemberType NoteProperty -Name "RecoveryModel" -value $Database.RecoveryModel
$Databaseobj | Add-Member -MemberType NoteProperty -Name "LastBackupDate" -value $Database.LastBackupDate
$Databaseobj | Add-Member -MemberType NoteProperty -Name "DatabaseFiles" -value $database.filegroups.files.filename
$Databaseobj | Add-Member -MemberType NoteProperty -Name "Logfiles" -value $database.LogFiles.filename
$Databaseobj | Add-Member -MemberType NoteProperty -Name "MaxSize" -value $database.filegroups.files.MaxSize
$Databases += $Databaseobj
}
$InstanceInfo = $Instance | Select-Object DisplayName, Collation, AuditLevel, BackupDirectory, DefaultFile, DefaultLog, Edition, ErrorLogPath | convertto-html -PreContent "<h1>Settings</h1>" -Fragment | Out-String
$Instanceinfo = $instanceinfo -replace "<th>", "<th style=`"background-color:#4CAF50`">"
$InstanceInfo = $InstanceInfo -replace "<table>", "<table class=`"table table-bordered table-hover`" style=`"width:80%`">"
$DatabasesHTML = $Databases | ConvertTo-Html -fragment -PreContent "<h3>Database Settings</h3>" | Out-String
$DatabasesHTML = $DatabasesHTML -replace "<th>", "<th style=`"background-color:#4CAF50`">"
$DatabasesHTML = $DatabasesHTML -replace "<table>", "<table class=`"table table-bordered table-hover`" style=`"width:80%`">"
$output = $InstanceInfo,$DatabasesHTML | out-file "C:\Temp\Output.html"
}