1/5 - (1 голос)

Как выглядит код PowerShell для поиска определенной учетной записи пользователя в комплексной структуре организационных единиц OU и создания такой записи, если она отсутствует?nnУ меня была глобальная структура OU, где каждой организационной единице Lab требовалась опреде­ленная учетная запись. Там был ряд OU для географи­ческих регионов; в рамках этих регионов каждое под­разделение Lab имело свою организационную единицу OU с дочерней OU, которая называлась Users. Каждое подразделение Lab именовалось по местоположению как LAB<location>, и я хотел, чтобы каждая учетная запись называлась <location>EXP-ECHUB. Для неко­торых регионов уже была учетная запись, поэтому код в листинге  надо было проверить на наличие учетной записи, и, если таковой не существовало, требовалось создать ее (используя отдельную команду, которую вы можете заменить простой командой создания новой учетной записи пользователя New-ADUser). Обратите внимание, что я просматриваю каждый верхний уровень OU для проверки и что ниже расположен только один уровеньn

$RootDomain = "DC=itfb,DC=ru"nn$TopLevelLABs = "АРАС", "EMEAV'NA'V'SA"nn#Find each LABnnforeach ($TopLevelLAB in $TopLevelLABs) tnn/Find the child OUsnn$LABs = Get-ADOrganizationalUnit -SearchBase "OU=$TopLevelLAB,$RootDomain" -filter * -SearchScope OneLevelnn#Look for each LAB foreach ($LAB in $LABs)nn{nn$ECHUB = $null /Checking for a Hub account $ECHUB = get-aduser -SearchBase "OU=Users,$($LAB. DistinguishedName)" -Filter {name -like *ECHUB'} if($ECHUB -ne $null)nn{nnWrite-Output "$($LAB.Name) has account already"nn}nnElsenn{nnWrite-Output "*** $($LAB.Name) needs an account so creating ***''nn$HubFirstName = $LAB.Name.Replace("LAB","") + "EXP" Write-Output "*** Creating $HubFirstName-ECHUB ***" New-OneLABSpecUser $HubFirstl\lame ECHUB $($LAB.nnName) "Hub Account"nn}nn}nn}

Администрирование windows сервера, [email protected]