Получить имя текущего пользователя, запуская cmd от другого пользователя.
Доброго дня.
Такая задача: Есть машины в домене, есть bat файл с определённым набором команд, запускаемый от имени пользователя с правами администратора, необходимо определить имя пользователя от которого выполнен вход на машину, для того что бы попасть в его профиль на данной машине и, возможно, выполнить некоторые действия от имени этого пользователя. Фактически задача сводится к тому что нужно поместить имя залогиневшегося пользователя в переменную, при условии что скрипт запущен от другого пользователя. Мне на ум приходит только определить пользователя от которого запущен процесс explorer.exe, но как это реализовать, ума не приложу. |
freegod, попробуйте передавать пакетному файлу имя пользователя посредством:
Код:
SomeBatch.cmd "%UserDomain%\%UserName%" Цитата:
|
Iska, К сожалению, так я получу имя пользователя от которого запущен пакетный файл, а мне нужно получить имя пользователя от которого запущен рабочий стол.
Объясняю ситуацию: Есть более 1000 машин в домене, на которые я, в связи со своими служебными обязанностями, подключаюсь и выполняю некоторый пакетный файл от своей учётной записи, с помощью скрипта, помимо действий выполняющихся только от имени администратора, мне необходимо попадать в папку пользователя работающего за этим ПК что бы выполнить определённый набор действий с файлами. Каждый раз задавать имя пользователя в ручную очень не удобно, поэтому хотелось бы получить имя пользователя который физически выполнил вход на машину. |
Код:
wmic path win32_computersystem get username | find "\" qwinsta /? |
|
Цитата:
Да, quser и qwinsta подходят. Подскажите как вырезать из выхлопа qwinsta | find "console" имя пользователя и поместить в переменную? |
Цитата:
Код:
@echo off |
Цитата:
Код:
@echo off |
Iska, Спасибо, ваш код работает. Это то что мне нужно.
alpap, К сожалению, ваш способ не работает, net user выдаёт только имена локальных пользователей, а не доменных. |
Цитата:
Код:
net.exe user /domain |
Цитата:
Собственно при выполнении, спустя пару минут контроллер домена показал мне список из нескольких десятков тысяч пользователей, данный список даже не влазит в консоль, ну и не подходит для моих целей. По моему, команда net user не даёт информации о залогинившихся пользователях на машине. |
Цитата:
|
Время: 16:19. |
Время: 16:19.
© OSzone.net 2001-