У меня есть сценарий, используемый для управления членством в группах, но я сталкиваюсь с проблемой, когда дело касается поиска нескольких подразделений.Powershell Combine Get-ADUser Результаты
В настоящее время в рамках сценария, я следующий код, используемый для запроса AD:
$Users = Get-ADUser -LDAPFilter $LDAPString -SearchBase $SearchOU
(...)
Foreach ($User in $Users)
{
If ($User.distinguishedName -notin $Members.distinguishedName)
{
Add-ADGroupMember -Identity $GroupDN -Members $User.distinguishedName -Server $DomainController
}
}
До сих пор, я попытался следующие, где $ OU является массивом OU, но я в конечном итоге просто первый результат.
Foreach ($OU in $SearchOUs)
{
$Users += Get-ADUser -LDAPFilter $LDAPString -SearchBase $OU
}
Есть простой способ объединить получившиеся хэш-таблицы или это лучше просто создать новый хэш-таблицу и добавить результаты к этому?
Вы гений! Кажется, мое удержание было связано с предположением, что это хеш-таблица, а не массив. Я попробовал что-то очень похожее, добавив '$ Users = @ {}'. В любом случае, ваше предложение выиграло битву. Большое спасибо! –
@JasonW Если вам нужно проверить, что такое группа, вы всегда можете использовать '$ x -is [hashtable]' или '$ x -is [array]' где '$ x' - это то, что вы работаете с. –
Ну эй, посмотри на этот маленький самородка знаний ... Я определенно буду держать это в своей панели инструментов. Благодаря! –