Perl-код для получения списка зарегистрированных пользователей Windows-сервера

Клиенты подключаются к серверу Windows с разными именами пользователей. Например:

  • client1 подключается к серверу с user1
  • client2 подключается к серверу с user2
  • client3 подключается к серверу с user3

Сейчас на сервере 3 зарегистрированных пользователя: user1, user2, user3.

Можно ли восстановить вошедших в систему пользователей и имя клиента? Я вижу это в диспетчере задач в форме пользователя, как показано на рисунке ниже:

список пользователей и клиентов в диспетчере задач

1 ответ

Решение

Я не использую Windows, но я могу достаточно Google, чтобы угадать решение.

Эта страница предполагает, что вы можете использовать query user чтобы получить список зарегистрированных пользователей.

Вы можете запустить эту команду в Perl и захватить вывод, используя qx[],

# All output in a scalar
my $users = qx[query users];

# One line of output per element in an array
my @users = qx[query users];

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

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

Другие вопросы по тегам