开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 1101|回复: 7
收起左侧

[已解决] 如何获取远程服务器桌面连接状态

 关闭 [复制链接]
结帖率:91% (60/66)
发表于 2023-7-2 09:33:27 | 显示全部楼层 |阅读模式   浙江省杭州市
10精币
因为工作需要,windows服务器需要多个人远程处理。有没有办法能否检测服务器是否被远程链接中,也就是获取其状态? 哪位大佬能否给个范例

最佳答案

查看完整内容

回答的乱七八糟,论坛下载一个TCP网络连接源码,判断3389被连接IP了就是被远程了。也可以看到哪个IP连接了。 补充内容 (2023-7-2 19:17): https://bbs.125.la/forum.php?mod=viewthread&tid=14755436&highlight=%E7%BD%91%E7%BB%9C%E8%BF%9E%E6%8E%A5

回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值无答案申请取消悬赏投诉有答案未采纳为最佳
结帖率:67% (18/27)

签到天数: 3 天

发表于 2023-7-2 09:33:28 | 显示全部楼层   河北省张家口市
回答的乱七八糟,论坛下载一个TCP网络连接源码,判断3389被连接IP了就是被远程了。也可以看到哪个IP连接了。

补充内容 (2023-7-2 19:17):
https://bbs.125.la/forum.php?mod ... C%E8%BF%9E%E6%8E%A5
回复

使用道具 举报

结帖率:100% (25/25)

签到天数: 4 天

发表于 2023-7-2 09:58:05 | 显示全部楼层   贵州省遵义市
要判断服务器是否被远程连接,您可以考虑以下方法:

查看活动的连接:使用命令行工具(如netstat)或系统监控工具(如htop、top)来查看当前与服务器建立的活动连接。这些工具可以显示当前与服务器建立的连接的IP地址和端口号。

检查日志文件:查看服务器的系统日志文件,如/var/log/auth.log(对于Linux系统)或Event Viewer(对于Windows系统),以查看是否有远程连接的记录。您可以搜索关键字,如"SSH"、"RDP"等,以找到与远程连接相关的日志条目。

使用安全工具:使用安全工具来监控和检测远程连接。例如,您可以使用防火墙工具来查看当前的网络连接和连接的来源IP地址。您还可以使用入侵检测系统(IDS)或入侵防御系统(IPS)来检测潜在的远程连接。

监控登录活动:监控服务器上的登录活动,包括通过SSH、RDP等远程登录方式。您可以查看登录日志文件,如/var/log/secure(对于Linux系统)或Security Event Log(对于Windows系统),以查看是否有远程登录的记录。

请注意,这些方法提供了一些常见的方式来判断服务器是否被远程连接,但并不能保证绝对的安全。为了确保服务器的安全性,建议采取安全措施,如使用强密码、限制远程登录方式、定期更新和监控系统等。

点评

又是chatgpt   河南省洛阳市  发表于 2023-7-2 10:35
回复

使用道具 举报

结帖率:86% (48/56)
发表于 2023-7-2 10:36:31 | 显示全部楼层   河南省洛阳市
要确定远程桌面是否已经有人连接,可以通过检查远程桌面服务的连接数来进行判断。在 Windows 系统中,你可以使用 PowerShell 脚本来获取远程桌面连接的信息。以下是一个示例的 PowerShell 脚本:

```powershell
$serverName = "远程桌面服务器名称"

# 获取远程桌面连接数
$rdpSessions = (quser /server:$serverName | Measure-Object).Count

# 判断是否有人已经连接
if($rdpSessions -gt 0) {
    Write-Output "远程桌面已连接"
} else {
    Write-Output "远程桌面未连接"
}
```

将上述脚本中的 `远程桌面服务器名称` 替换为你要检查的远程桌面服务器的名称或 IP 地址。

这个脚本使用 `quser` 命令获取远程桌面连接的用户信息,并通过 `Measure-Object` 命令计算连接数。如果连接数大于零,则表示有人已经连接。

你可以将上述脚本保存为一个 `.ps1` 文件,并在 PowerShell 环境中执行,或者使用 `shell_exec` 函数在 PHP 中执行该脚本,以获取远程桌面连接状态的信息。

请注意,要运行 PowerShell 脚本,你需要在运行脚本的环境中具有足够的权限和访问级别。

希望对你有所帮助!如有其他问题,请随时提问。

都在用chatGPT我也来一个

点评

科技的力量   贵州省遵义市  发表于 2023-7-2 10:40
回复

使用道具 举报

结帖率:86% (48/56)
发表于 2023-7-2 10:37:27 | 显示全部楼层   河南省洛阳市
这个是PHP代码的

如果你想在代码中cha询远程桌面是否已连接,可以使用 Windows 的 WMI (Windows Management Instrumentation) 功能。具体来说,你可以使用 `Win32_Process` 类和 `Query` 方法来检查是否存在远程桌面进程。以下是一个示例的 PHP 代码:

```php
<?php
$serverName = "远程桌面服务器名称";

$connectionOptions = array(
    'authentication' => COM_AUTHENTICATION_DEFAULT,
    'impersonation' => COM_IMPERSONATION_NONE
);

$wmiLocator = new COM("WbemScripting.SWbemLocator");
$wmiService = $wmiLocator->ConnectServer($serverName, 'root\CIMV2', '', '', '', '', 0, $connectionOptions);
$wmiQuery = "SELECT ProcessId, Name FROM Win32_Process WHERE Name = 'rdpclip.exe'";

$wmiResult = $wmiService->ExecQuery($wmiQuery);

if ($wmiResult->Count() > 0) {
    echo "远程桌面已连接";
} else {
    echo "远程桌面未连接";
}
```

将上述代码中的 `远程桌面服务器名称` 替换为你要cha询的远程桌面服务器的名称或 IP 地址。

该代码使用 COM 对象调用了 WMI 功能,并执行了一个 WQL (WMI Query Language) cha询语句,以检查是否存在名为 `rdpclip.exe` 的远程桌面进程。如果cha询结果中存在进程,则表示远程桌面已连接。

需要注意的是,PHP 环境中需要启用 COM 对象并具有足够的权限才能执行该代码。

希望以上信息对你有所帮助!如果还有其他问题,请随时提问。
回复

使用道具 举报

结帖率:95% (187/196)

签到天数: 4 天

发表于 2023-7-2 11:24:16 | 显示全部楼层   浙江省丽水市
服务器上取在线用户,通过PHP 或者 HTML 发布一下
好像还有个API的 我忘了。。。。。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表