Предоставление разрешений на подключение к домену
Предоставление разрешения на присоединение вручную с помощью графического интерфейса
Ручное назначение разрешений на присоединение компьютера с помощью кнопки Change или вкладки Security — медленный процесс с высокой вероятностью ошибок. Поэтому давайте посмотрим, как можно его автоматизировать с помощью сценария PowerShell.
Сценарий Grant-ComputerJoinPermission.ps1
Я подготовил сценарий Grant-ComputerJoinPermission.ps1 (см. код выше), чтобы предоставить четыре необходимых разрешения (см. экран ниже) для одной или нескольких учетных записей компьютеров. Синтаксис сценария следующий:
Grant-ComputerJoinPermission [-Identity] identity [-Name] computername [-Domain domain] [-Credential credential] [-WhatIf] [-Confirm]Параметр -Identity указывает, кто сможет присоединять компьютеры к домену. Вы можете ввести этот параметр в формате username (например, kendyer), domainusername (например, fabrikamkendyer) или usemame@domain (например, kendyer@fabrikam. com). Имя параметра (-Identity) вводить не обязательно, если вы указываете его первым в командной строке. Этот параметр не поддерживает подстановочные знаки.
Параметр -Name задает имена одной или нескольких учетных записей компьютеров. Имя параметра (-Name) можно опустить, если разместить имена учетных записей компьютеров на второй позиции в командной строке сценария. Этот параметр принимает входные данные конвейера, поэтому имя параметра тоже следует опустить, если имена компьютеров передаются в сценарий через конвейер. Данный параметр не поддерживает подстановочные знаки.
Параметр -Domain указывает имя домена, в котором размешаются учетные записи компьютеров (например, fabrikam или fabrikam.com).
Параметр -Credential указывает учетные данные, имеющие право назначать разрешения учетным записям компьютеров. Вы можете использовать этот параметр, если выполнили вход с учетной записью, не имеющей достаточных прав для предоставления разрешений учетным записям компьютеров. Поведение параметров -What If и -Confirm — такое же, как у команд PowerShell: -WhatIf указывает, какие действия выполняет сценарий, в то время как эти действия не совершаются, a -Confimi запрашивает подтверждение перед выполнением любого действия.
Примеры команд
1. Предоставить учетной записи kendyer разрешение для присоединения компьютера pci к домену:
Grant-ComputerJoinPermission kendyer pc12. Предоставить учетной записи kendyer разрешение для присоединения списка компьютеров к домену:
Get-Content Computers.txt | Grant-ComputerJoinPermission kendyer -VerboseВ этом примере файл Computers, txt содержит список имен компьютеров (по одному на строку). PowerShell покажет вносимые изменения из-за параметра -Verbose.
3. Предоставить учетной записи kendyer разрешение для присоединения компьютера pci к домену с использованием альтернативных учетных данных:
Grant-ComputerJoinPermission kendyer pc1 -Credential (Get-Credential)В этом примере команда Get-Credential запрашивает учетные данные, и PowerShell использует учетные данные, введенные в параметре -Credential (скобки вокруг Get-Credential обязательны).
4. Создать новую учетную запись компьютера и предоставить учетной записи kendyer разрешение для присоединения к домену:
New-ADComputer SALES1 -Path "OU=Sales,DC=fabrikam,DC=com" -PassThru |
Grant-ComputerJoinPermission kendyerВ этом примере команда New-ADComputer создает объект-компьютер и выводит его с использованием параметра - PassThru. Затем объект-компьютер выводится в сценарий Grant-ComputerJoinPermission.ps1, который предоставляет учетной записи kendyer разрешение для присоединения компьютера к домену.
5. Создать список учетных записей компьютеров в подразделении и предоставить учетной записи lynndyer разрешение на их присоединение к домену:
Get-Content Computers.txt | ForEach-Object {
New-ADComputer $_ -Path "OU=Sales,DC=fabrikam,DC=com" -PassThru
} | Grant-ComputerJoinPermission lynndyer В этом примере файл Computers.txt содержит список имен компьютеров, по одному в строке.
Автоматизация предоставления разрешения на присоединение
Итак, отныне предоставление разрешения на присоединение компьютеров к домену не обязательно медленный и подверженный ошибкам процесс графического интерфейса. Теперь вы можете автоматизировать его в PowerShell с помощью сценария Grant-ComputerJoinPermission.ps1.