Zabbix LLD и PowerShell

Чтобы с помощью PowerShell вывести список элементов для низкоуровневого обнаружения для Zabbix-а, удобно использовать подобную конструкцию:

mssql.discovery.ps1
1
2
3
4
$MSSQLDatabases = @{ data = @(); }
Set-Location "SQLSERVER:\SQL\localhost\DEFAULT\Databases"
$MSSQLDatabases.data = Get-ChildItem -Force | Select-Object -Property @{Name="{#MSSQLDATABASE}"; Expression = {$_.Name}}
$MSSQLDatabases | ConvertTo-Json

На выходе будет JSON нужного нам вида:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
    "data":  [
                 {
                     "{#MSSQLDATABASE}":  "master"
                 },
                 {
                     "{#MSSQLDATABASE}":  "model"
                 },
                 {
                     "{#MSSQLDATABASE}":  "msdb"
                 },
                 {
                     "{#MSSQLDATABASE}":  "tempdb"
                 }
             ]
}

Комментарии