Добавление нескольких пользователей в несколько групп в AD с помощью файла CSV - PullRequest
0 голосов
/ 14 июня 2019

Я пытаюсь добавить нескольких пользователей в несколько групп из файла CSV и просматривал каждое сообщение о добавлении нескольких пользователей в несколько групп в течение последних недель, но из-за характера файла CSV у меня возникают проблемы с его правильным выполнением,

Данные в CSV-файле выглядят следующим образом

Username,FACULTY01,FACULTY02,FACULTY03,FACULTY04
"User1,group1,group2,group3"
"User2,group1,,group3,group4"
"User3,,group2,,group4"

Существует более 20 групп, каждый из которых может быть частью от 1 до 4 групп под заголовками факультетов

У меня есть следующий код

Import-Module ActiveDirectory

$csv = Import-csv C:\TestADGroupADD.csv -Header ('Username', 'FACULTY01', 'FACULTY02', 'FACULTY03', 'FACULTY04')

ForEach-Object {
   $username = $_.Username
   $Faculty = $_."Faculty01,FACULTY02,FACULTY03,FACULTY04"
   }

Foreach($Faculty in $csv){
   if ($Faculty -eq 'ADMINISTRATION') { Add-ADGroupMember -Identity $Faculty -Member $username }

   if ($Faculty -eq 'Accounting') { Add-ADGroupMember -Identity $group  -Member $username }

   if ($Faculty -eq 'SCIENCE') { Add-ADGroupMember -Identity $group  -Member $username }

   if ($Faculty -eq 'SALES') {  Add-ADGroupMember -Identity $groupe  -Member $username }

   if ($Faculty -eq 'DEANSFUND') {  Add-ADGroupMember -Identity $group  -Member $username }

   }

У меня такое чувство, что я должен использовать другой метод, чтобы объединить способности в одну переменную, но я пробовал с одной и все еще не удается - я новичок в PowerShell

Ценю вашу помощь.

1 Ответ

2 голосов
/ 14 июня 2019

Вы можете сделать что-то вроде этого:

$faculties = @("FACULTY01", "FACULTY02", "FACULTY03", "FACULTY04")
$csv = Import-csv C:\temp\test.csv -Header (@("UserName") + $faculties)

foreach ($user in $csv | Select-Object -Skip 1)
{
    foreach ($faculty in $faculties)
    {
        if ($user.$faculty)
        {
            Add-ADGroupMember -Identity $user.$faculty -Member $user.UserName
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...