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 } }