SCCM:通过检查按键鼠标移动来检测用户是否在场,是否可能?

时间:2013-02-20 11:58:20

标签: sccm

我对SCCM了解不多,但我想知道是否可以通过监控最后一次按键或鼠标移动的日期时间来猜测用户是否在他的电脑前。 这不需要非常准确(比如精确到5分钟)。

SCCM可以原生这样做吗?

如果是,我应该在客户端上安装什么(或者我应该更改哪些设置)?

如果不是,我可以创建自己的代理并与SCCM集成吗? C# - Detect time of last user interaction with the OS

如果仍然没有,那么我认为SCCM不是正确的工具。那我该怎么办?创建我自己的代理。在每台PC上启动(作为服务?)运行它。定期探测一个将它记录在数据库中的监听器(asp.net页面)?

我需要检查2000个用户的可用性。

Skype Enterprise如何检查用户的状态?我可以查询某种窗口服务来获取相同的信息吗?

2 个答案:

答案 0 :(得分:0)

Could SCCM do this natively ?

没有

if no, could I create my own agent and integrate with SCCM ?

是的,我不知道您使用的是哪个版本的sccm,但是您可以使用他们的SDK与sccm紧密集成。大多数都能够使用托管代码,但如果你想使用非托管的dll,你可以尝试visual studio附带的类型lib转换器,我已成功将他们的TSEnvironment.dll非托管库转换为托管代码库。创建自己的代理可能对您想要完成的工作有很大的帮助,您可以在需要时与客户端或服务器进行通信。

答案 1 :(得分:0)

您可以使用自定义“硬件”清单(MOF),填充空闲信息并以此方式将其报告回SCCM。自定义清单检索中的信息最终会出现在SCCM数据库中,因此您可以根据需要进行报告。

您可以像这样将用户输入空闲: How to detect inactive user   - 这是一个Windows API,因此您应该能够以您选择的托管/脚本语言查找代码示例。

然后,将该信息写入WMI。

创建一个SCCM包以按计划运行(每5分钟?),运行此脚本,然后运行SendSchedule.exe。

这可能不是最有效的方法,但这是利用SCCM传输数据的潜在解决方案。您还可以使用Web服务,只需创建一个将数据写入数据库的方法 - 它可能会更有效。