我不是专业程序员,所以请原谅我在条款和公司方面犯的任何错误。我想为 PRTG 构建一个自定义传感器,显示是否可以在我的终端服务器上登录。PRTG 提供了使用批处理文件或 Powershell 文件的可能性。我的第一个想法是
change logon /q
因为这确实完美地显示了我想知道的内容。但我不知道如何让这个工作。看来我的返回值有问题,我想我需要一个类似的返回:
value:message
也许这有帮助:
任何帮助将非常感激。
我不是专业程序员,所以请原谅我在条款和公司方面犯的任何错误。我想为 PRTG 构建一个自定义传感器,显示是否可以在我的终端服务器上登录。PRTG 提供了使用批处理文件或 Powershell 文件的可能性。我的第一个想法是
change logon /q
因为这确实完美地显示了我想知道的内容。但我不知道如何让这个工作。看来我的返回值有问题,我想我需要一个类似的返回:
value:message
也许这有帮助:
任何帮助将非常感激。
如果它纯粹是所需的退出代码,那么这应该可以批量工作:
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
上面的列表只是一个小例子。
根据您分享的指南,您需要返回一个值代码和一条用冒号分隔的消息。试试这个 PowerShell 脚本:
$Result = change logon /q
Return "0:$Result"
所以我为每个可能有同样问题的人找到了答案。
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!"}
}
}
}
此代码等于“更改登录/查询
来源:链接