Pracuję nad skryptem PowerShell do importu dużej liczby użytkowników do AD.
Jednym z elementów jest dodanie użytkowników do grup bezpieczeństwa AD zgodnie z ich numerem programu. W większości przypadków działa to dobrze, chyba że coś źle napiszę, lub inne proste błędy ludzkie. Mamy jednak 2 grupy zabezpieczeń, do których każdy musi zostać dodany, i podczas gdy Add-ADGroupMember
działa idealnie na jednej, nie może znaleźć drugiej grupy. Oto skrypt, którego używam:
$Users = Import-Csv "C:\PSScripts\Create\users.csv" foreach ($User in $Users) { $AccountName = $User.firstname + "." + $User.lastname $Program = $User.Program $HomeDrive = 'H:' $UserRoot = '\twgeneral\homedrive\' $HomeDirectory = $UserRoot+$AccountName Set-ADUser $AccountName -HomeDrive $HomeDrive -HomeDirectory $HomeDirectory If ($AccountName -eq $AccountName) { Add-ADGroupMember -Identity "ALL_USERS" -Member $Accountname } If ($AccountName -eq $AccountName) { Add-ADGroupMember -Identity "000-All users" -Member $Accountname }}
I otrzymuję ten błąd:
Add-ADGroupMember : Cannot find an object with identity: '000-All users' under: 'DC=*****,CD=local'.At C:\psscripts\create\Groups.ps1:15 char:23+ {ADD-ADGroupMember <<<< -Identity "000-All users" -Member $Accountname + CategoryInfo : ObjectNotFound: <000-All users:ADGroup> , ADIdentityNotFoundException + FullyQualifiedErrorId : Cannot find an object with identity: '000-All users' under: 'DC=*****,DC=local'.,Microsoft.ActiveDirectory.Management.Commands.AddADGroupMember
Ale mogę dodawać użytkowników do grupy 000-Wszystkich użytkowników za pomocą interfejsu graficznego ADUC.
Podobnie, uruchamiam skrypt poprzedzający ten, tworząc użytkowników z SAM; Display Name; Exch. E-mail Account; Password; and specific OU within the domain, and it executes without errors, I can go into the graphic interface and see the user right where they are supposed to be with all pertinent details configured, yet some of the users return the same 'object not found’ error when I try to execute the part of the groups script that DOES work, the ALL_USERS group. Konkretnie chodzi o użytkowników, którzy mają nazwisko z łącznikiem, na przykład: Markiem-Chalmers lub Tatem-Brown.
Wiem, że składnia Add-ADGroupMember
jest poprawna, ponieważ skopiowałem i wkleiłem z wcześniejszego łańcucha, który wykonuje się poprawnie, zmieniając tylko nazwę grupy z ALL_USERS na 000-All users, i sprawdziłem podwójnie, potrójnie, poczwórnie, że pisownia jest poprawna. Każda pomoc będzie OGROMNIE doceniona!