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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Как менять поля на вкладке "Среда" в Active Directory?

Ответить
Настройки темы
PowerShell - [решено] Как менять поля на вкладке "Среда" в Active Directory?

Аватара для Charg

Ветеран


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


Конфигурация

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


Изменения
Автор: Charg
Дата: 03-05-2019
Интересуют это поле, если быть точным:
Скрытый текст


Нашел такой код:
Код: Выделить весь код
$dn  = (Get-ADUser -Identity "tsduser.a").DistinguishedName
$ext = [ADSI]"LDAP://$dn"
$ext.PSBase.InvokeSet("TerminalServicesInitialProgram","C:\program.exe")
$ext.SetInfo()
Который прекрасно отрабатывает если залогиниться под доменным админом на контроллер домена (Win Server 2016) и выполнить код оттуда с запуском powershell от админа (иначе метод SetInfo() ругается на недостачу прав):
Скрытый текст


Но это ведь глупо, хотелось бы дописать этот код в скрипт по созданию пользователей - и вот тут то код нифига не работает - под той же учетной записью с теми же правами (администратор домена, администратор схемы) с компьютера под Win10 LTSB 1607 с установленным RSAT (и соответственно всеми соответствующими powershell-модулями):
Скрытый текст


------

Версия павершелл и там и там идентичная
Все модули загруженные на стороне контроллера домена (Get-Module) подгружены и на Win10, тех же версий.
Учетная запись та же - права по идее должны быть идентичные.

Соответственно вопрос - как победить эту ошибку? Я уже не знаю куда копать.
Либо альтернативный вопрос - каким-нибудь другим способом эти аттрибуты меняются? Их нет в выводе Get-ADUser -Identity "tsduser.a" -Properties * в прямом виде, видимо оно как-то закодировано или хрен знает что это такое.

Отправлено: 10:17, 03-05-2019

 

Ветеран


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

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


На Windows 10 должна быть библиотека Tsuserex.dll(устанавливается RSAT - Remote Desktop Services Tools):

Скопировать с Windows Server 2016 на Windows 10(для Ru - версии может отличаться ru-RU):
Код: Выделить весь код
C:\Windows\System32\tsuserex.dll
C:\Windows\System32\en-US\tsuserex.dll.mui
Зарегистрировать в системе:
Код: Выделить весь код
regsvr32 c:\Windows\System32\tsuserex.dll
Это сообщение посчитали полезным следующие участники:

Отправлено: 23:53, 03-05-2019 | #2



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

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


Аватара для Charg

Ветеран


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

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


Kazun, спасибо, попробую в понедельник на работе.
RSAT то установлен конечно же, так что по идее библиотека должна быть. Может она просто автоматически не регистрируется...

Отправлено: 10:57, 04-05-2019 | #3


Аватара для Charg

Ветеран


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

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


Проверил, заработало, спасибо ещё раз.

Пока что наваял так:

Код: Выделить весь код
    #Check if DLLs exist and register if not
    if (!(Test-Path "$($env:windir)\System32\tsuserex.dll")) {
        try {
            [string]$DCshare = (Get-ADDomainController).hostname | Join-Path -ChildPath "admin$\System32"
            Copy-Item -Path "\\$($DCshare)\tsuserex.dll" -Destination "$($env:windir)\System32\tsuserex.dll" -Force
            Copy-Item -Path "\\$($DCshare)\en-US\tsuserex.dll.mui" -Destination "$($env:windir)\System32\en-US\tsuserex.dll.mui" -Force
            Copy-Item -Path "\\$($DCshare)\ru-RU\tsuserex.dll.mui" -Destination "$($env:windir)\System32\ru-RU\tsuserex.dll.mui" -Force
            regsvr32 /s "$($env:windir)\System32\tsuserex.dll"
        }
        catch [UnauthorizedAccessException] {
            [System.Windows.MessageBox]::Show("Требуется однократный запуск от имени администратора домена для копирования и регистрации библиотеки \\$($DCshare)\tsuserex.dll")
            return
        }
    }

Последний раз редактировалось Charg, 06-05-2019 в 17:22.


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



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Как менять поля на вкладке "Среда" в Active Directory?

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
2008 R2 - [решено] Имя пользователя на вкладке "Процессы" в "Диспетчере задач" dascon Windows Server 2008/2008 R2 3 18-10-2017 21:26
2008 R2 - Массовое изменение информации во вкладке "Среда" в AD Mescaline5115 Windows Server 2008/2008 R2 3 19-12-2014 17:01
VBS/WSH/JS - [решено] Добавить (изменить) "свойства" файла на вкладке "Особые" KlimTV Скриптовые языки администрирования Windows 1 23-05-2012 11:35
2008 R2 - [решено] Как удалить пользователей на вкладке "Безопасность"? zai Windows Server 2008/2008 R2 10 25-10-2011 13:16
"Внести принтер в Active Directory" - польза или вред? __sa__nya Microsoft Windows NT/2000/2003 5 18-08-2008 13:24




 
Переход