0

我不是专业程序员,所以请原谅我在条款和公司方面犯的任何错误。我想为 PRTG 构建一个自定义传感器,显示是否可以在我的终端服务器上登录。PRTG 提供了使用批处理文件或 Powershell 文件的可能性。我的第一个想法是

change logon /q

因为这确实完美地显示了我想知道的内容。但我不知道如何让这个工作。看来我的返回值有问题,我想我需要一个类似的返回:

value:message

也许这有帮助:

用于定制传感器的 PRTG 描述

任何帮助将非常感激。

4

3 回答 3

0

如果它纯粹是所需的退出代码,那么这应该可以批量工作:

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

上面的列表只是一个小例子。

于 2019-05-15T10:33:46.693 回答
0

根据您分享的指南,您需要返回一个值代码和一条用冒号分隔的消息。试试这个 PowerShell 脚本:

$Result = change logon /q
Return "0:$Result"
于 2019-05-15T10:25:33.467 回答
0

所以我为每个可能有同样问题的人找到了答案。

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!"}
}
}
}

此代码等于“更改登录/查询

来源:链接

于 2019-05-17T07:59:27.923 回答