ejik_off
08-06-2020, 15:18
Доброго времени суток!
Нужна Ваша помощь застрял на шаге и не могу правильно построить логику скрипта.
Задача следующая: есть csv файл c колонками в одной из которых указаны samaccountname. нужно у данного пользователя найти начальника, который напрямую подчиняется директору. У пользователей в поле руководитель указан его непосредственный руководитель.
подумал можно перебирать руководителей пока не дойду до директора, если в поле руководитель у пользователя указан фио директора, значит это тот руководитель, которого нужно добавить в csv файл в строке пользователя и перейди к следующей строке. и так до конца таблицы.
$alluser = Import-csv C:\Temp\Report.csv -Delimiter ";" -Encoding UTF8
foreach($user in $allusers){
$u = Get-ADUser $user.samaccountname -Properties *
for($u.Title -eq "Директор") {
$u = (Get-ADUser $user.samaccountname -Properties * | select magager).Split('='',')[1]
#$managetName = $u.manager.Split('='',')[1]
if($managetName -eq $ppADUser.name){
Write-Host "У пользоватедя" + $u + "Руководитель : " + $manager.name
}
else {
$mannext = Get-ADUser -filter {cn -eq $managername} -Properties *
}
}
И тут я застрял, подскажите как в цикле правильно перебирать?
Нужна Ваша помощь застрял на шаге и не могу правильно построить логику скрипта.
Задача следующая: есть csv файл c колонками в одной из которых указаны samaccountname. нужно у данного пользователя найти начальника, который напрямую подчиняется директору. У пользователей в поле руководитель указан его непосредственный руководитель.
подумал можно перебирать руководителей пока не дойду до директора, если в поле руководитель у пользователя указан фио директора, значит это тот руководитель, которого нужно добавить в csv файл в строке пользователя и перейди к следующей строке. и так до конца таблицы.
$alluser = Import-csv C:\Temp\Report.csv -Delimiter ";" -Encoding UTF8
foreach($user in $allusers){
$u = Get-ADUser $user.samaccountname -Properties *
for($u.Title -eq "Директор") {
$u = (Get-ADUser $user.samaccountname -Properties * | select magager).Split('='',')[1]
#$managetName = $u.manager.Split('='',')[1]
if($managetName -eq $ppADUser.name){
Write-Host "У пользоватедя" + $u + "Руководитель : " + $manager.name
}
else {
$mannext = Get-ADUser -filter {cn -eq $managername} -Properties *
}
}
И тут я застрял, подскажите как в цикле правильно перебирать?