Автоматический перенос компьютеров из ou computers

Обновлено: 02.07.2024

Организационная единица или, как обозначено в русской версии Windows server, подразделение (Organizational Unit) — это субконтейнер в Active Directory, в который можно помещать пользователей, группы, компьютеры и другие объекты AD. Подразделения (OU) управляются администраторами домена. Вы также можете настроить делегирование управления над подразделением с помощью мастера делегирования управления. OU могут быть вложенными, и к ним можно применять групповые политики.

Создание подразделения (OU)

OU можно создать с помощью Active Directory Administrative Center (ADAC), Active Directory Users and Computers (ADUC), командной строки и PowerShell.

Создание подразделения с помощью Active Directory Administrative Center

Давайте создадим подразделение с помощью ADAC:

Запустите Active Directory Administrative Center (dsac.exe).

Переключитесь в режим просмотра дерева и разверните домен или подразделение, в котором вы хотите разместить новое.

Щелкните правой кнопкой мыши на OU или домен, выберите «New. », а затем выберите Organizational Unit.


Появится окно создания подразделения:


Введите имя OU и нажмите OK, чтобы его создать.

Создание подразделения с помощью командной строки

Чтобы создать OU с помощью cmd, запустите dsadd.exe со следующими параметрами:

dsadd.exe ou "OU=testorg,DC=office,DC=local" -desc "TestOU"

Эта строчка создаст TestOU в домене с описанием "TestOU".

Создание подразделения с помощью Windows PowerShell

Для создания нового подразделения с помощью PowerShell нам нужно использовать команду New-ADOrganizationalUnit. Запустите PowerShell от имени администратора и введите следующее:

Import-Module ActiveDirectory
New-ADOrganizationalUnit "TestOU" -Description "TestOU"

Эта строчка создаст TestOU в домене с описанием "TestOU".

Удаление подразделения AD

Подразделения по умолчанию защищены от случайного удаления. Чтобы удалить его, нам нужно снять флажок Protected from Accidental Deletion в свойствах.

Удаление подразделения с помощью Active Directory Administrative Center

Откройте Active Directory Administrative Center (dsac.exe).

Переключитесь в режим просмотра дерева, разверните свой домен и найдите OU, которое вы хотите удалить. Щелкните OU правой кнопкой мыши и выберите “Delete”.

Появится окно подтверждение удаления:


Нажмите Yes для подтверждения. Если OU содержит дочерние объекты, нажмите еще раз.

Удаление подразделения с помощью командной строки

Для удаления OU с помощью командной строки необходимо использовать инструмент dsrm.exe в cmd, запущенном от имени администратора, со следующим синтаксисом:

dsrm.exe "OU=TestOU,DC=office,DC=local" -subtree

Эта строчка полностью удалит OU с любыми объектами внутри.

Удаление подразделения с помощью Windows PowerShell

Для удаления подразделения нам нужно использовать команду New-ADOrganizationalUnit в PowerShell запущенном от имени администратора:

Import-Module ActiveDirectory
Remove-ADObject -Identity "OU=TestOU,DC=office,DC=local" -Recursive -Confirm:$False

Эта строчка полностью удалит OU TestOU со всеми существующими в ней объектами.

Изменение подразделения AD

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

Изменение подразделения с помощью Active Directory Administrative Center

Откройте Active Directory Administrative Center (dsac.exe). Переключитесь в режим просмотра дерева и найдите OU, которую вам нужно изменить.

Щелкните на нем правой кнопкой мыши и выберите "Properties:". Измените свойства, которые вам нужны. Например, вы можете изменить описание или добавить менеджера.

Снимите флажок с параметра "Защищен от случайного удаления" и нажмите OK.


Изменение подразделения с помощью командной строки

Для того чтобы изменить OU, необходимо использовать dsmod.exe в cmd от имени администратора. Но в этом случае вы можете изменить только описание.

dsmod.exe ou "OU=TestOU,DC=office,DC=local" -desc "New Description"

Здесь мы назначаем " New Description " для TestOU.

Изменение подразделения с помощью Windows PowerShell

Команда Set-ADOrganizationalUnit используется для изменения OU. Она очень мощная, в отличие от dsmod.exe. Вы можете легко изменить множество параметров OU, таких как DistinguishedName, LinkedGroupPolicyObjects или ManagedBy. Вот пример того, как изменить параметр ManagedBy в OU:

Import-Module ActiveDirectory
Set-ADOrganizationalUnit -Identity "OU=TestOU,DC=office,DC=local" -ManagedBy "CN=User,CN=Users,DC=office,DC=local"

date

21.02.2017

directory

Active Directory

comments

комментариев 10

При включении компьютера в домен Active Directory при помощи GUI Windows или команды NETDOM.EXE,по умолчанию вновь созданный объект попадает в контейнер (OU) Computers, который является контейнером по-умолчанию для всех вновь созданный объектов типа «Computer».

Недостаток такого подхода заключается в том, что вы не можете назначить ни одной доменной групповой политики на OU Computers, и получается, что на новых компьютерах домена (потенциально небезопасных) вы просто не сможете применить специальные параметры безопасности (помимо стандартных для всего домена).

Разберемся, где же хранятся настройки, определяющие OU по-умолчанию для компьютеров домена. Откройте консоль Active Directory Users and Computers (как установить оснастку Active Directory в Windows 7), или же консоль ADSI Edit, при помощи контекстного меню перейдите в свойства домена, а затем перейдите на вкладку Attribute Editor.

Контейнер AD, в который попадают по-умолчанию новые компьютеры, определяются в атрибуте wellKnownObjects.

description: image

Атрибут wellKnownObjects содержит примерно такую информацию:

98 39 240 175 31 194 65 13 142 59 177 6 21 187 91 15, CN=redircomp.exeNTDS Quotas,DC=LABHOME,DC=local

244 190 146 164 199 119 72 94 135 142 148 33 213 48 135 219, CN=Microsoft,CN=Program Data,DC=LABHOME,DC=local

9 70 12 8 174 30 74 78 160 246 74 238 125 170 30 90, CN=Program Data,DC=LABHOME,DC=local

34 183 12 103 213 110 78 251 145 233 48 15 202 61 193 170, CN=ForeignSecurityPrincipals,DC=LABHOME,DC=local

24 226 234 128 104 79 17 210 185 170 0 192 79 121 248 5, CN=Deleted Objects,DC=LABHOME,DC=local

47 186 193 135 10 222 17 210 151 196 0 192 79 216 213 205, CN=Infrastructure,DC=LABHOME,DC=local

171 129 83 183 118 136 17 209 173 237 0 192 79 216 213 205, CN=LostAndFound,DC=LABHOME,DC=local

171 29 48 243 118 136 17 209 173 237 0 192 79 216 213 205, CN=System,DC=LABHOME,DC=local

163 97 178 255 255 210 17 209 170 75 0 192 79 215 216 58, OU=Domain Controllers,DC=LABHOME,DC=local

170 49 40 37 118 136 17 209 173 237 0 192 79 216 213 205, CN=Computers,DC=LABHOME,DC=local

169 209 202 21 118 136 17 209 173 237 0 192 79 216 213 205, CN=Users,DC=LABHOME,DC=local

Теперь, когда мы поняли, где хранится нужный нам параметр, попробуем изменить его. Как я уже говорил, атрибут wellKnownObjects нельзя отредактировать при помощи консолей AD, наверное, это и к лучшему )). Для модификации этого параметра Microsoft разработала специальную утилиту, которая называется redircmp.exe, которая хранится в папке %SystemRoot%\System32 (на системах Windows Server 2003/2008).

Перед использованием утилиты redircmp.exe, создадим новый Organizational Unit, в который в дальнейшем будут попадать объекты Computer. Для примера я создал OU StagedComputers. Выполним следующую команду:

description: image

А затем при помощи Active Directory Explorer просмотрим содержимое атрибута wellKnownObjects (как вы увидите, оно изменилось):

170 49 40 37 118 136 17 209 173 237 0 192 79 216 213 205, OU=StagedComputers,DC=LABHOME,DC=local

98 39 240 175 31 194 65 13 142 59 177 6 21 187 91 15, CN=NTDS Quotas,DC=LABHOME,DC=local

244 190 146 164 199 119 72 94 135 142 148 33 213 48 135 219, CN=Microsoft,CN=Program Data,DC=LABHOME,DC=local

9 70 12 8 174 30 74 78 160 246 74 238 125 170 30 90, CN=Program Data,DC=LABHOME,DC=local

34 183 12 103 213 110 78 251 145 233 48 15 202 61 193 170, CN=ForeignSecurityPrincipals,DC=LABHOME,DC=local

24 226 234 128 104 79 17 210 185 170 0 192 79 121 248 5, CN=Deleted Objects,DC=LABHOME,DC=local

47 186 193 135 10 222 17 210 151 196 0 192 79 216 213 205, CN=Infrastructure,DC=LABHOME,DC=local

171 129 83 183 118 136 17 209 173 237 0 192 79 216 213 205, CN=LostAndFound,DC=LABHOME,DC=local

171 29 48 243 118 136 17 209 173 237 0 192 79 216 213 205, CN=System,DC=LABHOME,DC=local

163 97 178 255 255 210 17 209 170 75 0 192 79 215 216 58, OU=Domain Controllers,DC=LABHOME,DC=local

169 209 202 21 118 136 17 209 173 237 0 192 79 216 213 205, CN=Users,DC=LABHOME,DC=local

И наконец, с целью тестирования, я попробовал включить Windows XP (имя ПК VMXP-001) в домен LABHOME, действительно новый объект типа Computer появился в контейнере StagedComputers.

Вы можете использовать redirusr и redircmp для перенаправления учетных записей пользователей, компьютеров и групп, созданных API более ранней версии. Поэтому они помещаются в контейнеры организационного подразделения, заданные администратором.

Применяется к: Windows Server 2016, Windows Server 2012 R2
Исходный номер КБ: 324949

Сводка

При установке по умолчанию домена Active Directory учетные записи пользователей, компьютеров и групп помещались в контейнеры cn=objectclass вместо более желательного контейнера класса OU. Аналогичным образом учетные записи, созданные с помощью API более ранней версии, помещались в контейнеры CN=Users и CN=computers.

Некоторые приложения требуют, чтобы определенные принципы безопасности располагались в контейнерах по умолчанию, таких как CN=Users или CN=Computers. Убедитесь, что у приложений есть такие зависимости, прежде чем переместить их из контейнеров CN=users и CN=computes.

Дополнительная информация

Например, в следующих операциях используются API более ранней версии, которые отвечают на пути, определенные в атрибуте WellKnownObjects:

Windows XP Professional
Windows XP Ultimate

Windows Server 2003
Windows Server 2003 R2

Windows Server 2008

Полезно сделать контейнер по умолчанию для групп пользователей, компьютеров и безопасности OU по нескольким причинам, в том числе:

Групповые политики можно применять в контейнерах OU, но не в контейнерах класса CN, где по умолчанию ставятся основные принципы безопасности.

Передовая практика — упорядочность принципов безопасности в иерархию OU, которая отражает организационную структуру, географическое расположение или модель администрирования.

При перенаправлении папок CN=Users и CN=Computers следует помнить о следующих проблемах:

Целевой домен должен быть настроен для запуска на уровне Windows Server 2003 или выше. Для функционального уровня Windows Server 2003 это означает:

  • Windows Сервер 2003 ADPREP /FORESTPREP или более новый
  • Windows Сервер 2003 ADPREP /DOMAINPREP или более новый
  • Все контроллеры домена в целевом домене должны работать Windows Server 2003 или более новые.
  • Windows Необходимо включить функциональный уровень домена Server 2003 или более высокий.

В отличие от CN=USERS и CN=COMPUTERS, контейнеры OU подвергаются случайным удалениям привилегированных учетных записей пользователей, в том числе администраторов.

Контейнеры CN=USERS и CN=COMPUTERS — это объекты, защищенные системой, которые не могут и не должны удаляться для обратной совместимости. Но их можно переименовать. Организационные подразделения могут быть удалены администраторами случайно.

Windows Версии сервера 2003 для пользователей Active Directory & компьютеров могут выполнять действия в Области Защиты организационного подразделения от случайного удаления.

Windows Сервер 2008 и более новые версии оснастки пользователей и компьютеров Active Directory имеют объект Protect от случайного удаления, который можно выбрать при создании нового контейнера OU. Вы также можете выбрать его на вкладке Объект в диалоговом окне Свойства для существующего контейнера OU.

Exchange Server 2000 и 2003 годах с setup /domainprep ошибками.

Перенаправление CN=Users на указанный администратором OU

Войдите в систему с учетными данными администратора домена в домене Z, куда перенаправляется контейнер CN=Users.

Переход домена на функциональный уровень Windows Server 2003 или более новый в оснастке пользователей и компьютеров Active Directory (Dsa.msc) или snap-in доменов и трастов (Domains.msc). Дополнительные сведения об увеличении функционального уровня домена см. в дополнительных сведениях о повышении уровней функциональных функций домена и леса.

Создайте контейнер OU, в котором должны быть размещены пользователи, созданные с API более ранней версии, если нужного контейнера OU не существует.

Запустите Redirusr.exe по командной подсказке с помощью следующего синтаксиса. В команде container-dn — это отличительное имя OU, которое станет расположением по умолчанию для вновь созданных пользовательских объектов, созданных интерфейсами API на уровне ниже:

Перенаправление CN=Computers на указанный администратором OU

Войдите в систему с учетными данными администратора домена в домене, куда перенаправляется контейнер CN=computers.

Переход домена на домен Windows Server 2003 в оснастке пользователей и компьютеров Active Directory (Dsa.msc) или в snap-in доменов и трастов (Domains.msc). Дополнительные сведения об увеличении функционального уровня домена см. в дополнительных сведениях о повышении уровней функциональных функций домена и леса.

Создайте контейнер OU, в котором требуется, чтобы компьютеры, созданные с API более ранней версии, находились, если нужного контейнера OU не существует.

Выполнить Redircmp.exe по командной подсказке с помощью следующего синтаксиса. В команде контейнер-dn — это отличительное имя OU, которое станет расположением по умолчанию для вновь созданных компьютерных объектов, созданных с помощью API на уровне ниже:

Когда Redircmp.exe для перенаправления контейнера CN=Computers в OU, указанному администратором, контейнер CN=Computers больше не будет защищенным объектом. Это означает, что контейнер Computers теперь можно перемещать, удалять или переименовывать. Если вы используете ADSIEDIT для просмотра атрибутов в контейнере CN=Computers, вы увидите, что атрибут systemflags был изменен с -1946157056 на 0. Данное поведение является особенностью продукта.

D: > redirusr OU=userOU,DC=udc,dc=jkcertcontoso,dc=loc com
Ошибка, не удалось найти контроллер основного домена для текущего домена: указанный домен либо не существует, либо не может быть связаться. Перенаправление не было успешным.

D: > redircmp OU=computerOU,DC=contoso,dc=com DC=udc,dc=jkcert,dc=loc
Ошибка, не удалось найти контроллер основного домена для текущего домена: указанный домен либо не существует, либо не может быть связаться. Перенаправление не было успешным.

C: > redirusr OU=usersou,DC=contoso,dc=comDC=company,DC=com

Ошибка, не удается изменить атрибут wellKnownObjects. Убедитесь, что функциональный уровень домена является по крайней мере Windows Server 2003: не желают выполнять перенаправление не удалось.

C. > REDIRCMP ou=computersou,DC=contoso,dc=comdc=company,dc=com

Ошибка, не удается изменить атрибут wellKnownObjects. Убедитесь, что функциональный уровень домена не менее Windows Server 2003.

C:>REDIRCMP OU=computersou,DC=contoso,dc=comDC=company,DC=com

Ошибка, не удается изменить атрибут wellKnownObjects. Убедитесь, что функциональный уровень домена является по крайней мере Windows Server 2003: недостаточное перенаправление прав не было успешным.

C: > redirusr OU=usersou,DC=contoso,dc=comDC=company,DC=com

Ошибка, не удается изменить атрибут wellKnownObjects. Убедитесь, что функциональный уровень домена является по крайней мере Windows Server 2003: недостаточное перенаправление прав не было успешным.

C. > REDIRCMP OU=nonexistantou,DC=contoso,dc=com dc=rendom,dc=com

Ошибка, не удается изменить атрибут wellKnownObjects. Убедитесь, что функциональный уровень домена по крайней мере Windows Server 2003: не было успешного перенаправления таких объектов.

C: > redirusr OU=nonexistantou,DC=contoso,dc=com DC=company,DC=com

Ошибка, не удается изменить атрибут wellKnownObjects. Убедитесь, что функциональный уровень домена по крайней мере Windows Server 2003: не было успешного перенаправления таких объектов.

Установка не удалась при установке разрешений на уровне домена на подкомпонентном уровне с помощью кода ошибки 0x80072030) (подробные сведения см. в журналах установки). Вы можете отменить установку или повторить неудачный шаг. (Retry / Cancel)

Следующие данные появляются в журнале установки Exchange Server 2000, который размыл с помощью анализара журнала. Exchange Server 2003 г. должен быть похожим.

Войти

Авторизуясь в LiveJournal с помощью стороннего сервиса вы принимаете условия Пользовательского соглашения LiveJournal

Active Directory. Смена OU для компьютеров по умолчанию при вводе в домен

Active Directory. Смена OU для компьютеров по умолчанию при вводе в домен

По умолчанию только что созданный объект типа Компьютер попадает в контейнер (OU) Computers (например, при вводе в домен) и на него невозможно применить специфические групповые политики для упрощения работы администраторов.

Но заставим все новые компьютеры попадать не в контейнер (OU) Computers, а в новый специально созданный CompsNew.

    Контейнер AD, в который попадают по-умолчанию новые компьютеры, определяется в атрибуте wellKnownObjects. Откроем оснастку Active Directory - Пользователи и компьютеры. Выберем в Диспетчере сервера меню Вид и включим Дополнительные компоненты:





И как с этим быть. :-)






170 49 40 37 118 136 17 209 173 237 0 192 79 216 213 205, CN= Computers ,DC=LABHOME,DC=local





Вводим командную строку с полученными данными CN= Computers ,DC=LABHOME,DC=local из свойств окна Attribute Properties в п.10:

redircmp OU=CompsNew,DC=LABHOME,DC=local


Все. Теперь любой новый компьютер или виртуальная машина при вводе в домен будут попадать в контейнер CompsNew, на который можно применить различные групповые политики.

Вводим в домен с Powershell Add-Computer

Команда Powershell Add-Computer позволяет ввести компьютер в домен. Командлет так же позволяет ввести в домен компьютер под новым именем или в определенный OU.

Если мы выполним следующий командлет, то у нас появится запрос на ввод учетных данных так как для ввода в домен нужна будет доменная учетная запись:

Если у вас этого не получается, то проблема, скорее всего в DNS. Вы можете проверить доступность хоста пингом и настроить IP в Powershell.

После ввода выполняем перезагрузку:

Есть два ключа, которые присутствуют как и в этом, так и во множестве других командлетов. Это:

  • ComputerName - позволяет выполнять команды удаленно используя IP или имя
  • Credential - позволяет выполнять команды передавая другие учетные данные
  • LocalCredential - учетные данные локального администратора

Если мы запустили консоль Powershell под обычным пользователем, то нам понадобится две учетные записи - локального администратора и пользователя AD:

С ключом ComputerName мы можем ввести в домен сразу несколько объектов. Один из минусов в том, что мы будем использовать проверку NTLM, что потребует дополнительных настроек и снизит безопасность.

Ввод в домен Powershell Add-Computer

У нас могут появиться ошибки:

  • add-computer не удается установить подключение wmi к компьютеру
  • Add-Computer : Cannot establish the WMI connection to the computer

Я решил эту проблему открытием порта 5985 и открытием доступа по WMI и следующим командлетом:

Хоть Microsoft и пишет, что ключ ComputerName не использует службу PSRemoting, может потребоваться сделать следующее:

Если вы не понимаете смысл строки выше, то стоит почитать статью о том как выполнять удаленные команды в Powershell.

Ключ -Force позволяет не запрашивать подтверждение для каждого хоста если вы выполняете команду сразу для множества.

Мы можем изменить имя хоста сразу при вводе в домен. Для этого нужно добавить ключ:

Ввод компьютера в определенную OU домена в Powershell

Для указания OU нужно понимать пути LDAP. На примере моего домена domain.local и OU Moscow путь будет выглядеть так:

По умолчанию компьютер добавляется в контейнер (CN) Computers.

На примерах выше так мы добавим хост сразу в OU:

Ключ Restart отправит хост в перезагрузку.

Как удалить файлы в Powershell старше определенной даты

Добавление множества компьютеров в домен из CSV с помощью Powershell

Допустим у нас есть такой CSV файл с IP и новыми именами компьютеров:

Добавление компьютеров в домен из CSV

Для импорта этого файла нужно определиться с символом, который разделяет значения. В моем случае делиметр ;

Читайте также: