diff --git a/Src/Private/Get-VbrBackupServerInfo.ps1 b/Src/Private/Get-VbrBackupServerInfo.ps1 index 202d775..9c16dff 100644 --- a/Src/Private/Get-VbrBackupServerInfo.ps1 +++ b/Src/Private/Get-VbrBackupServerInfo.ps1 @@ -37,19 +37,32 @@ function Get-VbrBackupServerInfo { } catch {$_} if ($VeeamDBInfo11.SqlServerName) { - $VeeamInfo = $VeeamDBInfo11 + $VeeamDBInfo = $VeeamDBInfo11.SqlServerName } elseif ($VeeamDBInfo12.SqlServerName) { - $VeeamInfo = $VeeamDBInfo12 + $VeeamDBInfo = $VeeamDBInfo12.SqlServerName + } + elseif ($VeeamDBInfo12.SqlHostName) { + $VeeamDBInfo = Switch ($VeeamDBInfo12.SqlHostName) { + 'localhost' {$VBRServer.Name} + default {$VeeamDBInfo12.SqlHostName} + } } else { - $VeeamInfo = $VBRServer.Name + $VeeamDBInfo = $VBRServer.Name } try { if ($VBRServer) { + if ($VeeamDBInfo -eq $VBRServer.Name) { + $Roles = 'Backup and Database' + $DBType = $VeeamDBFlavor.SqlActiveConfiguration + } else { + $Roles = 'Backup Server' + } + $Rows = @{ - Role = 'Backup Server' + Role = $Roles IP = Get-NodeIP -HostName $VBRServer.Name } @@ -57,6 +70,10 @@ function Get-VbrBackupServerInfo { $Rows.add('Version', $VeeamVersion.DisplayVersion) } + if ($VeeamDBInfo -eq $VBRServer.Name) { + $Rows.add('DB Type', $DBType) + } + $script:BackupServerInfo = [PSCustomObject]@{ Name = $VBRServer.Name.split(".")[0] Label = Get-NodeIcon -Name "$($VBRServer.Name.split(".")[0])" -Type "VBR_Server" -Align "Center" -Rows $Rows @@ -66,28 +83,41 @@ function Get-VbrBackupServerInfo { catch { $_ } - try { - $DatabaseServer = $VeeamInfo.SqlServerName + $DatabaseServer = $VeeamDBInfo + if ($VeeamDBFlavor.SqlActiveConfiguration -eq "PostgreSql") { + $DBPort = "$($VeeamDBInfo12.SqlHostPort)/TCP" + } else { + $DBPort = "1433/TCP" + } + if ($DatabaseServer) { $DatabaseServerIP = Get-NodeIP -HostName $DatabaseServer $Rows = @{ Role = 'Database Server' IP = $DatabaseServerIP + "DB Type" = $VeeamDBFlavor.SqlActiveConfiguration + } - if ($VeeamInfo.SqlInstanceName) { - $Rows.add('Instance', $VeeamInfo.SqlInstanceName) + if ($VeeamDBInfo.SqlInstanceName) { + $Rows.add('Instance', $VeeamDBInfo.SqlInstanceName) + } + if ($VeeamDBInfo.SqlDatabaseName) { + $Rows.add('Database', $VeeamDBInfo.SqlDatabaseName) } - if ($VeeamInfo.SqlDatabaseName) { - $Rows.add('Database', $VeeamInfo.SqlDatabaseName) + + if ($VeeamDBFlavor.SqlActiveConfiguration -eq "PostgreSql") { + $DBIconType = "VBR_Server_DB_PG" + } else { + $DBIconType = "VBR_Server_DB" } $script:DatabaseServerInfo = [PSCustomObject]@{ Name = $DatabaseServer.split(".")[0] - Label = Get-NodeIcon -Name "$($DatabaseServer.split(".")[0])" -Type "VBR_Server_DB" -Align "Center" -Rows $Rows - DBPort = "1433/TCP" + Label = Get-NodeIcon -Name "$($DatabaseServer.split(".")[0])" -Type $DBIconType -Align "Center" -Rows $Rows + DBPort = $DBPort } } } diff --git a/Src/Private/Images.ps1 b/Src/Private/Images.ps1 index 96c639c..bad8f0d 100644 --- a/Src/Private/Images.ps1 +++ b/Src/Private/Images.ps1 @@ -19,4 +19,5 @@ $Images = @{ 'VBR_Tape_Server' = 'Tape_Server.png' 'VBR_Tape_Library' = 'Tape_Library.png' 'VBR_Tape_Drive' = 'Tape_Drive.png' + "VBR_Server_DB_PG" = "PostGre_SQL_DB.png" } \ No newline at end of file diff --git a/icons/PostGre_SQL_DB.png b/icons/PostGre_SQL_DB.png new file mode 100644 index 0000000..52b0dc2 Binary files /dev/null and b/icons/PostGre_SQL_DB.png differ