Автоматический перенос компьютеров из 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"
При включении компьютера в домен 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.
Атрибут 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. Выполним следующую команду:
А затем при помощи 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 позволяет ввести компьютер в домен. Командлет так же позволяет ввести в домен компьютер под новым именем или в определенный OU.
Если мы выполним следующий командлет, то у нас появится запрос на ввод учетных данных так как для ввода в домен нужна будет доменная учетная запись:
Если у вас этого не получается, то проблема, скорее всего в DNS. Вы можете проверить доступность хоста пингом и настроить IP в Powershell.
После ввода выполняем перезагрузку:
Есть два ключа, которые присутствуют как и в этом, так и во множестве других командлетов. Это:
- ComputerName - позволяет выполнять команды удаленно используя IP или имя
- Credential - позволяет выполнять команды передавая другие учетные данные
- LocalCredential - учетные данные локального администратора
Если мы запустили консоль Powershell под обычным пользователем, то нам понадобится две учетные записи - локального администратора и пользователя AD:
С ключом ComputerName мы можем ввести в домен сразу несколько объектов. Один из минусов в том, что мы будем использовать проверку NTLM, что потребует дополнительных настроек и снизит безопасность.
У нас могут появиться ошибки:
- 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 и новыми именами компьютеров:
Для импорта этого файла нужно определиться с символом, который разделяет значения. В моем случае делиметр ;
Читайте также: