Как в ActiveDirectory скопировать значение атрибута?
В ActiveDirectory нужно значение атрибута Пользователя сделать значением атрибута Компьютера. Для наглядности того, чего я хочу:
— все пользователи AD имеют некий атрибут someUserAttribute;
— значение этого атрибута надо присвоить атрибуту someComputerAttribute компьютера, на котором залогонился пользователь.
В итоге и пользователь, и комп, имеют равные значения атрибутов someUserAttribute и someComputerAttribute.
Как это реализовать (вероятно, на PowerShell) так, чтобы указанные действия происходили при авторизации пользователя контроллером домена?
Кирилл: цель то какая? может есть путь проще чем копирование аттрибута? имя залогиненого юзера в описание пк? что вы хотите получить? HomeDimoN предложил верное направление, но в зависимости от того, что вы хотите получить, можно пойти тем или иным путем.
Nol Chetyre: Гуд, тогда подробнее скажу. Надо, чтобы при логине пользователя значение его атрибута (не важно какого, пусть будет userAttr1) копировалось в атрибут compAttr1 компьютера, на котором залогонился пользователь.
Когда пользователь разлогонился, то атрибуту compAttr1 компьютера присваивается пустое значение. Например пустая строка.
Я просто не понимаю, какой аттрибут необходимо скопировать, и какая цель преследуется. Может быть копирование аттрибутов из объекта пользователь в объект компьютер не имеет смысла в рамках данной задачи.
On Error Resume Next
Set objSysInfo = CreateObject("ADSystemInfo")
Set objNetwork = CreateObject("WScript.Network")
Set objUser = GetObject("LDAP://" & objNetwork.ComputerName)
objUser.Put "someComputerAttribute", objSysInfo.UserName
objUser.SetInfo