Ansichten:

​​​​Verbinden der Powershell mit Azure

Für die Verbindung mit Azure wird das entsprechende Powershell Modul benötigt, sofern dieses nicht installiert ist, muss die Installation durchgeführt werden.

#Auf AzureAD Modul prüfen
Get-Module -ListAvailable AzureAD*

#AzureAD Modul installieren
Install-Module -Name AzureAD
 

Anschließend kann eine Verbindung mit dem Azure Tenant vorgenommen werden, in unserem Fall mit dem, der SBG.

# Login für Azure
Connect-AzureAD -TenantDomain "xxx.de"
 

​​​Einladen von Gästen zu Azure

​Über folgenden Befehl lassen sich Gäste zum Azure AD hinzufügen, die Einladung per E-Mail wird über den Schalter -SendInvitationMessage​ gesteuert.

# Gast einladen (ohne Nachricht)
New-AzureADMSInvitation -InvitedUserDisplayName "Max Muster" -InvitedUserEmailAddress "max@muster.de" -InviteRedirectURLhttps://myapps.microsoft.com -SendInvitationMessage $false
 

Verbinden der Powershell mit SharePoint online

Für die Verbindung mit SharePoint Online Management Shell​ wird das entsprechende Powershell Modul benötigt, sofern dieses nicht installiert ist, muss die Installation durchgeführt werden.

#Auf SharePoint online Management Shell prüfen
Get-Module -Name Microsoft.Online.SharePoint.PowerShell -ListAvailable | Select Name,Version

#SharePoint online Management Shell installieren
Install-Module -Name Microsoft.Online.SharePoint.PowerShell
 

Anschließend kann die Verbindung mit dem SharePoint online durchgeführt werden.

# Login für SharePoint online
$userCredential = Get-Credential -UserName "admin@xxx.onmicrosoft.com" -Message "Type the password."
Connect-SPOService -Url https://xxx-admin.sharepoint.com -Credential $userCredential
 

​​Einbinden von Benutzern in SharePoint Seiten

Über folgenden Befehl lassen sich Benutzer oder Gäste zu einer bestimmten Gruppe auf einer bestimmten SharePoint Seite hinzufügen.​​

# Benutzer zu SharePoint hinzufügen
Add-SPOUser -Site "https://xxx.sharepoint.com/sites/SBG-Chemielaborant" -Group "Besucher von SBG-Chemielaborant" -LoginName "max@muster.de"

 

Import via PowerShell Skript und User CSV

​In folgendem Skript werden die Benutzer aus einer CSV (Kommagetrennt -> Wichtig für PoweShell Verarbeitung) eingelesen. Die CSV enthält drei "Spalten": Vorname, Nachname, Adresse.
Die Basisparameter werden im oberen Teil des Skripts definiert und dienen zur Bestimmung der lokalen Dateipfade und der Ziele im Azure bzw. im SHarePoint online.

# Login für SharePoint online
$adminUPN="admin@xxx.onmicrosoft.com"
$orgName="xxx"
$userCredential = Get-Credential -UserName $adminUPN -Message "Type the password."
Connect-SPOService -Url https://$orgName-admin.sharepoint.com -Credential $userCredential

# Login für Azure
Connect-AzureAD -TenantDomain "sbgdd.de"

# Basisparameter
$path = "c:\temp\Chemielaborant.csv"
$site = "https://xxx.sharepoint.com/sites/SiteNamet"
$group = "Besucher von SiteName"
$department = "Chemielaborant"
$errorLog = "C:\temp\Chemielaborant.txt"

# Schleife zum Hinzufügen der Gäste zu Azure
Import-csv -path $path | Foreach-Object {

    $displayName = "$($_.Vorname) $($_.Name)"
    
    try {
        Write-Output "Create Azure User: $($displayName)"

        $azureUser = New-AzureADMSInvitation -InvitedUserDisplayName $displayName -InvitedUserEmailAddress $_.Adresse -InviteRedirectURL https://myapps.microsoft.com -SendInvitationMessage $false
        # Setzen von verschiedenen AD Attributen für den angelegten User
        Set-AzureADUser -ObjectId $azureUser.InvitedUser.Id -GivenName $_.Vorname
        Set-AzureADUser -ObjectId $azureUser.InvitedUser.Id -Surname $_.Name
        Set-AzureADUser -ObjectId $azureUser.InvitedUser.Id -Department $department
    }
    catch {
        Write-Output "Error creating Azure User: $($displayName)"
        Write-Output "Error creating Azure User: $($displayName)" >> $errorLog
        Write-Output $_ >> $errorLog
    }
}

# Schleife zum Hinzufügen der Benutzer zur SharePoint Gruppe der angegebenen SharePoint Seite
Import-csv -path $path | Foreach-Object {

        $displayName = "$($_.Vorname) $($_.Name)"

    try {
        Write-Output "Add SPO User: $($displayName)"

        $SPOUser = Add-SPOUser -Site $site -Group $group -LoginName $_.Adresse
    }
    catch {
        Write-Output "Error adding SPO User: $($displayName)"
        Write-Output "Error adding SPO User: $($displayName)" >> $errorLog
        Write-Output $_ >> $errorLog
    }
}
Kommentare (0)