Azure AD Gruppen Massenimport

Azure Dec 7, 2019

Beruflich stand ich vor der Herausforderung, das ich div. Gruppen in Azure AD erstellen muss. Dabei waren es nicht nur 5 oder 6 Gruppen, sondern weitaus mehr. Daher dachte ich mir das ich ein Skript in PowerShell dazu schreibe, das mir die Gruppen aus einer CSV Datei erstellt.

Was rede/ schreibe ich noch so lange, ich lege einfach mal los.

Voraussetzungen

Um mit dem Azure AD über PowerShell sprechen zu können bedarf es einer Isntallation des Azure AD PowerShell Addins. Dies kann mit Hilfe der folgenden beiden Befehle durchgeführt werden:

install-module azuread
import-module azuread
Bitte beachtet das Ihr die PowerShell als lokalen Administrator öffnet.

Ab jetzt habt Ihr die Möglichkeit euch mit dem Azure Ad zu verbinden.

Erste abfragen

Damit die ersten Abfragen gestartet werden können, ist es Notwendig sich mit dem Azure AD zu verbinden. Das geschieht ganz einfach mit dem Befehl:

Connect-AzureAD

Es erscheint ein Login ähnlich wie diesem

Login

Nun werden die Abfragen an das AD möglich sein. Beispielsweise das auflisten von Gruppen:

Get-AzureAdGroup

Erstellen der Gruppen aus einem CSV

Das CSV

Die CSV Datei beinhaltet lediglich einen Namen pro Zeile Beispiel

Name;Owner
Gruppe1, User1
Gruppe2, User2
Gruppe3, User3

Diese Datei ist nun als CSV Datei abzuspeichern Beispielsweise "Gruppen.csv".

Die erste Spalte speigelt den Gruppennamen wieder. Die zweite Spalte gibt an, wer der Besitzer der Gruppe ist.

Erstellen der Gruppen aus der CSV

Zuerst müssen wir die Daten der Datei einlesen

$groups= Import-Csv -Path "Gruppen.csv" -Delimiter ";"

Damit werden die Informationen in einer Listenvariablen $groups abgelegt.

Jeder dieser Elemente beinhaltet automatisch den übergebenen Header. In dem Beispiel oben:

  • Name
  • Owner

Im folgendem Skript werde ich die Daten iterieren und prüfen ob eine Gruppe mit den Namen bereits exisitert. Falls nicht, dann wird diese erstellt.

    foreach($group in $groups)
    {
        $name= $group.Name
        $owner = $group.Owner
        $foundElement =  get-azureadgroup -SearchString $name
        if ($foundElement)
        {
           
            Write-Host "$name already exists" 
        }else
        {
            Write-Host "$name does not exists!... Creating it" 
            $adGroup= New-AzureADGroup -DisplayName $name -MailEnabled $false -SecurityEnabled $true -MailNickName "NotSet"
            Write-Host "Group created with Id $adGroup.ObjectId"           
        }
    }

Nach dem Ausführen des Skripts werden die Gruppen nun angelegt. Super 👍.

Fazit

Es ist im Beruf nicht meine Hauptaufgabe IT-Administration zu erledigen, doch manchmal ist es Notwendig, schnell einfach mal ein paar Gruppen zu erstellen. Grade dann, wenn die Projektleitung ein Excel erstellen und der IT-Administration alles erläutern muss. Da ist es einfacher ein Skript zu erstellen, welches die Arbeit vereinfacht.

In Azure scheint es auch sehr einfach zu sein, so kann mit Hilfe von PowerShell die Gruppen angelegt und später auch verwaltet werden. Die Anlage geschieht sehr simpel mit Hilfe einer CSV Datei.

Tags