Benutzer-Synchronisation mit Azure AD/Active Directory

Dieser Artikel ist sowohl als Video als auch als schriftlicher Artikel mit weiteren Details verfügbar.
Hinweis: Aufgrund von Änderungen am PowerShell-Modul sind Teile des Videos veraltet. Das Video kann weiterhin als Referenz verwendet werden. Der Code in diesem Artikel ist auf dem neuesten Stand.

Die Azure AD / Active Directory-Synchronisierung kann automatisch Benutzer aus Azure AD oder Active Directory erstellen, aktualisieren und deaktivieren.

Wir haben das PowerShell-Modul "BrightBookingUserAdminTools" erstellt, das diese Logik übernimmt. Wenn Sie eine (geplante) Aufgabe mit den richtigen PowerShell-Befehlen erstellen, können Sie diese Informationen regelmäßig von Ihrem Server an GoBright senden.

Hinweis: GoBright empfängt Daten nur über diese BrightBookingUserAdminTools. GoBright hat keine Berechtigung, Daten an Ihr Azure AD / Active Directory zurückzusenden.

GoBright als eine Unternehmensanwendung in Azure AD

Bevor wir mit dem folgenden Abschnitt fortfahren, möchten wir darauf hinweisen, dass Sie GoBright als Unternehmensanwendung in Azure AD einrichten können. Dadurch können Sie automatisch Benutzer auf der Plattform erstellen/aktualisieren und SSO einfach aktivieren. Wir empfehlen dringend, die Schritte im folgenden Artikel zu befolgen, bevor Sie fortfahren: GoBright as an Enterprise Application (Azure AD)

Einführung

Die Integrationslogik ist als PowerShell-Modul über die PowerShellGallery als "BrightBookingUserAdminTools" verfügbar.

Das PowerShell-Modul "BrightBookingUserAdminTools" sollte auf einem Computer (Server) in Ihrer Domäne installiert werden.

Wenn es konfiguriert ist, führt es bei jedem Start die folgenden Schritte aus:

  1. Holen Sie sich die Benutzer aus Azure AD oder Active Directory, gefiltert nach Ihren Präferenzen, z. B. gefiltert nach Gruppenmitgliedschaft
  2. Diese Benutzer werden an GoBright gesendet und sofort erstellt oder aktualisiert.
  3. Wenn der Benutzer in Azure AD oder Active Directory deaktiviert wird, wird er auch in GoBright
  4. Benutzer, die nicht aus dem Azure AD oder Active Directory gelesen werden, werden auch nicht in GoBright

Folgen Sie den nachstehenden Schritten zur Installation und Konfiguration der Integration!

Schritt 1

Voraussetzungen installieren

Für das BrightBookingUserAdminTools-Modul gelten die folgenden Abhängigkeiten:

  • PowerShell Version 5 oder höher
  • Die folgenden PowerShell-Module:
    • PowerShellGallery
    • ActiveDirectory
    • Azure AD
  • Der Rechner (Server) sollte in Ihrer Windows-Domäne eingebunden sein

Bitte folgen Sie den nächsten Schritten, um die Abhängigkeiten zu installieren:

  1. Melden Sie sich an dem Rechner (Server) an, auf dem Sie den Task installieren möchten. (Dieser Rechner sollte mit der Windows-Domäne verbunden sein).
  2. Starten Sie PowerShell auf diesem Computer als "administator":
    clip0001-279x300.jpg
  3. Überprüfen Sie, ob PowerShell 5 installiert ist:
    • Führen Sie den folgenden Befehl aus:
      $PSVersionTable.PSVersion
    • In dem Ergebnis, das Sie erhalten, sollte der "Major" eine "5" oder höher sein.
    • Wenn die 'Major' niedriger ist als '5', befolgen Sie diese Schritte:
      • Installieren Sie Windows Management Framework 5 (dies beinhaltet PowerShell 5):
        Download Windows Management Framework 5
      • Hinweis 1: Wenn Sie die Fehlermeldung "Das Update ist nicht auf Ihren Computer anwendbar" erhalten, haben Sie wahrscheinlich den falschen Download ausgewählt; bitte lesen Sie diesen Artikel.
      • Hinweis 2: Windows Management Framework 5 hängt von .NET Framework 4.5 ab.
      • Hinweis 3: Ein Neustart ist wahrscheinlich erforderlich.
      • Nach der Installation überprüfen Sie bitte, ob die 'Major' ist '5' oder höher:
        $PSVersionTable.PSVersion
  4. PowerShell ExecutionPolicy(optional)
    • PowerShell ExecutionPolicy auf Unrestricted setzen
      • Set-ExecutionPolicy -ExecutionPolicy Unrestricted
  5. Installieren Sie das PowerShellGallery PowerShell-Modul:
    • Führen Sie die folgenden Befehle in PowerShell aus (als Administrator ausgeführt)
    • Installieren Sie den NuGet PackageProvider:
      Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force
    • Konfigurieren Sie PowerShellGallery als vertrauenswürdige Quelle:
      Set-PSRepository -Name PSGallery -InstallationPolicy Trusted
    • Installieren Sie das PowerShellGet-Modul:
      Import-Module -Name PowerShellGet
  6. Wenn Sie synchronisieren möchten mit Aktives Verzeichnis: Installieren Sie das ActiveDirectory PowerShell-Modul:
  7. Wenn Sie synchronisieren möchten mit Azure AD: Installieren Sie das Microsoft.Graph PowerShell-Modul:
    • Führen Sie die folgenden Befehle in PowerShell aus (als Administrator ausgeführt)
    • Hinweis: .Net Framework 4.7.2 oder höher ist erforderlich, weitere Dokumentation unter: https://learn.microsoft.com/en-us/powershell/microsoftgraph/installation?view=graph-powershell-1.0
    • Installieren Sie die entsprechenden Microsoft.Graph-Module:
      Install-Module Microsoft.Graph.Applications -Force Install-Module Microsoft.Graph.Users -Force Install-Module Microsoft.Graph.Groups -Force Install-Module Microsoft.Graph.Identity.DirectoryManagement -Force

Schritt 2

Installation/Aktualisierung des Synchronisationsmoduls

Installieren oder aktualisieren Sie das BrightBookingUserAdminTools PowerShell-Modul:

Install-Module -Name BrightBookingUserAdminTools -Force

Der Befehl "-Force" sorgt dafür, dass die neueste Version des Moduls installiert wird, auch wenn eine frühere Installation vorhanden ist. Wenn das Modul bereits installiert war, muss die PowerShell-Sitzung neu gestartet werden.

Schritt 3

Konfiguration: Abrufen der API-URL und des API-Schlüssels

Um die Benutzer synchronisieren zu können, müssen Sie die folgenden Informationen im GoBright Portal abrufen:

  • Die API-URL und der API-Schlüssel
  • Der Name der Integration, die mit den Benutzern verknüpft werden soll

Folgen Sie diesen Schritten, um die API-URL und den API-Schlüssel zu finden:

  • Melden Sie sich mit einem Manager-Konto im Portal GoBright an.
  • Gehen Sie zu Admin center > Integrationen > API-Zugang
  • Erzeugen Sie einen API-Schlüssel über die Schaltfläche "Hinzufügen". Wählen Sie als Typ "Manager" und geben Sie eine Beschreibung für eine spätere Referenz ein
    • Hinweis: Bitte stellen Sie sicher, dass Sie den API-Schlüssel speichern, da es keine Möglichkeit gibt, ihn wiederherzustellen.
  • Die "API-URL" ist Ihre GoBright Umgebungs-URL, die Sie in der URL-Leiste Ihres Browsers und unter Admin-Center > Integrationen > API-Zugang finden: API url https://[tenant-id].gobright.cloud/

Gehen Sie folgendermaßen vor, um den Namen der Integration zu ermitteln:

  • Melden Sie sich mit einem Manager-Konto im Portal GoBright an.
  • Gehen Sie zu Admin center > Integrationen
  • Kopieren Sie den Namen der Integration (Exchange/Office 365), mit der die Benutzer verknüpft werden sollen

In den nächsten Schritten werden der Name der Integration, die API-URL und der API-Schlüssel benötigt.

Schritt 4

Konfigurieren Sie das PowerShell-Skript für die Synchronisierung

Im letzten Schritt erstellen Sie das eigentliche Skript, um dem GoBright PowerShell-Modul mitzuteilen, welche Benutzer Sie abrufen und in Ihre GoBright Umgebung übertragen möchten. Dies kann mit Azure AD oder Active Directory durchgeführt werden.

Die Plattform GoBright erzwingt die Kommunikation über TLS 1.2. Je nach System, das Sie verwenden, geschieht dies möglicherweise nicht automatisch. Sehen Sie sich den folgenden Code an und implementieren Sie ihn in jedes PowerShell-Skript, das mit GoBright kommuniziert.

Fügen Sie auch die $ErrorActionPreference hinzu, um sicherzustellen, dass das Skript bei Auftreten eines Fehlers angehalten wird. Vergessen Sie bitte nicht, die folgenden Zeilen in jedes Ihrer Skripte einzufügen.

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 
$ErrorActionPreference = "Stop"

Wählen Sie eine der folgenden Erklärungen für das Skript aus, die auf Ihre Situation zutrifft.

Skript für die Synchronisierung von Azure AD mit dem Microsoft.Graph-Modul

Schritt 4.1: Verbinden Sie sich mit Ihrem Azure AD

Starten Sie PowerShell und stellen Sie über den Befehl eine Verbindung zu Ihrem Azure AD her:

Connect-MgGraph -Scopes 'User.Read.All','Group.Read.All','GroupMember.Read.All'

Schritt 4.2: Testen Sie die Auswahl der Benutzer

Im Folgenden finden Sie einige Beispielbefehle, die Sie an Ihre Situation anpassen können.

Diese Befehle aktualisieren noch nicht die Benutzer in GoBright, da sie den Parameter "-WhatIf" enthalten.

Beispiel für Synchronisationsbefehle:

Verarbeiten Sie Benutzer und fügen Sie die Benutzerrollen innerhalb von GoBright basierend auf ihrer Gruppenmitgliedschaft in Azure AD hinzu:

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 $ErrorActionPreference = "Stop" Connect-MgGraph -Scopes 'User.Read.All','Group.Read.All','GroupMember.Read.All' $includedGroups = @()
$includedGroups += '[your AzureAD groupname_1 here]' $includedGroups += '[your AzureAD groupname_2 here]'

# get the list of userid's in the group $groups = Get-MgGroup -All | Where-Object { $includedGroups -contains $_.DisplayName } $users_in_groups_userids = @(); Foreach ($group in $groups) { $groupMembers = Get-MgGroupMember -All -GroupID $group.id Foreach ($groupMember in $groupMembers) { $users_in_groups_userids += $groupMember.Id } } # get the required details of those users $users_full_list = Get-MgUser -All -Select Id,DisplayName,Mail,UserPrincipalName,AccountEnabled,MobilePhone,AssignedLicenses $users = $users_full_list | Where-Object { $users_in_groups_userids -contains $_.Id } Write-Output "Loaded from AzureAD: $(($users | Measure-Object).Count) users" # define the mapping of groups to roles $groupToRoleMapping = @()
$groupToRoleMapping += @ # match specific users that belong to a group for Meet-Work-Visit
$groupToRoleMapping += @ # match specific users that belong to a group for Meet-Work-Visit
$groupToRoleMapping += @ # match specific users that belong to a group for Meet-Work-Visit
$groupToRoleMapping += @ # match specific users that belong to a group for View

$groupToRoleMapping += @ # **special case** this line matches for every user, because of the 'MatchType', and is needed when you want to have a generic role for every user

$roleNameDefaultIfNoGroupMatched = "Regular user"


$users | Push-AzureADUsersToBB -DeactivateExistingUsersInSameIntegrationThatAreNotLoaded -UserDefaultRoleName $roleNameDefaultIfNoGroupMatched -GroupUserRoleMapping $groupToRoleMapping -BrightBookingApiUrl '[API url]' -BrightBookingApiKey '[API key]' -BrightBookingIntegrationName '[name of integration as created in Admin center > Integrations]' -WhatIf

Verfügbare Parameter für Push-AzureADUsersToBB

Sie können die folgenden Parameter in dem Befehl "Push-AzureADUsersToBB" verwenden:

-ADUserSpecificUsername UserPrincipalName
(optional)

Standardmäßig wird der Benutzer mit der primären E-Mail-Adresse des Benutzers beim Microsoft Exchange Server oder Office365 authentifiziert.

Geben Sie diesen Wert an, um eine andere Art der Benutzerauthentifizierung beim Microsoft Exchange Server oder Office365 zu verwenden:
UserPrincipalName zur Verwendung der UPN

-ADUserPincodePropertyName
(optional)

Geben Sie einen Feldnamen eines Feldes in Active Directory an, das Sie als "Pincode" verwenden möchten (muss numerisch sein, mindestens 4 Ziffern haben und eindeutig sein).

-ADUserMobilePropertyName
(optional)

Geben Sie einen Feldnamen eines Feldes in Active Directory an, das Sie verwenden möchten, um die Mobiltelefonnummer der Benutzer zu erhalten (z. B. für die Benachrichtigung über den digitalen Empfang).
Standardmäßig wird das Standardfeld "Mobile" verwendet.

-ADUserNFCIdPropertyName
(optional)

Geben Sie einen Feldnamen eines Feldes in Active Directory an, das Sie verwenden möchten, um die NFC-Kennung für diesen Benutzer zu erhalten.
Bitte beachten Sie, dass der Name im HEX-Format angegeben werden muss, z. B: XX:XX:XX:XX:XX:XX:XX .

-ADUserDefaultCostCenterId OrNamePropertyName
(optional)

Geben Sie einen Feldnamen eines Feldes in Active Directory an, das Sie verwenden möchten, um die Standardkostenstelle für diesen Benutzer festzulegen. Sie können den Namen oder die ID ("guid") der Kostenstelle angeben, wobei der Name am häufigsten verwendet wird.

-GroupUserRoleMapping

Dieser Parameter gibt Ihnen die Möglichkeit, einem Benutzer in der Plattform eine Rolle zuzuweisen, die auf einer Gruppenzugehörigkeit im Azure AD basiert.
Sie müssen eine Hashtabelle (eine Schlüssel- und Werteliste) angeben, wobei der Schlüssel der vollständige FQN der Gruppe und der Wert der Rollenname in der Plattform ist.

Siehe das folgende Beispiel.

-UserRoleNameForNewUsers
(optional)

Optionaler Name einer vorhandenen Rolle im Portal, die verwendet werden soll, wenn neue Benutzer durch diese Synchronisation angelegt werden.

-DeactivateExistingUsersIn
SameIntegrationThatAreNotLoaded
(optional)

Optionaler Schalter zur automatischen Deaktivierung von Benutzern, die nicht mehr in den ausgewählten Benutzern aus ActiveDirectory enthalten sind, aber noch im Portal existieren.
Verwenden Sie diesen Schalter, um sie automatisch zu deaktivieren.
Es werden nur Benutzer in derselben Integration berücksichtigt (siehe Parameter: BrightBookingIntegrationName)

-IncludeUsersWithoutAzureAD
AssignedLicensesOrAssignedPlans

Schließen Sie Benutzer ein, denen keine Azure AD-Lizenzen zugewiesen sind (sie würden sonst als inaktiv eingestuft werden) oder denen keine Azure AD-Pläne zugewiesen sind (sie würden sonst vollständig ausgeschlossen werden). Beachten Sie, dass die Einbeziehung dieser Benutzer dazu führen kann, dass unbeabsichtigte "Benutzer" wie Servicekonten, Raummailbox-Benutzer usw. vorhanden sind. Dies kann durch Filtern der Benutzer vor der Eingabe in diesen Befehl abgemildert werden.

-BrightBookingApiUrl
(erforderlich)
Die API-URL, wie in Schritt 3 gefunden
-BrightBookingApiKey
(erforderlich)
Die API-URL, wie in Schritt 3 gefunden
-BrightBookingIntegrationName
(erforderlich)
Die API-URL, wie in Schritt 3 gefunden
-WasWenn
(fakultativ)
Verwenden Sie den Parameter "-WhatIf", um nur zu testen und zu sehen, aber nicht tatsächlich Daten an Ihre GoBright Umgebung zu senden.

Schritt 4.2: Ausführen der eigentlichen Synchronisierung

Sobald die Liste der Benutzer korrekt gefiltert ist, können Sie die eigentliche Synchronisierung durchführen, indem Sie den Parameter "-WhatIf" entfernen.

Führen Sie nun denselben Befehl aus, aber ohne "-WhatIf", und die Benutzer werden in Ihrer Umgebung GoBright verarbeitet.

Schritt 4.3: Planen Sie die regelmäßige Ausführung der Integration über den Windows-Taskplaner

Um das Skript unbeaufsichtigt ausführen zu können, sollten Sie sich irgendwie automatisch anmelden.
Es wird empfohlen, die unbeaufsichtigte Anmeldung zu verwenden, dies kann über Zertifikate, über die App-Registrierung in Azure AD erfolgen:

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 $ErrorActionPreference = "Stop"



#This script will create een enterprise app with a local certificate for unattended authorisation.
#Set the enterprise app name $AppName = "GoBright_UserSync_UnattendedLogin" $ErrorActionPreference = "Stop" #Connect with the graph to be able to create or update the application Connect-MgGraph -Scopes "Application.Read.All","Application.ReadWrite.All" #Get the tenantid $organization = Get-MgOrganization $APPTenantID = $organization.Id #Create or update the enterprise app $foundApps = Get-MgApplication | Where-Object {$_.DisplayName -eq $AppName} $foundAppsCount = $foundApps | Measure-Object if ($foundAppsCount.Count -eq 0) { # create the app $App = New-MgApplication -DisplayName $AppName $APPObjectID = $App.Id $APPClientID = $App.AppId } Else { $APPObjectID = $foundApps.Id $APPClientID = $foundApps.AppId } #Create a local self-signed certificate to use it as credential for the enterprise app $foundCerts = Get-ChildItem -Path cert:CurrentUsermy | Where-Object { $_.Subject -eq "CN=$($AppName)" } $foundCertsCount = $foundCerts | Measure-Object If ($foundCertsCount.Count -eq 0) { # create self-signed cert $thumb = (New-SelfSignedCertificate -CertStoreLocation Cert:CurrentUserMy -subject $AppName -KeyExportPolicy Exportable -NotAfter (Get-Date).AddYears(20) -Type CodeSigningCert -KeySpec Signature).Thumbprint $foundCerts = Get-ChildItem -Path cert:CurrentUsermy$thumb $cert = $foundCerts[0] } Else { $cert = $foundCerts[0] } #Create a keyCredential from the certificate for the enterprise app $keyCreds = @{ Type = "AsymmetricX509Cert"; Usage = "Verify"; key = $cert.RawData } try { #Set credentials Update-MgApplication -ApplicationId $APPObjectID -KeyCredentials $keyCreds #Set permission scopes, needs to go via id, see: https://learn.microsoft.com/en-us/graph/permissions-reference #'User.Read.All' = df021288-bdef-4463-88db-98f22de89214 #'Group.Read.All' = 5b567255-7703-4780-807c-7be8301ae99b #'GroupMember.Read.All' = 98830695-27a2-44f7-8c18-0c3ebc9698f6 $params = @{ RequiredResourceAccess = @( @{ ResourceAppId = "00000003-0000-0000-c000-000000000000" ResourceAccess = @( @{ Id = "df021288-bdef-4463-88db-98f22de89214" Type = "Role" }, @{ Id = "5b567255-7703-4780-807c-7be8301ae99b" Type = "Role" }, @{ Id = "98830695-27a2-44f7-8c18-0c3ebc9698f6" Type = "Role" } ) } )} Update-MgApplication -ApplicationId $APPObjectID -BodyParameter $params } catch { Write-Error $Error[0] } #Output details and request the admin to check the consent
Write-Output "App registration '$($AppName)' is now available, please use following details in the user sync script:"
Write-Output " - ClientId: $($APPClientID)"
Write-Output " - TenantId: $($APPTenantID)"
Write-Output " - CertificateThumbprint: $($cert.Thumbprint)"
Write-Output "NOTE: Please give admin consent in the AzureAD portal to this app!"

Admin-Zustimmung in AzureAD

Gehen Sie zum Azure-Portal und öffnen Sie die erstellte Unternehmensanwendung für die unbeaufsichtigte Anmeldung und wählen Sie API-Berechtigung > Admin-Zustimmung für "Ihre Domäne" erteilen

Nun können Sie die folgende Methode verwenden, um sich automatisch mit der unbeaufsichtigten Anmeldemethode an Ihrem Azure AD anzumelden und Ihr Skript mittels '-WhatIf' zu testen, bevor Sie das eigentliche Skript zur Benutzersynchronisierung ausführen:

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
$ErrorActionPreference = "Stop"

$clientid = "[fill in your client from the output of the first script]" $tenantid = "[fill in your tenant id from the output of the first script]" $thumb = "[fill in your thumb id from the output of the first script]" Connect-MgGraph -ClientId $clientid -TenantId $tenantid -CertificateThumbprint $thumb
$includedGroups = @()
$includedGroups += '[your AzureAD groupname_1 here]' $includedGroups += '[your AzureAD groupname_2 here]'

# get the list of userid's in the group $groups = Get-MgGroup -All | Where-Object { $includedGroups -contains $_.DisplayName } $users_in_groups_userids = @(); Foreach ($group in $groups) { $groupMembers = Get-MgGroupMember -All -GroupID $group.id Foreach ($groupMember in $groupMembers) { $users_in_groups_userids += $groupMember.Id } } # get the required details of those users $users_full_list = Get-MgUser -All -Select Id,DisplayName,Mail,UserPrincipalName,AccountEnabled,MobilePhone,AssignedLicenses $users = $users_full_list | Where-Object { $users_in_groups_userids -contains $_.Id } Write-Output "Loaded from AzureAD: $(($users | Measure-Object).Count) users" # define the mapping of groups to roles $groupToRoleMapping = @()
$groupToRoleMapping += @ # match specific users that belong to a group for Meet-Work-Visit
$groupToRoleMapping += @ # match specific users that belong to a group for Meet-Work-Visit
$groupToRoleMapping += @ # match specific users that belong to a group for Meet-Work-Visit
$groupToRoleMapping += @ # match specific users that belong to a group for View

$groupToRoleMapping += @ # **special case** this line matches for every user, because of the 'MatchType', and is needed when you want to have a generic role for every user

$roleNameDefaultIfNoGroupMatched = "Regular user"


$users | Push-AzureADUsersToBB -DeactivateExistingUsersInSameIntegrationThatAreNotLoaded -UserDefaultRoleName $roleNameDefaultIfNoGroupMatched -GroupUserRoleMapping $groupToRoleMapping -BrightBookingApiUrl '[API url]' -BrightBookingApiKey '[API key]' -BrightBookingIntegrationName '[name of integration as created in Admin center > Integrations]' -WhatIf

Führen Sie anschließend die folgenden Schritte aus, um die Benutzer nach einem bestimmten Zeitplan aus Active Directory zu synchronisieren:

  • Nehmen Sie den Befehl, den Sie verfasst haben (siehe vorherige Schritte), und speichern Sie ihn in einer .ps1-Datei:
    • Erstellen Sie eine .ps1-Datei (z. B. UsersToBrightBooking.ps1) in einem Ordner Ihrer Wahl
    • Öffnen Sie die Datei mit einem Editor, z. B. 'notepad'.
    • Fügen Sie das Anmeldeskript ein, um sich automatisch bei Ihrem Azure AD anzumelden
    • Fügen Sie den vollständigen Befehl in die Datei ein
    • Speichern Sie die Datei
  • Führen Sie die Datei aus, um zu sehen, ob sie erfolgreich ist
  • Erstellen Sie eine Aufgabe in der Windows-Aufgabenplanung:
    • Windows-Aufgabenplaner öffnen
    • Eine Aufgabe erstellen
    • Legen Sie einen Zeitplan fest, z. B. einmal pro Tag oder alle 4 Stunden
    • Hinzufügen einer Aktion 'Programm starten':
      • Programm/Skript:
        Powershell.exe
      • Parameter:
        -windowstyle minimized -c "powershell -c .[Name der erstellten .ps1-Datei] -verbose >> ExportToGoBright_Output.txt 2>&1″
      • Start in:
        Geben Sie unter "Start in" den Speicherort des Skripts ein, z. B:C:Skripte

"Skript

"]

Schritt 4.1: Verbinden Sie sich mit Ihrem Azure AD

Starten Sie PowerShell und verbinden Sie sich mit Ihrem Azure AD über den Standardbefehl "Connect-AzureAD".

Das AzureAD-Powershell-Modul ist veraltet

Bitte beachten Sie, dass das AzureAD-Powershell-Modul veraltet ist. Bitte wechseln Sie zum Microsoft.Graph-Powershell-Modul (siehe oben in diesem Artikel)

Schritt 4.2: Testen Sie die Auswahl der Benutzer

Der Befehl zum Abrufen der Informationen aus Active Directory und zur Verarbeitung in BrightBooking lautet:

Get-AzureADUser -All $true [optional: filter] | Push-AzureADUsersToBB [optional: specific username/pincode field] -BrightBookingApiUrl '[API url]' -BrightBookingApiKey '[API key]' -BrightBookingIntegrationName '[name of integration as created in Admin center > Integrations]'

Sie können die folgenden Parameter in dem Befehl "Push-AzureADUsersToBB" verwenden:

-ADUserSpecificUsername UserPrincipalName
(optional)

Standardmäßig wird der Benutzer mit der primären E-Mail-Adresse des Benutzers beim Microsoft Exchange Server oder Office365 authentifiziert.

Geben Sie diesen Wert an, um eine andere Art der Benutzerauthentifizierung beim Microsoft Exchange Server oder Office365 zu verwenden:
UserPrincipalName zur Verwendung der UPN

-ADUserPincodePropertyName
(optional)

Geben Sie einen Feldnamen eines Feldes in Active Directory an, das Sie als "Pincode" verwenden möchten (muss numerisch sein, mindestens 4 Ziffern haben und eindeutig sein).

-ADUserMobilePropertyName
(optional)

Geben Sie einen Feldnamen eines Feldes in Active Directory an, das Sie verwenden möchten, um die Mobiltelefonnummer der Benutzer zu erhalten (z. B. für die Benachrichtigung über den digitalen Empfang).
Standardmäßig wird das Standardfeld "Mobile" verwendet.

-ADUserNFCIdPropertyName
(optional)

Geben Sie einen Feldnamen eines Feldes in Active Directory an, das Sie verwenden möchten, um die NFC-Kennung für diesen Benutzer zu erhalten.
Bitte beachten Sie, dass der Name im HEX-Format angegeben werden muss, z. B: XX:XX:XX:XX:XX:XX:XX .

-ADUserDefaultCostCenterId OrNamePropertyName
(optional)

Geben Sie einen Feldnamen eines Feldes in Active Directory an, das Sie verwenden möchten, um die Standardkostenstelle für diesen Benutzer festzulegen. Sie können den Namen oder die ID ("guid") der Kostenstelle angeben, wobei der Name am häufigsten verwendet wird.

-GroupUserRoleMapping

Dieser Parameter gibt Ihnen die Möglichkeit, einem Benutzer in der Plattform eine Rolle zuzuweisen, die auf einer Gruppenzugehörigkeit im Azure AD basiert.
Sie müssen eine Hashtabelle (eine Schlüssel- und Werteliste) angeben, wobei der Schlüssel der vollständige FQN der Gruppe und der Wert der Rollenname in der Plattform ist.

Siehe das folgende Beispiel.

-UserRoleNameForNewUsers
(optional)

Optionaler Name einer vorhandenen Rolle im Portal, die verwendet werden soll, wenn neue Benutzer durch diese Synchronisation angelegt werden.

-DeactivateExistingUsersIn
SameIntegrationThatAreNotLoaded
(optional)

Optionaler Schalter zur automatischen Deaktivierung von Benutzern, die nicht mehr in den ausgewählten Benutzern aus ActiveDirectory enthalten sind, aber noch im Portal existieren.
Verwenden Sie diesen Schalter, um sie automatisch zu deaktivieren.
Es werden nur Benutzer in derselben Integration berücksichtigt (siehe Parameter: BrightBookingIntegrationName)

-IncludeUsersWithoutAzureAD
AssignedLicensesOrAssignedPlans

Schließen Sie Benutzer ein, denen keine Azure AD-Lizenzen zugewiesen sind (sie würden sonst als inaktiv eingestuft werden) oder denen keine Azure AD-Pläne zugewiesen sind (sie würden sonst vollständig ausgeschlossen werden). Beachten Sie, dass die Einbeziehung dieser Benutzer dazu führen kann, dass unbeabsichtigte "Benutzer" wie Servicekonten, Raummailbox-Benutzer usw. vorhanden sind. Dies kann durch Filtern der Benutzer vor der Eingabe in diesen Befehl abgemildert werden.

-BrightBookingApiUrl
(erforderlich)
Die API-URL, wie in Schritt 3 gefunden
-BrightBookingApiKey
(erforderlich)
Die API-URL, wie in Schritt 3 gefunden
-BrightBookingIntegrationName
(erforderlich)
Die API-URL, wie in Schritt 3 gefunden
-WasWenn
(fakultativ)
Verwenden Sie den Parameter "-WhatIf", um nur zu testen und zu sehen, aber nicht tatsächlich Daten an Ihre GoBright Umgebung zu senden.

Nachfolgend finden Sie einige Beispielbefehle, die Sie nach Bedarf an Ihre Situation anpassen können.

Diese Befehle aktualisieren die Benutzer im System noch nicht, es handelt sich also um Testbefehle, da sie den Parameter "-WhatIf" enthalten.

Beispiel für Testbefehle:

Verarbeiten Sie alle Benutzer im Azure AD auf GoBright:

Get-AzureADUser -All $true | Push-AzureADUsersToBB -BrightBookingApiUrl '[API url]' -BrightBookingApiKey '[API key]' -BrightBookingIntegrationName '[name of integration as created in Admin center > Integrations]' -WhatIf

Verarbeiten Sie Benutzer mit UPN's, die mit 'yourdomain.com' enden, auf GoBright:

Get-AzureADUser -All $true | where {$_.userprincipalname -like "*yourdomain.com"} | Push-AzureADUsersToBB -BrightBookingApiUrl '[API url]' -BrightBookingApiKey '[API key]' -BrightBookingIntegrationName '[name of integration as created in Admin center > Integrations]' -WhatIf

Verarbeiten Sie Benutzer mit einer NFC-ID und einem Pincode in einem benutzerdefinierten Attribut. Beachten Sie, dass der Name des Erweiterungsattributs mit dem in Azure AD identisch sein muss:

$users_all_import = Get-AzureADUser -All $true [optional: filter]
$users_all = @()


$pincodeField = '[Extension attribute here]'


$NFCField = '[Extension attribute here]'


Foreach ($user in $users_all_import) {

$getExtensionProperty = $user | Select-Object -ExpandProperty ExtensionProperty

If ($getExtensionProperty.$pincodeField) {

$pin = (Get-AzureADUserExtension -ObjectId $user.ObjectId).get_item($pincodeField)

} Else {

$pin = ''

}


If ($getExtensionProperty.$NFCField) {

$nfc = (Get-AzureADUserExtension -ObjectId $user.ObjectId).get_item($NFCField)

} Else {

$nfc = ''

}


$user | Add-Member UserPincode $pin -Force

$user | Add-Member UserNFC $nfc -Force

$users_all += $user

}


$users_all | Push-AzureADUsersToBB -ADUserPincodePropertyName UserPincode -ADUserNFCIdPropertyName UserNFC -BrightBookingApiUrl '[API url]' -BrightBookingApiKey '[API key]' -BrightBookingIntegrationName '[name of integration as created in Admin center > Integrations]' -WhatIf

Verarbeiten Sie Benutzer und fügen Sie die Benutzerrollen innerhalb von GoBright basierend auf ihrer Gruppenmitgliedschaft in Azure AD hinzu:

$groupToRoleMapping = @()
$groupToRoleMapping += @ # match specific users that belong to a group for Meet-Work-Visit
$groupToRoleMapping += @ # match specific users that belong to a group for Meet-Work-Visit
$groupToRoleMapping += @ # match specific users that belong to a group for Meet-Work-Visit
$groupToRoleMapping += @ # match specific users that belong to a group for View

$groupToRoleMapping += @ # **special case** this line matches for every user, because of the 'MatchType', and is needed when you want to have a generic role for every user

$roleNameDefaultIfNoGroupMatched = "Regular user"


$users_all = Get-AzureADUser -All $true
$users_all | Push-AzureADUsersToBB -UserDefaultRoleName $roleNameDefaultIfNoGroupMatched -GroupUserRoleMapping $groupToRoleMapping -BrightBookingApiUrl '[API url]' -BrightBookingApiKey '[API key]' -BrightBookingIntegrationName '[name of integration as created in Admin center > Integrations]' -WhatIf

Verarbeiten Sie alle Benutzer außer denen, die Mitglied einer bestimmten Gruppe in Azure AD sind:

$excludedGroups = @()
$excludedGroups += '[GroupName1]'
$excludedGroups += '[GroupName2]'
$excludedGroups += '[GroupName3]'
$ADGroups = Get-AzureADGroup -All $true | Where-Object { $excludedGroups -notcontains $_.DisplayName }
$users_all = $ADGroups | Get-AzureADGroupMember -All $true
$users_all | Push-AzureADUsersToBB -BrightBookingApiUrl '[API url]' -BrightBookingApiKey '[API key]' -BrightBookingIntegrationName '[name of integration as created in Admin center > Integrations]' -WhatIf

Schritt 4.2: Ausführen der eigentlichen Synchronisierung

Sobald die Liste der Benutzer korrekt gefiltert ist, können Sie die eigentliche Synchronisierung durchführen, indem Sie den Parameter "-WhatIf" entfernen.

Führen Sie nun denselben Befehl aus, aber ohne "-WhatIf", und die Benutzer werden in Ihrer Umgebung GoBright verarbeitet.

Schritt 4.3: Planen Sie die regelmäßige Ausführung der Integration über den Windows-Taskplaner

Um das Skript unbeaufsichtigt ausführen zu können, sollten Sie sich irgendwie automatisch anmelden.

Empfohlene Methode für die unbeaufsichtigte Anmeldung:
Die empfohlene Methode für die unbeaufsichtigte Anmeldung ist die Erstellung einer registrierten Anwendung in Azure AD und die Verbindung mit dieser Anwendung:

#script for creating user, cert, and get tenantid #getting data for daily script
Connect-AzureAD $pwd = "Password to encrypt the cert" $subject = "GoBright_unattendedlogin" # may not be longer than 15 characters = the name certificate and app $tmppath = "C:tmp" $certname= "unattendedlogin_azuread.pfx" $fullcertpath = "C:tmpunattendedlogin.pfx" $IdentifierUris = "https://www.fillInYourOwnDomain.com" # Here you need to fill in your own domain name
$thumb = (New-SelfSignedCertificate -CertStoreLocation Cert:CurrentUserMy -subject $subject -KeyExportPolicy Exportable -NotAfter (Get-Date).AddYears(10) -Type CodeSigningCert -KeySpec Signature).Thumbprint $pwd = ConvertTo-SecureString -String $pwd -Force -AsPlainText if ($tmppath -eq $false) Export-PfxCertificate -cert "cert:CurrentUsermy$thumb" -FilePath $fullcertpath -Password $pwd
$cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate($fullcertpath, $pwd) $keyValue = [System.Convert]::ToBase64String($cert.GetRawCertData())
$application = New-AzureADApplication -DisplayName $subject -IdentifierUris $IdentifierUris New-AzureADApplicationKeyCredential -ObjectId $application.ObjectId -CustomKeyIdentifier $subject -Type AsymmetricX509Cert -Usage Verify -Value $keyValue $sp=New-AzureADServicePrincipal -AppId $application.AppId Add-AzureADDirectoryRoleMember -ObjectId (Get-AzureADDirectoryRole | where-object {$_.DisplayName -eq "Directory Readers"}).Objectid -RefObjectId $sp.ObjectId
$tenantid = Get-AzureADTenantDetail | Select ObjectId -ExpandProperty ObjectId $appid = $application.AppId $thumb $tenantid $appid
#copy data from thumb, tenantid, appid to daily user sync script

Für weitere Informationen klicken Sie bitte auf diesen Link.

Zu Testzwecken können Sie die folgende Methode verwenden, um sich automatisch mit der unbeaufsichtigten Anmeldemethode bei Ihrem Azure AD anzumelden und Ihr Skript zu testen, bevor Sie das eigentliche Skript zur Benutzersynchronisierung ausführen:

$tenantid = "[fill in your tenant id from the output of the first script]" $thumb = "[fill in your thumb id from the output of the first script]" $appid = "[fill in your appid from the output of the first script]"
Connect-AzureAD -TenantId $tenantid -ApplicationId $appid -CertificateThumbprint $thumb
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 $ErrorActionPreference = "Stop"
$users_all = Get-AzureADUser -All $true | Where-Object {$_.userprincipalname -like "*someDomainname.com"} $users_all | Push-AzureADUsersToBB -UserDefaultRoleName $roleNameDefaultIfNoGroupMatched -GroupUserRoleMapping $groupToRoleMapping -DeactivateExistingUsersInSameIntegrationThatAreNotLoaded -BrightBookingApiUrl '[API url]' -BrightBookingApiKey '[API key]' -BrightBookingIntegrationName '[name of integration as created in Admin center > Integrations]' -WhatIf

Hinweis: Wenn Sie in PowerShell die Fehlermeldung erhalten, dass nicht genügend Rechte für die Ausführung des Skripts vorhanden sind, müssen Sie die Rechte überprüfen, die Sie der Anwendung hinzufügen möchten. Für weitere Informationen lesen Sie bitte den folgenden Microsoft-Artikel "Schritt 5: Weisen Sie der Anwendung Azure AD-Rollen zu ": https://docs.microsoft.com/en-us/powershell/exchange/app-only-auth-powershell-v2?view=exchange-ps

Führen Sie anschließend die folgenden Schritte aus, um die Benutzer nach einem bestimmten Zeitplan aus Active Directory zu synchronisieren:

  • Nehmen Sie den Befehl, den Sie verfasst haben (siehe vorherige Schritte), und speichern Sie ihn in einer .ps1-Datei:
    • Erstellen Sie eine .ps1-Datei (z. B. UsersToBrightBooking.ps1) in einem Ordner Ihrer Wahl
    • Öffnen Sie die Datei mit einem Editor, z. B. 'notepad'.
    • Fügen Sie das Anmeldeskript ein, um sich automatisch bei Ihrem Azure AD anzumelden
    • Fügen Sie den vollständigen Befehl in die Datei ein
    • Speichern Sie die Datei
  • Führen Sie die Datei aus, um zu sehen, ob sie erfolgreich ist
  • Erstellen Sie eine Aufgabe in der Windows-Aufgabenplanung:
    • Windows-Aufgabenplaner öffnen
    • Eine Aufgabe erstellen
    • Legen Sie einen Zeitplan fest, z. B. einmal pro Tag oder alle 4 Stunden
    • Hinzufügen einer Aktion 'Programm starten':
      • Programm/Skript:
        Powershell.exe
      • Parameter:
        -windowstyle minimized -c "powershell -c .[Name der erstellten .ps1-Datei] -verbose >> ExportToGoBright_Output.txt 2>&1″
      • Start in:
        Geben Sie unter "Start in" den Speicherort des Skripts ein, z. B:C:Skripte

Skript für die Synchronisierung von Active Directory

Schritt 4.1: Testen Sie die Auswahl der Benutzer

Der Befehl zum Abrufen der Informationen aus Active Directory und deren Verarbeitung in GoBright lautet:

Push-ADUsersToBB [filter] [optional: specific username/pincode field] -BrightBookingApiUrl '[API url]' -BrightBookingApiKey '[API key]' -BrightBookingIntegrationName '[name of integration as created in Admin center > Integrations]'

Sie können die folgenden Parameter in dem Befehl "Push-ADUsersToBB" verwenden:

-Filter
(erforderlich)
Die Filterbedingung, um die Benutzer zu filtern, die Sie synchronisieren möchten(weitere Dokumentation verfügbar)
-SearchBase
(optional)
Gibt den Active Directory-Pfad an, unter dem gesucht werden soll(weitere Dokumentation verfügbar)

-ADSpecificUsername
(optional)

Standardmäßig wird der Benutzer mit der primären E-Mail-Adresse des Benutzers beim Microsoft Exchange Server oder Office365 authentifiziert.

Geben Sie diese Werte ein, um eine andere Art der Benutzerauthentifizierung bei Microsoft Exchange Server oder Office365 zu verwenden:
DomainPlusUsername, um DOMAINusername zu verwenden
UserPrincipalName, um den UPN zu verwenden

-ADUserPincodePropertyName
(optional)

Geben Sie einen Feldnamen eines Feldes in Active Directory an, das Sie als "Pincode" verwenden möchten (muss numerisch sein, mindestens 4 Ziffern haben und eindeutig sein)

-ADUserMobilePropertyName
(optional)

Geben Sie einen Feldnamen eines Feldes in Active Directory an, das Sie verwenden möchten, um die Mobiltelefonnummer der Benutzer zu erhalten (z. B. für die Benachrichtigung über den digitalen Empfang).
Standardmäßig wird das Standardfeld "Mobile" verwendet.

-ADUserNFCIdPropertyName
(optional)

Geben Sie einen Feldnamen eines Feldes in Active Directory an, das Sie verwenden möchten, um die NFC-Kennung für diesen Benutzer zu erhalten.

Bitte beachten Sie, dass die Daten im HEX-Format angegeben werden müssen, z. B: XX:XX:XX:XX:XX:XX:XX.

-ADUserDefaultCostCenterId OrNamePropertyName
(optional)

Geben Sie einen Feldnamen eines Feldes in Active Directory an, das Sie verwenden möchten, um die Standardkostenstelle für diesen Benutzer festzulegen. Sie können den Namen oder die ID ("guid") der Kostenstelle angeben, wobei der Name am häufigsten verwendet wird.

-UserRoleNameForNewUsers
(optional)

Optionaler Name einer bestehenden Rolle in der Plattform, die verwendet werden soll, wenn neue Benutzer durch diese Synchronisierung erstellt werden.

-UserDefaultRoleName
(optional)

Festlegen des Standard-Rollennamens für alle Benutzer, die keine Übereinstimmung in der 'GroupUserRoleMapping' haben (siehe unten)

-GroupUserRoleMapping
(optional)

Dieser Parameter gibt Ihnen die Möglichkeit, einem Benutzer in der Plattform eine Rolle zuzuweisen, die auf einer Gruppenzugehörigkeit im ActiveDirectory basiert.
Sie müssen eine Hashtabelle (eine Liste mit Schlüssel und Wert) angeben, wobei der Schlüssel der vollständige FQN der Gruppe und der Wert der Rollenname in der Plattform ist.

Siehe das folgende Beispiel.

-DeactivateExistingUsersIn
SameIntegrationThatAreNotLoaded
(optional)

Optionaler Schalter zur automatischen Deaktivierung von Benutzern, die nicht mehr in den ausgewählten Benutzern aus ActiveDirectory enthalten sind, aber noch im Portal existieren.
Verwenden Sie diesen Schalter, um sie automatisch zu deaktivieren.
Es werden nur Benutzer in derselben Integration berücksichtigt (siehe Parameter: BrightBookingIntegrationName)

-BrightBookingApiUrl
(erforderlich)
Die API-URL, wie in Schritt 3 gefunden
-BrightBookingApiKey
(erforderlich)
Die API-URL, wie in Schritt 3 gefunden
-BrightBookingIntegrationName
(erforderlich)
Die API-URL, wie in Schritt 3 gefunden
-WasWenn
(fakultativ)
Verwenden Sie den Parameter "-WhatIf", um nur zu testen und zu sehen, aber nicht tatsächlich Daten an Ihre GoBright Umgebung zu senden.

Nachfolgend finden Sie einige Beispielbefehle, die Sie nach Bedarf an Ihre Situation anpassen können.

Diese Befehle aktualisieren die Benutzer im System noch nicht, es handelt sich also um Testbefehle, da sie den Parameter "-WhatIf" enthalten.

Beispiel für Testbefehle:

Verarbeiten Sie Benutzer mit UPNs, die auf "yourdomain.com" enden:

Push-ADUsersToBB -Filter 'UserPrincipalName -like "*yourdomain.com"' -BrightBookingApiUrl '[API url]' -BrightBookingApiKey '[API key]' -BrightBookingIntegrationName '[name of integration as created in Admin center > Integrations]' -WhatIf

Verarbeiten Sie Benutzer mit UPNs, die mit "yourdomain.com" enden, und verwenden Sie das Feld "PersonnelNumber" in ActiveDirectory als Pincode für die Benutzer:

Push-ADUsersToBB -Filter 'UserPrincipalName -like "*yourdomain.com"' -ADUserPincodePropertyName PersonnelNumber -BrightBookingApiUrl '[API url]' -BrightBookingApiKey '[API key]' -BrightBookingIntegrationName '[name of integration as created in Admin center > Integrations]' -WhatIf

Benutzer bearbeiten, die Mitglieder einer bestimmten Gruppe in einer OU (Organisationseinheit) sind:

Push-ADUsersToBB -Filter { memberOf -RecursiveMatch "CN=Administrators,DC=Company,DC=com" } -SearchBase "OU=Office,DC=Company,DC=com" -ADUserPincodePropertyName PersonnelNumber -BrightBookingApiUrl '[API url]' -BrightBookingApiKey '[API key]' -BrightBookingIntegrationName '[name of integration as created in Admin center > Integrations]' -WhatIf

Verarbeiten Sie Benutzer, die Mitglieder einer bestimmten Gruppe in einer OU (Organisationseinheit) sind, und legen Sie eine bestimmte Rolle auf der Grundlage ihrer Gruppenmitgliedschaft fest:

$groupToRoleMapping = @()

$groupToRoleMapping += @ # match specific users that belong to a group
$groupToRoleMapping += @ # match specific users that belong to a group
$groupToRoleMapping += @ # match specific users that belong to a group to a role of View
$groupToRoleMapping += @ # **special case** this line matches for every user, because of the 'MatchType', and is needed when you want to have a generic role for every user
$roleNameDefaultIfNoGroupMatched = "Regular user"
Push-ADUsersToBB -Filter { memberOf -RecursiveMatch "CN=OfficeUsers,DC=Company,DC=com" } -SearchBase "OU=Office,DC=Company,DC=com" -ADUserPincodePropertyName PersonnelNumber -UserDefaultRoleName $roleNameDefaultIfNoGroupMatched -GroupUserRoleMapping $groupToRoleMapping -BrightBookingApiUrl '[API url]' -BrightBookingApiKey '[API key]' -BrightBookingIntegrationName '[name of integration as created in Admin center > Integrations]' -WhatIf

Verarbeitet Benutzer, die Mitglieder einer bestimmten Gruppe in einer OU (Organisationseinheit) sind, mit [Domäne][Benutzername] als Authentifizierungsbenutzername:

Push-ADUsersToBB -Filter { memberOf -RecursiveMatch "CN=Administrators,DC=Company,DC=com" } -SearchBase "OU=Office,DC=Company,DC=com" -ADSpecificUsername DomainPlusUsername -BrightBookingApiUrl '[API url]' -BrightBookingApiKey '[API key]' -BrightBookingIntegrationName '[name of integration as created in Admin center > Integrations]' -WhatIf

Schritt 4.2: Ausführen der eigentlichen Synchronisierung

Sobald die Liste der Benutzer korrekt gefiltert ist, können Sie die eigentliche Synchronisierung durchführen, indem Sie den Parameter "-WhatIf" entfernen.

Führen Sie nun denselben Befehl aus, aber ohne "-WhatIf", und die Benutzer werden in Ihrer Umgebung GoBright verarbeitet.

Schritt 4.3: Planen Sie die regelmäßige Ausführung der Integration über den Windows-Taskplaner

Führen Sie die folgenden Schritte aus, um die Benutzer nach einem bestimmten Zeitplan aus Active Directory zu synchronisieren:

  • Nehmen Sie den Befehl, den Sie verfasst haben (siehe vorherige Schritte), und speichern Sie ihn in einer .ps1-Datei:
    • Erstellen Sie eine .ps1-Datei (z. B. UsersToBrightBooking.ps1) in einem Ordner Ihrer Wahl
    • Öffnen Sie die Datei mit einem Editor, z. B. 'notepad'.
    • Fügen Sie den vollständigen Befehl in die Datei ein
    • Speichern Sie die Datei
  • Führen Sie die Datei aus, um zu sehen, ob sie erfolgreich ist.
  • Erstellen Sie eine Aufgabe in der Windows-Aufgabenplanung:
    • Windows-Aufgabenplaner öffnen
    • Eine Aufgabe erstellen
    • Legen Sie einen Zeitplan fest, z. B. einmal pro Tag oder alle 4 Stunden
    • Hinzufügen einer Aktion 'Programm starten':
      • Programm/Skript:
        Powershell.exe
      • Parameter:
        -windowstyle minimized -c "powershell -c .[Name der erstellten .ps1-Datei] -verbose >> ExportToGoBright_Output.txt 2>&1″
      • Start in:
        Geben Sie unter "Start in" den Speicherort des Skripts ein, z. B:C:Skripte

Sync-Intervall für die Prüfung

Die Empfehlung für das Synchronisationsintervall ist ein Bereich der folgenden Beträge unten:

  • 0 bis 2000 Benutzer: die Synchronisierung kann 4 Mal pro Tag durchgeführt werden
  • Über 2000 Benutzer: Die Synchronisierung kann 2 Mal pro Tag durchgeführt werden.

Für Tests, die etwa 3-4 Mal in einer Stunde durchgeführt werden, empfehlen wir dringend, das Skript in kleinen Stapeln von jeweils 10 Benutzern laufen zu lassen.

Dieser Artikel stammt aus dem Help Center von GoBright.

Originalartikel ansehen

FAQ

Fragen Sie uns alles! Hier finden Sie die Antworten auf die am häufigsten gestellten Fragen.

Durchsuchen Sie die FAQs

Hilfe-Center

Eine Fundgrube für alle IT- und Facility-Manager. Tauchen Sie ein in die technischen Details unserer Produkte und Lösungen.

Besuchen Sie das Help Center

Newsletter

Möchten Sie über alle Entwicklungen im Smart Office und unsere neuen Funktionen informiert werden? Abonnieren Sie jetzt unseren Newsletter.

Jetzt abonnieren