Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Помогите разобраться со скриптом (http://forum.oszone.net/showthread.php?t=356425)

rline 25-07-2025 19:20 3039149

Помогите разобраться со скриптом
 
Здравствуйте!
Имеется вот такой скрипт VB, распространяемый групповой политикой и установленный на вход пользователя в систему.

Set objSysInfo = CreateObject("ADSystemInfo")
Set objNetwork = CreateObject("WScript.Network")
Set objUser = GetObject("LDAP://" & objSysInfo.UserName)
Dim Info
Set Info = CreateObject("ADSystemInfo")
GetDomainDNSName = Info.DomainDNSName
objUser.Put "aUserComputerLaber", objNetwork.ComputerName & "." & Info.DomainDNSName
objUser.SetInfo

Но при входе пользователь получает ошибку.



Очевидно, не хватает прав. Скажу сразу, что в программировании я не разбираюсь и этот скрипт писал кто-то до меня. Но из того, что я нагуглил, я сделал вывод, что это скрипт пишет информацию в атрибут AD "aUserComputerLaber". Но у пользователей нет права писать в этот атрибут, собственно под доменным админом такой ошибки не возникает, что логично.
Убедиться в этом можно запустив от имени пользователя оснастку и отфильтровав атрибуты недоступные для записи.



Как видим атрибут "aUserComputerLaber" не входит в список доступных для записи.

Пытался делегировать права. Выбрал одного пользователя. Затем создал особую задачу для делегирования. Выбрал тип объектов Пользователь, выбрал функцию "Отображать разрешения для свойств". И отметил чтение и запись для объекта "aUserComputerLaber".



Результат делегирования по завершении мастера:

Выбрано делегирование управления объектами
в следующей папке Active Directory:

#####.biz/#######/Отдел #######
Группы, пользователи или компьютеры, которым
передано управление:

#### ##### ##### (####.#####@#####.biz)

Они имеют следующие разрешения:

Чтение aUserComputerLaber
Запись aUserComputerLaber

Для следующих типов объектов:

Пользователь


Но фокус не удался, ошибка никуда не делась. Собственно вопрос как избавиться от ошибки?

DJ Mogarych 26-07-2025 00:36 3039159

А обязательно писать именно в этот атрибут?

У меня в своё время работал скрипт Powershell, пишущий имя компьютера, время входа в систему и время загрузки компьютера в атрибуты учётки самого пользователя, которые доступны ему на запись.

http://forum.oszone.net/post-2889487.html#post2889487

rline 26-07-2025 21:06 3039204

Цитата:

Цитата DJ Mogarych
А обязательно писать именно в этот атрибут? »

Поскольку не я этот скрипт придумал, то не могу сказать насколько это обязательно.

Цитата:

Цитата DJ Mogarych
в атрибуты учётки самого пользователя »

Так это вроде бы и есть атрибут учётки пользователя. Только надо понять почему он не доступен для записи и как сделать его доступным.

DJ Mogarych 27-07-2025 10:23 3039225

Включите View / Advanced Features в оснастке "Пользователи и Компьютеры".
Потом зайдите в свойства OU, где содержатся пользователи, на вкладку Безопасность и сделайте что нужно.



Ну либо в скрипте смените атрибут на доступный на запись.


Время: 17:27.

Время: 17:27.
© OSzone.net 2001-

 

 


Цитата DJ Mogarych
Потом зайдите в свойства OU, где содержатся пользователи, на вкладку Безопасность и сделайте что нужно. »

Зашёл. Только в моей версии WinServer это выглядит немного по другому.



У подопытного пользователя разрешения на это атрибут есть. Но ошибка всё равно сохранятся.

Время: 21:53.

Время: 21:53.
© OSzone.net 2001-