我不是一个专业的程序员,所以请原谅我在terms & co上犯的任何错误。我想为PRTG构建一个自定义传感器,以显示是否可以登录到我的终端服务器。PRTG提供了使用批处理文件或Powershell文件的可能性。我的第一个想法是
change logon /q因为这确实完美地展示了我想知道的东西。但我不知道怎么才能让它工作。似乎我的返回值有问题,我想我需要一个返回值,就像:
value:message也许这会有帮助:

任何帮助都将不胜感激。
发布于 2019-05-15 18:25:33
根据您所分享的指导,您需要返回一个值代码和一条用冒号分隔的消息。在PowerShell脚本中尝试以下内容:
$Result = change logon /q
Return "0:$Result"发布于 2019-05-15 18:33:47
如果它纯粹是所需的退出代码,那么在批处理中这应该是有效的:
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-17 15:59:28
所以我找到了一个答案,对于每个可能有同样问题的人。
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!"}
}
}
}此代码等于"change logon /query“
来源:Link
https://stackoverflow.com/questions/56145958
复制相似问题