Как определить пользователей, которые подключены к серверу Windows через удаленный рабочий стол - PullRequest
5 голосов
/ 19 февраля 2009

На моем рабочем месте у нас есть лабораторные машины, которые мы используем для нашего тестирования.

Стандартная процедура зарезервировать машину для тестирования состояла в том, чтобы обойти офис, чтобы убедиться, что никто не использовал машину.

Это очень неэффективно и требует много времени.

Сначала я создал веб-страницу, где люди могли зарезервировать лабораторный компьютер, но никто не обновлял страницу, так что она оказалась бесполезной.

Наконец-то я нашел решение с использованием парсера журнала Microsoft и хотел поделиться им с сообществом переполнения стека.

Это пакетный файл, который запускается на машине, поэтому пользователь может идентифицировать последних пользователей, которые используют машину, и легко отправлять им мгновенные сообщения, чтобы спросить, свободна ли машина.

Есть ли лучшее решение для этого?

Ответы [ 6 ]

8 голосов
/ 19 февраля 2009

Используйте встроенную команду qwinsta (Query Win Station), чтобы выяснить, какие сеансы (включая консоль) активны или неактивны (отключены), а затем воздействовать на данную информацию (спасибо krusty.ar, кстати, за то, что связали это уже).

Если вы чувствуете, что люди злоупотребляют рассматриваемой машиной, обратитесь к rwinsta , чтобы уничтожить их сеансы в забвении ...

2 голосов
/ 19 февраля 2009

Вам потребуется установить Microsoft Log Parser

Затем создайте следующие 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, чтобы убедиться, что они сделаны.

1 голос
/ 19 февраля 2009

Совершенно из коробки:

Вы можете установить Software Testing Automation Framework (STAF) на свои серверы и рабочие столы для управления вашими тестами. Он написан на Java, поэтому вы можете использовать его на настольных компьютерах и серверах Windows и Unix / Linux.

Используя STAF, вы можете создать пул ресурсов тестовых серверов, на которых вы проводите тесты, а затем написать задания STAX (STAX - это среда выполнения STAF) для проведения тестов. Задание может получить первый доступный сервер из пула ресурсов, запустить тест, проследить за состоянием теста, записать результаты, уведомить отправителя, а затем выпустить сервер обратно в пул после завершения. Если у вас есть несколько человек, отправляющих задания на тесты, STAF будет управлять очередью запросов и удовлетворять их по мере поступления. Пользователи могут либо отслеживать работу со своего рабочего стола, либо вы можете настроить оповещения по электронной почте, чтобы уведомлять их о завершении теста .

1 голос
/ 19 февраля 2009

Как насчет публикации информации из файла журнала на веб-сайте, который также сообщает, кто в данный момент использует аппарат.

  1. Проверьте и сообщите, когда они войдут в систему.
  2. Обновлена ​​страница "Кто использует компьютер", которую вы создали ранее.
  3. Запустите задание AT, которое каждые несколько часов проверяет, кто на нем.
0 голосов
/ 19 февраля 2009

Поскольку это звучит так, как будто вы магазин Microsoft, вы можете настроить машины в качестве ресурсов в outlook / exchange и зарезервировать их таким образом.

0 голосов
/ 19 февраля 2009

Я не уверен, что понимаю вас, но есть набор инструментов командной строки для работы с сеансами терминального сервера , а также Windows API для выполнения То же самое, если вам нужно сделать это из программы.

...