如何识别通过远程桌面连接到windows服务器的用户

如何识别通过远程桌面连接到windows服务器的用户,windows,logging,scripting,remote-desktop,event-log,Windows,Logging,Scripting,Remote Desktop,Event Log,在我的工作场所,我们有实验室机器用来做测试 预定一台机器进行测试的标准程序是在办公室里走动,以确保没有人在使用机器 这是非常低效和耗时的 起初,我建立了一个网页,人们可以在那里预订实验室机器,但没有人更新网页,结果证明这是无用的 我最终使用找到了一个解决方案,并希望将其共享给stack overflow社区 这是一个在机器上运行的批处理文件,因此用户可以识别最后使用机器的用户,并轻松地通过IM向他们询问机器是否空闲 有更好的解决方案吗?您需要安装 然后创建以下两个文件 TSLoginsDetai

在我的工作场所,我们有实验室机器用来做测试

预定一台机器进行测试的标准程序是在办公室里走动,以确保没有人在使用机器

这是非常低效和耗时的

起初,我建立了一个网页,人们可以在那里预订实验室机器,但没有人更新网页,结果证明这是无用的

我最终使用找到了一个解决方案,并希望将其共享给stack overflow社区

这是一个在机器上运行的批处理文件,因此用户可以识别最后使用机器的用户,并轻松地通过IM向他们询问机器是否空闲


有更好的解决方案吗?

您需要安装

然后创建以下两个文件

TSLoginsDetails.sql

TSLogins.bat


现在,通过将此批处理文件放在桌面上,用户可以看到谁是最后一个登录的人,并通过IM与他们联系,以验证他们是否已登录。

如何将日志文件中的信息发布到网站,告知当前正在使用机器的用户

  • 检查并通知他们何时登录
  • 更新了您之前创建的“谁在使用机器”页面
  • 运行一个AT作业,每隔几个小时检查一次谁在上面

  • 我不确定我是否理解您的意思,但是有一套,如果您需要从程序中执行此操作,也有一套相同的方法。

    因为听起来您是一家microsoft商店,您可以在outlook/exchange中将这些机器设为资源,并以这种方式保留。

    使用内置的命令qwinsta(查询Win Station)以确定哪些会话(包括控制台)处于活动状态或非活动状态(断开连接),然后根据给定的信息采取行动(creds到krusty.ar btw以链接此会话)


    如果您觉得有人正在滥用相关机器,请参阅rwinsta,让他们的会话完全被遗忘。

    完全开箱即用:

    您可以在服务器和台式机上安装来管理测试。它是用Java编写的,因此您可以在Windows和Unix/Linux台式机和服务器上使用它


    使用STAF,您可以创建一个测试服务器资源池,在其中执行测试,然后编写STAX作业(STAX是一个STAF执行框架)执行测试。作业可以从资源池中获取第一个可用的服务器,运行测试,监视测试状态,记录结果,通知提交者,然后在完成后将服务器释放回池中。如果有多人提交作业进行测试,STAF将管理请求队列,并在请求到达时满足他们。Us用户可以从桌面上监控作业,也可以设置电子邮件提醒,在测试完成时通知他们。

    你问了一个问题,然后在2分钟后回答了问题……你写博客了吗?这实际上被网站创建者认为是可以接受的。我认为这个问题应该更具问题性,但只向answ提问呃,你自己也很好。我甚至不认为它需要成为一个维基。这不是一个民意调查,也不是什么元讨论。我对这类事情没有异议。他有一个编程问题,自己解决了,并决定分享。如果我今天有更多的选票,我会投票支持他。@bthb:我觉得这也很奇怪。事实上,我怀疑没有他可能一直在玩这个网站(即,问一个问题,然后用另一个帐户登录以回答问题并收集代表),但中途搞糟了。然而,我认为EBGreen是正确的:)扩展它,以便在登录时,如果不是当前用户最后登录,设置警报以联系正确的人。(启动IM,预填充电子邮件,使用其他一些通知协议。)如果是当前用户,则不执行任何操作。这是否要求运行批处理文件的人员已经登录到相关计算机;换句话说,可能已经闯入了其他用户的会话?为什么不让用户使用自己的用户帐户登录到这些实验室机器?然后,当其他人尝试登录时,Windows只会告诉您另一个会话当前处于活动状态,它会告诉您是谁登录的。我们没有在工作场所设置域。只要你不停止别人启动的负载测试,你就可以中断别人的会话,这并不有害。我明白了。您是在运行您在这些实验室机器上开发的软件,还是它们只是测试单独运行的服务器的客户端?我这么问是因为听起来你们可能也都是以管理员权限登录测试机器的。好主意,我会调查一下。我认为问题更多的是合规性问题。OP已经有了一个调度系统,但没有使用。
    SELECT 
          timegenerated, 
          EXTRACT_TOKEN(Strings,1,'|') AS Domain, 
          EXTRACT_TOKEN(Strings,0,'|') AS User, 
          EXTRACT_TOKEN(Strings,3,'|') AS SessionName,
          EXTRACT_TOKEN(Strings,4,'|') AS ClientName,
          EXTRACT_TOKEN(Strings,5,'|') AS ClientAddress,
          EventID
    FROM Security 
    WHERE EventID=682 
    ORDER BY timegenerated DESC
    
    echo off
    cls
    c:
    cd "c:\Program Files\Log Parser 2.2\"
    logparser.exe file:TSLoginsDetails.sql -o:DATAGRID