Azure AD Gruppen Massenimport
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
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.