Поделиться через


Add-Computer

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

Синтаксис

Add-Computer
   [-ComputerName <String[]>]
   [-LocalCredential <PSCredential>]
   [-UnjoinDomainCredential <PSCredential>]
   -Credential <PSCredential>
   [-DomainName] <String>
   [-OUPath <String>]
   [-Server <String>]
   [-Unsecure]
   [-Options <JoinOptions>]
   [-Restart]
   [-PassThru]
   [-NewName <String>]
   [-Force]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Add-Computer
   [-ComputerName <String[]>]
   [-LocalCredential <PSCredential>]
   [-Credential <PSCredential>]
   [-WorkgroupName] <String>
   [-Restart]
   [-PassThru]
   [-NewName <String>]
   [-Force]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Описание

Командлет Add-Computer добавляет локальный компьютер или удаленные компьютеры в домен или рабочую группу или перемещает их из одного домена в другой. Он также создает учетную запись домена при добавлении компьютера в домен без учетной записи.

Параметры этого командлета можно использовать для указания контроллера домена и подразделения или выполнения незащищенного присоединения.

Чтобы получить результаты команды, используйте параметры Verbose и PassThru .

Примеры

Пример 1. Добавление локального компьютера в домен, а затем перезагрузка компьютера

Add-Computer -DomainName Domain01 -Restart

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

Пример 2. Добавление локального компьютера в рабочую группу

Add-Computer -WorkgroupName WORKGROUP-A

Эта команда добавляет локальный компьютер в рабочую группу Workgroup-A.

Пример 3. Добавление локального компьютера в домен

Add-Computer -DomainName Domain01 -Server Domain01\DC01 -PassThru -Verbose

Эта команда добавляет локальный компьютер в домен Domain01 с помощью контроллера Domain01\DC01 домена.

Команда использует параметры PassThru и Verbose для получения подробных сведений о результатах команды.

Пример 4. Добавление локального компьютера в домен с помощью параметра OUPath

Add-Computer -DomainName Domain02 -OUPath "OU=testOU,DC=domain,DC=Domain,DC=com"

Эта команда добавляет локальный компьютер в домен Domain02. Она использует параметр OUPath, чтобы указать подразделение для новых учетных записей.

Пример 5. Добавление локального компьютера в домен с помощью учетных данных

$addComputerSplat = @{
    ComputerName = 'Server01'
    LocalCredential = 'Server01\Admin01'
    DomainName = 'Domain02'
    Credential = 'Domain02\Admin02'
    Restart = $true
    Force = $true
}
Add-Computer @addComputerSplat

Эта команда добавляет компьютер Server01 в домен Domain02. Он использует параметр LocalCredential для указания учетной записи пользователя, которая имеет разрешение на подключение к компьютеру Server01. Он использует параметр Credential для указания учетной записи пользователя, которая имеет разрешение на присоединение компьютеров к домену. Он использует параметр перезапуска для перезапуска компьютера после завершения операции соединения и параметра Force для подавления сообщений подтверждения пользователей.

Пример 6. Перемещение группы компьютеров в новый домен

$addComputerSplat = @{
    ComputerName = 'Server01', 'Server02', 'localhost'
    DomainName = 'Domain02'
    LocalCredential = 'Domain01\User01'
    UnjoinDomainCredential = 'Domain01\Admin01'
    Credential = 'Domain02\Admin01'
    Restart = $true
}
Add-Computer @addComputerSplat

Эта команда перемещает компьютеры Server01 и Server02 и локальный компьютер из Domain01 в Domain02.

Он использует параметр LocalCredential , чтобы указать учетную запись пользователя, которая имеет разрешение на подключение к трем затронутым компьютерам. Он использует параметр UnjoinDomainCredential , чтобы указать учетную запись пользователя, которая имеет разрешение на объединение компьютеров из домена Domain01 и параметра Credential , чтобы указать учетную запись пользователя, которая имеет разрешение на присоединение компьютеров к домену Domain02. Он использует параметр перезапуска для перезапуска всех трех компьютеров после завершения перемещения.

Пример 7. Перемещение компьютера в новый домен и изменение имени компьютера

$addComputerSplat = @{
    ComputerName = 'Server01'
    DomainName = 'Domain02'
    NewName = 'Server044'
    Credential = 'Domain02\Admin01'
    Restart = $true
}
Add-Computer @addComputerSplat

Эта команда перемещает компьютер Server01 в домен Domain02 и изменяет имя компьютера на Server044.

Команда использует учетные данные текущего пользователя для подключения к компьютеру Server01 и исключению его из текущего домена. Он использует параметр Credential для указания учетной записи пользователя, которая имеет разрешение на присоединение компьютера к домену Domain02.

Пример 8. Добавление компьютеров, перечисленных в файле в новый домен

$addComputerSplat = @{
    ComputerName = (Get-Content Servers.txt)
    DomainName = 'Domain02'
    Credential = 'Domain02\Admin02'
    Options = 'Win9xUpgrade'
    Restart = $true
}
Add-Computer @addComputerSplat

Эта команда добавляет компьютеры, перечисленные в файле, в Servers.txt домен Domain02. Он использует параметр Options для указания параметра Win9xUpgrade . Параметр перезапуска перезагрузит все только что добавленные компьютеры после завершения операции соединения.

Пример 9. Добавление компьютера в домен с помощью предопределенных учетных данных компьютера

Эта первая команда должна выполняться администратором с компьютера, который уже присоединен к домену Domain03:

$newADComputerSplat = @{
    Name = "Server02"
    AccountPassword = (ConvertTo-SecureString -String 'TempJoinPA$$' -AsPlainText -Force)
}
New-ADComputer @newADComputerSplat

# Then this command is run from `Server02` which is not yet domain-joined:

$joinCred = New-Object pscredential -ArgumentList ([pscustomobject]@{
    UserName = $null
    Password = (ConvertTo-SecureString -String 'TempJoinPA$$' -AsPlainText -Force)[0]
})
$addComputerSplat = @{
    DomainName = "Domain03"
    Options = 'UnsecuredJoin', 'PasswordPass'
    Credential = $joinCred
}
Add-Computer @addComputerSplat

Эта комбинация команд создает новую учетную запись компьютера с предопределенным именем и паролем временного соединения в домене с использованием существующего присоединенного к домену компьютера. Затем отдельно компьютер с предопределенным именем присоединяется к домену, используя только имя компьютера и пароль временного соединения. Предопределенный пароль используется только для поддержки операции соединения и заменяется как часть обычных процедур учетной записи компьютера после завершения соединения.

Пример 10. Добавление компьютера в домен с новым именем

Использование этой комбинации команд позволяет избежать нескольких перезагрузок и нескольких операций записи в Active Directory для одного и того же объекта, когда компьютер присоединяется к домену с новым именем.

Rename-Computer -NewName "MyNewPC" -Force
$addComputerSplat = @{
    DomainName = 'Contoso.com'
    Credential = 'contoso\administrator'
    Options = 'JoinWithNewName', 'AccountCreate'
}
Add-Computer @addComputerSplat

Параметры

-ComputerName

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

Введите NetBIOS-имя, IP-адрес или полное доменное имя каждого из удаленных компьютеров. Чтобы указать локальный компьютер, введите имя компьютера, точку (.) или localhost.

Этот параметр не зависит от удаленного взаимодействия Windows PowerShell. Параметр ComputerName Add-Computer можно использовать даже в том случае, если компьютер не настроен для выполнения удаленных команд.

Этот параметр впервые появился в Windows PowerShell 3.0.

Тип:String[]
Position:Named
Default value:Local computer
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-Confirm

Запрос подтверждения перед выполнением командлета.

Тип:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Credential

Указывает учетную запись пользователя, имеющую разрешение на присоединение компьютеров к новому домену. По умолчанию используется текущий пользователь.

Введите имя пользователя, например User01 или Domain01\User01, или введите объект PSCredential , например один, созданный командлетом Get-Credential . При вводе имени пользователя запрашивается пароль.

Чтобы указать учетную запись пользователя, которая имеет разрешение на удаление компьютера из текущего домена, используйте параметр UnjoinDomainCredential . Чтобы указать учетную запись пользователя, которая имеет разрешение на подключение к удаленному компьютеру, используйте параметр LocalCredential .

Тип:PSCredential
Aliases:DomainCredential
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-DomainName

Указывает домен, в который добавляются компьютеры. Этот параметр является обязательным при добавлении компьютеров в домен.

Тип:String
Aliases:DN, Domain
Position:0
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Force

Отключает запрос подтверждения пользователя. Без этого параметра Add-Computer требуется подтвердить добавление каждого компьютера.

Этот параметр впервые появился в Windows PowerShell 3.0.

Тип:SwitchParameter
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-LocalCredential

Указывает учетную запись пользователя, которая имеет разрешение на подключение к компьютерам, указанным параметром ComputerName . По умолчанию используется текущий пользователь.

Введите имя пользователя, например User01 или Domain01\User01, или введите объект PSCredential , например один, созданный командлетом Get-Credential . При вводе имени пользователя запрашивается пароль.

Чтобы указать учетную запись пользователя с разрешением на добавление компьютеров в новый домен, используйте параметр Credential . Чтобы указать учетную запись пользователя, которая имеет разрешение на удаление компьютеров из текущего домена, используйте параметр UnjoinDomainCredential .

Этот параметр впервые появился в Windows PowerShell 3.0.

Тип:PSCredential
Position:Named
Default value:Current user
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-NewName

Указывает новое имя для компьютера в новом домене. Этот параметр допустим только при добавлении или перемещении одного компьютера.

Этот параметр впервые появился в Windows PowerShell 3.0.

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-Options

Задает дополнительные параметры для Add-Computer операции соединения. Введите одно или несколько значений в строку с разделителями запятыми.

Допустимые значения для этого параметра:

  • AccountCreate: создает учетную запись домена. Командлет Add-Computer автоматически создает учетную запись домена при добавлении компьютера в домен. Этот параметр включен для полноты.

  • Win9XUpgrade: указывает, что операция соединения является частью обновления операционной системы Windows.

  • UnsecuredJoin: выполняет незащищенное соединение. Чтобы запросить незащищенное соединение, используйте параметр Unsecure или этот параметр. Если вы хотите передать пароль компьютера, этот параметр необходимо использовать в сочетании с PasswordPass параметром.

  • PasswordPass: задает пароль компьютера для значения параметра Credential(DomainCredential) после выполнения незащищенного соединения. Этот параметр также указывает, что значение параметра Credential (DomainCredential) является паролем компьютера, а не паролем пользователя. Этот параметр действителен только при указании UnsecuredJoin параметра. При использовании этого параметра учетные данные, предоставленные -Credential параметру , должны иметь пустое имя пользователя.

  • JoinWithNewName: переименовывает имя компьютера в новом домене в имя, указанное параметром NewName . При использовании параметра NewName этот параметр устанавливается автоматически. Этот параметр предназначен для использования с командлетом Rename-Computer. Если вы используете Rename-Computer командлет для переименования компьютера, но не перезагрузите компьютер, чтобы внести изменения в силу, этот параметр можно использовать для присоединения компьютера к домену с новым именем.

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

  • InstallInvoke: задает флаги создания (0x2) и удаления (0x4) параметра FJoinOptions метода JoinDomainOrWorkgroup. Дополнительные сведения о методе JoinDomainOrWorkgroup см. в методе JoinDomainOrWorkgroup класса Win32_ComputerSystem. Дополнительные сведения об этих параметрах см . в функции NetJoinDomain.

Этот параметр впервые появился в Windows PowerShell 3.0.

Тип:JoinOptions
Допустимые значения:AccountCreate, Win9XUpgrade, UnsecuredJoin, PasswordPass, DeferSPNSet, JoinWithNewName, JoinReadOnly, InstallInvoke
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-OUPath

Указывает подразделение для учетной записи домена. Введите полное различающееся имя подразделения в кавычках. Значение по умолчанию — подразделение по умолчанию для объектов компьютеров в домене.

Тип:String
Aliases:OU
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-PassThru

Возвращает объект, представляющий элемент, с которым вы работаете. По умолчанию этот командлет не создает выходные данные.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Restart

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

Этот параметр впервые появился в Windows PowerShell 3.0.

Тип:SwitchParameter
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Server

Задает имя контроллера домена, который добавляет компьютер в домен. Введите имя в формате "ИмяДомена\ИмяКомпьютера". По умолчанию контроллер домена не указан.

Тип:String
Aliases:DC
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-UnjoinDomainCredential

Указывает учетную запись пользователя, имеющую разрешение на удаление компьютеров из текущих доменов. По умолчанию используется текущий пользователь.

Введите имя пользователя, например User01 или Domain01\User01, или введите объект PSCredential , например один, созданный командлетом Get-Credential . При вводе имени пользователя запрашивается пароль.

Используйте этот параметр при перемещении компьютеров в другой домен. Чтобы указать учетную запись пользователя, которая имеет разрешение на присоединение к новому домену, используйте параметр Credential . Чтобы указать учетную запись пользователя, которая имеет разрешение на подключение к удаленному компьютеру, используйте параметр LocalCredential .

Этот параметр впервые появился в Windows PowerShell 3.0.

Тип:PSCredential
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Unsecure

Выполняет незащищенное присоединение к указанному домену.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-WhatIf

Показывает, что произойдет при запуске командлета. Командлет не выполняется.

Тип:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-WorkgroupName

Указывает имя рабочей группы, в которую добавляются компьютеры. Значение по умолчанию — WORKGROUP.

Тип:String
Aliases:WGN
Position:0
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

Входные данные

String

Имена компьютеров и новые имена можно передать командлету Add-Computer .

Выходные данные

ComputerChangeInfo

При использовании параметра Add-Computer PassThru возвращает объект ComputerChangeInfo. В противном случае командлет не формирует никаких выходных данных.

Примечания

  • В Windows PowerShell 2.0 параметр Add-Computer сервера завершается ошибкой, даже если сервер присутствует. В Windows PowerShell 3.0 реализация параметра Сервера изменяется таким образом, чтобы он работал надежно.