Получаем список БД на MS SQL сервере с помощью Powershell для Zabbix

Скрипт получает список БД и делает json для последующего использования в zabbix.

[string] $server = $env:COMPUTERNAME

$pServerBLLogin = "login"
$pServerBLPass = "pwd"

$securePassword = $pServerBLPass | ConvertTo-SecureString -AsPlainText -Force;   
$credential = New-Object System.Management.Automation.PSCredential($pServerBLLogin, $securePassword);

$discoverDB = Invoke-Command -ComputerName $server -Credential $credential -ScriptBlock {
    $res=Invoke-Sqlcmd -ServerInstance $server -Database master -Query 'SELECT name, database_id, create_date FROM sys.databases; ' 
    return $res
    } 

[string]$jsonBody= ""

foreach ($DbName in $discoverDB.name)
{
   $jsonBody += '{"{#DBName}":"' +  $DbName + '"},'
}


$jsonBody = $jsonBody.Substring(0,$jsonBody.Length-1) 

$jsonFull = '{"data":[' + $($jsonBody -replace ',\s$') + ']}'
$jsonFull 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *