Я пытаюсь сделать 2 вещи.
- Добавление всех пользователей в подразделении в группу безопасности
- Добавление всех компьютеров в подразделении в группу безопасности
Я могу успешно получить списокпользователей или компьютеров, которые мне нужны, используя:
get-aduser -filter * -SearchBase "ou=Users,ou=xx,ou=xx,dc=xx,dc=local" | FT SamAccountName
и
Get-ADComputer -LDAPFilter "(name=compu*)" -searchbase "ou=xx,ou=xx,dc=xx,dc=local" | FT Name
Они дают точные данные, которые мне нужны, как имена пользователей, так и имена хостов соответственно.
Я могудобавить группу к моему имени пользователя, используя:
Add-ADGroupMember -Identity "%GROUPNAME%" -Members MyUsername
Я не могу добавить группу для добавления на компьютер, так как она вызывает ошибки:
Add-ADGroupMember: Невозможно найти объектс идентификатором «COMPUTERNAME» в разделе «DC = XX, DC = LOCAL». В строке: 1 символ: 1
Я даже пытался быть умным, используя:
$Comps=Get-ADComputer -LDAPFilter "(name=compu*)" -searchbase "ou=XX,ou=XX,dc=XX,dc=local" | FT Name
Add-ADGroupMember -identity $Comps -MemberOf '%GROUPNAME%'
, но это просто не получается.
Пробовал аналогично с пользователями:
$Userlist=get-aduser -filter * -SearchBase "ou=XX,ou=XX,ou=XX,ou=XX,dc=XX,dc=local" | FT SamAccountName
$Results = $Userlist | ForEach-Object {
Add-ADGroupMember -identity %GROUPNAME% -members $_
}
Ошибка:
Add-ADGroupMember: Невозможно связать параметр 'Members'. Невозможно преобразовать значение «Microsoft.PowerShell.Commands.Internal.Format.FormatStartData» типа «Microsoft.PowerShell.Commands.Internal.Format.FormatStartData» в тип «Microsoft.ActiveDirectory.Management.ADPrincipal".
В строке:4 символа: 105
- ...% GROUPNAME% -members $ _
- ~~
- CategoryInfo: InvalidArgument: (:) [Add-ADGroupMember],ParameterBindingException
- FullyQualifiedErrorId:
CannotConvertArgumentNoMessage, Microsoft.ActiveDirectory. Расположение операторов OU является правильным. В настоящее время я не знаю, следует ли мне использовать add-adgroupmember
или add-adprinciplegroupmembership
, и я вижу, что где-то допускаю фундаментальную ошибку.
Я ценю, что яможет выводить имена хостов или пользователей в текстовый файл и импортировать их, но это кажется ненужным шагом.
Пожалуйста, помогите!