Я пишу сценарий, чтобы взять один объект GroupOfNames
и создать вторую группу с членами первых групп. Похоже, что это было бы очень простой кусок кода:Как я могу клонировать объект Active Directory GroupOfNames?
$obj = Get-ADObject -Server "$server" -SearchBase $SearchBase -Filter "name -eq '$GroupName'" -Properties Member
New-ADObject -Server "$server" -Path $SearchBase -Type 'GroupOfNames' -name "$NewGroupName" -OtherAttributes @{'Member'= ($($obj.Member))}
При запуске этого $ OBJ получает создан, и я могу показать как GroupOfNames
информацию, а также список членов. Но когда он называет New-ADObject
командлет, я получаю следующее сообщение об ошибке:
New-ADObject : Unable to contact the server. This may be because this server does not exist, it is currently down, or it does not have the Active Directory Web Services running.
Я пробовал несколько вариантов кода, и все не в состоянии с подобными ошибками.
Интересно, что если я прокручиваю список членов и добавляю их в группу по одному, он работает, но он слишком длительный (час + против секунд).
Благодарим за предложение. Без изменений. Я получаю ту же ошибку. Я также пробовал другие комбинации этого, например $ m = $ member | % {"'$ ($ _)'"), думая, что, возможно, строка должна быть процитирована. Каждая комбинация не удалась. – North2Alaska
Ошибка явно красная селедка. Попробуйте запустить '$ error [0] | fl * -Force' сразу после ошибки, он может проливать больше света на ситуацию. – Raf
Я думаю, что ты прав. Принимая ваш код сверху, я получаю большое количество информации об ошибках. Я думаю, что самая важная вещь может быть «Это может быть вызвано ошибкой обработки вашего сообщения или превышением времени ожидания удаленного узла или проблемы с сетевым ресурсом. Локальный тайм-аут сокета был «00: 02: 00». Затем я провел некоторое дополнительное исследование, чтобы обнаружить жесткий двухминутный тайм-аут с использованием модуля AD. Похоже, мне, возможно, придется переделать, используя ADO или какой-либо другой метод. Предложения? – North2Alaska