Всем привет.
Случается перенос базы пользователей с одного домена в AD на другой. Штатных есть три варианта: утилитами CSVDE, LDIFLE и RSAT(Powershell).
Как принято вначале выполняем экспорт, а потом, естественно, импорт базы.
CSVDE:
Eхport CSVDE:
csvde -f C:\123\exportAD.csv -m -n -o "primaryGroupID,lockoutTime" -j d:\Logs\
Import CSVDE:
csvde -i -f C:\exportAD.csv -k -j D:\Logs\
При использовании этих утилит не экспортируются атрибуты, связанные с безопасностью — имена групп, которым принадлежат пользователи и пользовательские пароли. Пользователям присваиваются пустые пароли и атрибут "Требовать смену пароля при следующем входе в систему".
LDIFLE:
ldifde -u -f C:Exportuser.ldf -s dc2 -d "dc=mydomain,dc=local" -p subtree -r "(&(objectCategory=person)(objectClass=User)(givenname=*))" -l "cn,sn,description,givenName,initials,displayName,name,objectclass,profilePath,homeDirectory,homeDrive,samAccountName,mail"
Затем с помощью текстового редактора автоматически меняем в файле Exportuser.ldf имя домена у всех пользователей:
DC=mydomain,DC=local на DC=new,DC=mydomain,DC=local
И делаем импорт:
ldifde -i -f C:Exportuser.ldf -s dc02
При экспорте, если есть проблемы с русскими атрибутами пользователей, надо добавить ключ -u, т.е. экспорт в юникод. Ключ -f указывает на файл обмена.
RSAT(Powershell):
Export to CSV:
get-aduser –filter * -property * | export-CSV d:\export\adusersexport.csv -NoTypeInformation -Encoding UTF 8
Import CSV:
Import-Module ActiveDirectory
$USERS = Import-CSV d:\export\adusersexport.csv
$USERS|Foreach{
Set-ADUSer -Identity $_.samaccountname -TelephoneNumber $_.TelephoneNumber -MobilePhone $_.MobilePhone -StreetAddress $_.StreetAddress -City $_.City -Title $_.Title}?
Ежели сильно сухо то ниже привожу подробную инструкцию от одного парня.
Экспорт.
Запускаем PowerShell (под админом) на домен-контроллере dom1.local .
Ищем пользователя. Вывод команды должен показать список параметров пользователя user1
get-aduser -filter {SamAccountName -like '*user1*'}
Результат поиска сохраняем в переменную.
$dom1_users = get-aduser get-aduser -filter {SamAccountName -like '*user1*'} -Properties *
Проверяем содержимое переменной.
$dom1_users
Сохраняем в файл.
$dom1_users | export-clixml d:\export\dom1_user1.xml
Проверяем содержимое файла.
import-clixml d:\export\dom1_user1.xml
Копируем файл dom1_user1.xml с домен-контроллера dom1.local на домен-контроллер dom2.local.
Импорт.
Запускаем PowerShell (под админом) на домен-контроллере dom2.local.
Смотрим содержимое файла.
import-clixml d:\import\dom1_user1.xml
Загружаем содержимое файла в переменную.
$dom2_users = import-clixml d:\import\dom1_user1.xml
Проверяем содержимое переменной.
$dom2_users
Создаем пользователя (в домене dom2.local), на основе информации в переменной. На этом этапе можно заменить некоторые параметры учетной записи.
$dom2_users | Foreach { New-ADUser -Name $_.name -SamAccountName $_.samaccountname -DisplayName $_.displayName -GivenName $_.givenName -OtherName $_.OtherName -Surname $_.Surname -Description "import from dom1.loca" -UserPrincipalName "$($_.samaccountname)@dom2.local" -Enabled $true -AccountPassword (ConvertTo-SecureString -AsPlainText "Dom2password" -Force) -ChangePasswordAtLogon $true }
Проверяем параметры пользователя.
get-aduser get-aduser -filter {SamAccountName -like '*user1*'}
На этом процедуру копирования пользователя можно считать завершенной.
Случается перенос базы пользователей с одного домена в AD на другой. Штатных есть три варианта: утилитами CSVDE, LDIFLE и RSAT(Powershell).
Как принято вначале выполняем экспорт, а потом, естественно, импорт базы.
CSVDE:
Eхport CSVDE:
csvde -f C:\123\exportAD.csv -m -n -o "primaryGroupID,lockoutTime" -j d:\Logs\
Import CSVDE:
csvde -i -f C:\exportAD.csv -k -j D:\Logs\
При использовании этих утилит не экспортируются атрибуты, связанные с безопасностью — имена групп, которым принадлежат пользователи и пользовательские пароли. Пользователям присваиваются пустые пароли и атрибут "Требовать смену пароля при следующем входе в систему".
LDIFLE:
ldifde -u -f C:Exportuser.ldf -s dc2 -d "dc=mydomain,dc=local" -p subtree -r "(&(objectCategory=person)(objectClass=User)(givenname=*))" -l "cn,sn,description,givenName,initials,displayName,name,objectclass,profilePath,homeDirectory,homeDrive,samAccountName,mail"
Затем с помощью текстового редактора автоматически меняем в файле Exportuser.ldf имя домена у всех пользователей:
DC=mydomain,DC=local на DC=new,DC=mydomain,DC=local
И делаем импорт:
ldifde -i -f C:Exportuser.ldf -s dc02
При экспорте, если есть проблемы с русскими атрибутами пользователей, надо добавить ключ -u, т.е. экспорт в юникод. Ключ -f указывает на файл обмена.
RSAT(Powershell):
Export to CSV:
get-aduser –filter * -property * | export-CSV d:\export\adusersexport.csv -NoTypeInformation -Encoding UTF 8
Import CSV:
Import-Module ActiveDirectory
$USERS = Import-CSV d:\export\adusersexport.csv
$USERS|Foreach{
Set-ADUSer -Identity $_.samaccountname -TelephoneNumber $_.TelephoneNumber -MobilePhone $_.MobilePhone -StreetAddress $_.StreetAddress -City $_.City -Title $_.Title}?
Ежели сильно сухо то ниже привожу подробную инструкцию от одного парня.
Экспорт.
Запускаем PowerShell (под админом) на домен-контроллере dom1.local .
Ищем пользователя. Вывод команды должен показать список параметров пользователя user1
get-aduser -filter {SamAccountName -like '*user1*'}
Результат поиска сохраняем в переменную.
$dom1_users = get-aduser get-aduser -filter {SamAccountName -like '*user1*'} -Properties *
Проверяем содержимое переменной.
$dom1_users
Сохраняем в файл.
$dom1_users | export-clixml d:\export\dom1_user1.xml
Проверяем содержимое файла.
import-clixml d:\export\dom1_user1.xml
Копируем файл dom1_user1.xml с домен-контроллера dom1.local на домен-контроллер dom2.local.
Импорт.
Запускаем PowerShell (под админом) на домен-контроллере dom2.local.
Смотрим содержимое файла.
import-clixml d:\import\dom1_user1.xml
Загружаем содержимое файла в переменную.
$dom2_users = import-clixml d:\import\dom1_user1.xml
Проверяем содержимое переменной.
$dom2_users
Создаем пользователя (в домене dom2.local), на основе информации в переменной. На этом этапе можно заменить некоторые параметры учетной записи.
$dom2_users | Foreach { New-ADUser -Name $_.name -SamAccountName $_.samaccountname -DisplayName $_.displayName -GivenName $_.givenName -OtherName $_.OtherName -Surname $_.Surname -Description "import from dom1.loca" -UserPrincipalName "$($_.samaccountname)@dom2.local" -Enabled $true -AccountPassword (ConvertTo-SecureString -AsPlainText "Dom2password" -Force) -ChangePasswordAtLogon $true }
Проверяем параметры пользователя.
get-aduser get-aduser -filter {SamAccountName -like '*user1*'}
На этом процедуру копирования пользователя можно считать завершенной.
No comments:
Post a Comment
А что вы думаете по этому поводу?