在我的工作场所,我们有用于进行测试的实验室机器。
预留一台机器进行测试的标准程序是在办公室里走动,以确保没有人在使用这台机器。
这是非常低效且耗时的。
起初,我建立了一个网页,人们可以在其中预订实验室机器,但没有人保持页面更新,结果证明它毫无用处。
我终于找到了一个使用微软日志解析器的解决方案,并想把它分享给堆栈溢出社区。
它是在机器上运行的批处理文件,因此用户可以识别最后使用机器的用户并轻松地向他们发送 IM 以询问机器是否空闲。
有没有更好的解决方案来做到这一点?
使用内置命令qwinsta(Query Win Station)来确定哪些会话(包括控制台)处于活动状态或处于非活动状态(断开连接),然后根据给定的信息采取行动(信任 krusty.ar 顺便说一句已经链接了)。
如果您觉得人们在滥用相关机器,请参考rwinsta以将他们的会话彻底遗忘......
您将需要安装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 与他们联系以验证他们是否已完成。
如何将日志文件中的信息发布到网站上,告诉谁当前正在使用机器。
完全开箱即用:
您可以在服务器和桌面上安装软件测试自动化框架 (STAF)来管理您的测试。它是用 Java 编写的,因此您可以在 Windows 和 Unix/Linux 桌面和服务器上使用它。
使用 STAF,您可以创建一个测试服务器资源池,在其上进行测试,然后编写 STAX 作业(STAX 是一个 STAF 执行框架)来进行测试。该作业可以从资源池中获取第一台可用的服务器,运行测试,监控测试状态,记录结果,通知提交者,然后在完成后将服务器释放回池中。如果您有多个人提交测试作业,STAF 将管理请求队列并在他们进来时满足他们。用户可以从他们的桌面监控作业,或者您可以设置电子邮件警报以在测试完成时通知他们.
我不确定我是否理解你,但是有一组命令行工具可以处理终端服务器会话,如果你需要从程序中执行此操作,还有一个Windows API可以执行相同的操作。
由于听起来您是一家微软商店,因此您可以将机器设置为 Outlook/exchange 中的资源并以这种方式保留它们。