Датчик PRTG, показывающий, является ли «change logon / q» true / false - Batch-file / Powershell-file - PullRequest
0 голосов
/ 15 мая 2019

Я не профессиональный программист, поэтому прошу прощения за любые ошибки, которые я делаю с условиями & co. Я хочу создать собственный датчик для PRTG, который показывает, возможен ли вход на моем терминальном сервере или нет. PRTG предлагает возможность использования Batch-файлов или Powershell-файлов. Моя первая мысль была

change logon /q

потому что это отлично отображает то, что я хочу знать. Но я не знаю, как заставить это работать. Кажется, у меня есть проблема с возвращаемым значением, я думаю, что мне нужно возвращение, как:

value:message

Может быть, это поможет:

A description of PRTG for custom sensors

Любая помощь будет высоко ценится.

Ответы [ 3 ]

0 голосов
/ 15 мая 2019

Если требуется только код выхода, то в пакетном режиме это должно работать:

change logon /q
echo %errorlevel%

Затем вы можете перевести его, построив список:

change logon /q
goto :%errorlevel
:0
echo 0:Ok
goto :eof
:1
echo 1:Warning
goto :eof
:2
echo 2:System Error
goto :eof
:3
echo 3:Protocol Error
goto :eof
:4
echo 4:Content Error
goto :eof

Где вышесписок - только маленький пример.

0 голосов
/ 17 мая 2019

Так что я нашел ответ, для всех, у кого может быть такая же проблема.

gwmi win32_terminalservicesetting -N "root\cimv2\terminalservices" | %{
if ($_.logons -eq 1){
"Disabled"}
Else {
switch ($_.sessionbrokerdrainmode)
{
0 {"Enabled"}
1 {"DrainUntilRestart"}
2 {"Drain"}
default {"something’s not right here!"}
}
}
}

Этот код соответствует "изменить логин / запрос

Источник: Ссылка

0 голосов
/ 15 мая 2019

В соответствии с указаниями, которыми вы поделились, вам необходимо вернуть код значения и сообщение, разделенное двоеточием.Попробуйте этот сценарий PowerShell:

$Result = change logon /q
Return "0:$Result"
...