Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Серверные продукты Microsoft » Windows Server 2008/2008 R2 » 2008 R2 - Найти станцию, где выполнил вход пользователь.

Ответить
Настройки темы
2008 R2 - Найти станцию, где выполнил вход пользователь.

Старожил


Сообщения: 498
Благодарности: 44

Профиль | Сайт | Отправить PM | Цитировать


Да, вопрос странный, я обычно поступал как нацист и просто при создании пользователя указывал в качестве logonWorkstation только его собственную станцию и сервера, где могла появиться необходимость пройти явную аутентификацию (например, VDI брокер и т.д.).
Но вот я пришел в организацию, имена машин не несут смысловой нагрузки, все в одном дефолтном OU, пользователи тоже в дефолтном OU, для переименования машин и разнесения их по OU нужно выяснить кому они принадлежат.
Вариант 1. - использовал логон bat echo %date% %time% %computername% %username% >> \\шара\файл.txt - но все в куче (хотя работает).
Вариант 2 - VBS с обращением к LDAP. Я в vbs не могу и честно украл, хотя скрипт довольно простой (он пишет в атрибут "отдел" пользователя на какой компьютер он заходил, а компьютеру - какой пользователь на него заходил):
Код: Выделить весь код
On Error Resume Next
Dim adsinfo, ThisComp, oUser

Set adsinfo = CreateObject("adsysteminfo")
Set ThisComp = GetObject("LDAP://dc" & adsinfo.ComputerName)
Set oUser = GetObject("LDAP://dc" & adsinfo.UserName)

Thiscomp.put "Department", "Logged on: " + oUser.cn + " " + CStr(Now)
ThisComp.Setinfo

oUser.put "Department", "Logged on: " + ThisComp.cn + " " + CStr(Now)
oUser.Setinfo
Я дал права на запись в компьютер и пользователя для теста, скрипт отработал 1 раз и все о_О. После этого пытался запускать на разных машинах, от имени доменного администратора - больше он не работает. Кто-то может подсказать в чем проблема?

Отправлено: 12:43, 31-10-2014

 

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата nokogerra:
Кто-то может подсказать в чем проблема? »
Уберёте «On Error Resume Next» — узнаете.
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:15, 31-10-2014 | #2



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

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


Старожил


Сообщения: 498
Благодарности: 44

Профиль | Сайт | Отправить PM | Цитировать


Добрый день, спасибо за ответ.
Если так:
читать дальше »

Код: Выделить весь код
Dim adsinfo, ThisComp, oUser

Set adsinfo = CreateObject("adsysteminfo")
Set ThisComp = GetObject("LDAP://dc" & adsinfo.ComputerName)
Set oUser = GetObject("LDAP://dc" & adsinfo.UserName)

Thiscomp.put "Department", "Logged on: " + oUser.cn + " " + CStr(Now)
ThisComp.Setinfo

oUser.put "Department", "Logged on: " + ThisComp.cn + " " + CStr(Now)
oUser.Setinfo

То вывод такой:
Код: Выделить весь код
c:\script.vbs (4, 1) (null): Такой объект на сервере отсутствует.
Не понятно о каком объекте речь, тем более что 1 раз этот скрипт все-таки отработал. Объекты пользователя (под сеансом которого запускается скрипт) и компьютера, на котором это делается - точно существуют в базе того КД, куда происходит обращение ("LDAP://dc"). Если речь о каких-то других объектах - поясните пожалуйста.

Отправлено: 06:18, 05-11-2014 | #3


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата nokogerra:
Не понятно о каком объекте речь »
Об объекте, который Вы пытаетесь получить:
Код: Выделить весь код
…GetObject("LDAP://dc" & adsinfo.ComputerName)
полагаю.

Цитата nokogerra:
тем более что 1 раз этот скрипт все-таки отработал. »
Когда? С «On Error Resume Next»?
Это сообщение посчитали полезным следующие участники:

Отправлено: 06:22, 05-11-2014 | #4


Старожил


Сообщения: 498
Благодарности: 44

Профиль | Сайт | Отправить PM | Цитировать


Да, с «On Error Resume Next», и в атрибут "department" пользователя было записано имя машины, на которой этот скрипт был выполнен, но как я сказал ранее, произошло это только 1 раз.

Цитата Iska:
Об объекте, который Вы пытаетесь получить:
Код:
…GetObject("LDAP://dc" & adsinfo.ComputerName) »
я пытаюсь получить имя компьютера текущего компьютера, и как я сказал, учетная запись компьютера существует.

Отправлено: 11:22, 05-11-2014 | #5


Ветеран


Сообщения: 1630
Благодарности: 220

Профиль | Отправить PM | Цитировать


В чем разница с первоисточником?
http://sysrtfm.ru/windows-sever-2008...jn-vbs-skript/

Цитата:
дальше пользователям дается право на запись в поле «Description» учетных записей их компьютеров. скрипт выполняющийся при входе записывает description logoff и наоборот.
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:34, 05-11-2014 | #6


Старожил


Сообщения: 498
Благодарности: 44

Профиль | Сайт | Отправить PM | Цитировать


Это не тот первоисточник, где я брал скрипт. Там description, у меня department, какая разница в какой атрибут писать?

Отправлено: 14:03, 05-11-2014 | #7


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата nokogerra:
Да, с «On Error Resume Next» »
nokogerra, вот с «On Error Resume Next» он как раз и не выполнился.

Зачем там:
Код: Выделить весь код
Set ThisComp = GetObject("LDAP://dc" & adsinfo.ComputerName)
и ниже:
Код: Выделить весь код
Set oUser = GetObject("LDAP://dc" & adsinfo.UserName)
«dc»? Откуда оно взялось? Зачем нужно? Что сие должно означать?
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:24, 05-11-2014 | #8


Ветеран


Сообщения: 1630
Благодарности: 220

Профиль | Отправить PM | Цитировать


Цитата nokogerra:
Это не тот первоисточник, где я брал скрипт. Там description, у меня department, какая разница в какой атрибут писать? »
Может Вы брали скрипт у копировщика этого первоисточника, и description и department может быть свободен для записи и собственно для вашей задачи и все из изображенной книги с моржом. (Description удобнее, т.к. по-умолчанию высвечивается колонкой в AD как там на скрине показано)

Главное, что тот скрипт работает и, как видите, он без dc и с дополнительными пояснениями о правах в комментариях

Последний раз редактировалось alef2474, 05-11-2014 в 17:59.

Это сообщение посчитали полезным следующие участники:

Отправлено: 17:01, 05-11-2014 | #9


Старожил


Сообщения: 498
Благодарности: 44

Профиль | Сайт | Отправить PM | Цитировать


Спасибо обоим за ответы и терпение.
Вы оба были правы, а я нет. Однако, это магия, при первом тесте я решил не заморачиваться с правами и просто дал полные права на конкретные объекты (на пользователя и на компьютер) определенному пользователю. Записи в атрибутах не появились, и я решил добавить сервер подключения, как указано в этой статье http://www.askit.ru/custom/progr_adm...p_provider.htm, после этого , как я говорил, скрипт отработал 1 раз. Убрал сервер подключения из скрипта, убрал полные права и сделал делегирование только на запись в атрибут "Описание" - работает. Не могу понять в чем была проблема, очевидно я где-то запутался. Собственно, метод работает.

P.S. вопрос не в тему - чем принципиально отличается делегирование прав через мастер от назначения оных во вкладке "Безопасность" кроме "удобства" (например, я могу добавить права на запись атрибута "описание" дочерних объектов OU типа "компьютер" и через "Безопасность")? И как отменить делегирование прав? Через "Безопасность"?

Отправлено: 08:34, 06-11-2014 | #10



Компьютерный форум OSzone.net » Серверные продукты Microsoft » Windows Server 2008/2008 R2 » 2008 R2 - Найти станцию, где выполнил вход пользователь.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Где правда?И где найти?C&C Jullian BrennanEG Хочу все знать 3 08-04-2011 19:42
Где в Администрирование можно урезать права пользователь! UTU Microsoft Windows 2000/XP 4 03-12-2006 00:44
а где найти... kartyn Программирование и базы данных 3 19-12-2005 23:13
Explorer выполнил недопустимую операцию snw Microsoft Windows 95/98/Me (архив) 8 13-05-2004 18:41




 
Переход