5

在我的工作场所,我们有用于进行测试的实验室机器。

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

这是非常低效且耗时的。

起初,我建立了一个网页,人们可以在其中预订实验室机器,但没有人保持页面更新,结果证明它毫无用处。

我终于找到了一个使用微软日志解析器的解决方案,并想把它分享给堆栈溢出社区。

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

有没有更好的解决方案来做到这一点?

4

6 回答 6

8

使用内置命令qwinsta(Query Win Station)来确定哪些会话(包括控制台)处于活动状态或处于非活动状态(断开连接),然后根据给定的信息采取行动(信任 krusty.ar 顺便说一句已经链接了)。

如果您觉得人们在滥用相关机器,请参考rwinsta以将他们的会话彻底遗忘......

于 2009-02-18T22:20:57.943 回答
2

您将需要安装Microsoft 日志解析器

然后创建以下2个文件

TSLoginsDetails.sql

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

TSLogins.bat

echo off
cls
c:
cd "c:\Program Files\Log Parser 2.2\"
logparser.exe file:TSLoginsDetails.sql -o:DATAGRID

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

于 2009-02-18T21:33:12.817 回答
1

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

  1. 检查并在他们登录时通知。
  2. 更新了您之前制作的“谁在使用机器”页面。
  3. 运行一个 AT 作业,每隔几个小时检查一次谁在上面。
于 2009-02-18T21:40:34.093 回答
1

完全开箱即用:

您可以在服务器和桌面上安装软件测试自动化框架 (STAF)来管理您的测试。它是用 Java 编写的,因此您可以在 Windows 和 Unix/Linux 桌面和服务器上使用它。

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

于 2009-02-18T23:51:27.510 回答
0

我不确定我是否理解你,但是有一组命令行工具可以处理终端服务器会话,如果你需要从程序中执行此操作,还有一个Windows API可以执行相同的操作。

于 2009-02-18T22:08:51.030 回答
0

由于听起来您是一家微软商店,因此您可以将机器设置为 Outlook/exchange 中的资源并以这种方式保留它们。

于 2009-02-18T22:13:52.813 回答