Назад | Перейти на главную страницу

Powershell не удается импортировать группы активного каталога из файла CSV

У меня есть список групп в CSV, экспортированных из домена для импорта в другой домен. В целевом домене уже есть такие же OU, и поэтому (это тестовый домен). CSV-файл содержит групповые записи, как этот:

  1. Имя = Тестовая группа, через запятую, как это
  2. GroupCategory = Безопасность
  3. GroupScope = Универсальный
  4. Путь = "OU = TestFloor, OU = Prod, OU = Groups, DC = CONTOSO, DC = LO CAL"

Я импортирую CSV в массив и создаю группы с циклом:

$Grp = Import-Csv "C:\Temp\ftest.csv" -Delimiter ";"

foreach ($g in $Grp)
{
    New-ADGroup -Name $g.Name -GroupCategory $g.GroupCategory -GroupScope $g.GroupScope -Path $g.Path
}

Для большинства групп это работает отлично, но не для записей, подобных приведенной выше, я получаю следующую ошибку:

New-ADGroup : The name provided is not a properly formed account name

Я знаю, что для некоторых символов необходимо использовать escape-символы, поэтому я изменяю затронутые записи:

  1. Имя = Группа тестов \, запятыми \, вот так
  2. GroupCategory = Безопасность
  3. GroupScope = Универсальный
  4. Путь = "OU = TestFloor, OU = Prod, OU = Groups, DC = CONTOSO, DC = LO CAL"

Но результат тот же.

Любые идеи?.

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

New-ADGroup -Name "Test group\, with commas\, like this" -GroupCategory Security -GroupScope Universal -Path "OU=TestFloor,OU=Prod,OU=Groups,DC=CONTOSO,DC=LOCAL" -SamAccountName "Test group_ with commas_ like this"