Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Benutzer sind die Repräsentation eines Microsoft Entra-Arbeits- oder Schulkontos oder eines persönlichen Microsoft-Kontos in Microsoft Entra ID. Die Benutzerressource in Microsoft Entra PowerShell ist die Darstellung eines Benutzers und umfasst Beziehungen und Ressourcen, die für den Benutzer relevant sind.
Die Benutzerressource bietet eine einfache Möglichkeit, auf Benutzerressourcen zuzugreifen und sie zu bearbeiten, ohne zusätzliche Aufrufe ausführen zu müssen, bestimmte Authentifizierungsinformationen nachzuschlagen und Abfragen für andere Microsoft Entra PowerShell-Objekte direkt auszugeben.
Voraussetzungen
Um Benutzer mit Microsoft Entra PowerShell zu verwalten, benötigen Sie Folgendes:
- Ein Microsoft Entra Benutzerkonto. Wenn Sie noch kein Konto besitzen, können Sie kostenlos ein Konto erstellen.
- Mindestens die Rolle " Cloudanwendungsadministrator ".
- Microsoft Entra PowerShell-Modul installiert. Befolgen Sie die Anleitung zum Installieren des Microsoft Entra PowerShell-Moduls, um das Modul zu installieren.
Sie können auf die Informationen eines Benutzers zugreifen und seine Daten in seinem Auftrag oder als App mit eigener Identität verwalten.
Benutzer hinzufügen
Um einen Benutzer zu integrieren, erstellen Sie in Microsoft Entra ID ein neues Benutzerkonto. Dieser Prozess umfasst das Einrichten des Benutzerprofils, einschließlich des Anzeigenamens, der E-Mail-Adresse und des Kennworts.
Erstellen eines Benutzers
In diesem Beispiel wird ein neuer Benutzer erstellt.
Connect-Entra -Scopes 'User.ReadWrite.All'
$passwordProfile = New-Object -TypeName Microsoft.Open.AzureAD.Model.PasswordProfile
$passwordProfile.Password = '<Strong-Password>'
$userParams = @{
DisplayName = 'New User'
PasswordProfile = $passwordProfile
UserPrincipalName = 'NewUser@contoso.com'
AccountEnabled = $true
MailNickName = 'NewUser'
}
New-EntraUser @userParams
Die Ausgabe zeigt Details des neu erstellten Benutzers an.
DisplayName Id Mail UserPrincipalName
----------- -- ---- -----------------
New User aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb NewUser@contoso.com
Massenerstellung von Benutzern
Um mehrere Benutzer in Massen zu erstellen, können Sie eine CSV-Datei verwenden. Die CSV-Datei sollte die erforderlichen Benutzerattribute enthalten, wie z. B. DisplayName, UserPrincipalName und PasswordProfile.
# Connect to Microsoft Entra PowerShell
Connect-Entra -Scopes 'User.ReadWrite.All'
# Create a new Password Profile for the new users. We'll be using the same password for all new users in this example
$PasswordProfile = New-Object -TypeName Microsoft.Open.AzureAD.Model.PasswordProfile
$PasswordProfile.Password = '<Your-Password>'
# Import the csv file. You will need to specify the path and file name of the CSV file in this cmdlet
$NewUsers = import-csv -Path '<path-to-your-csv-file>'
# Loop through all new users in the file to create them in Microsoft Entra ID
ForEach ($user in $NewUsers) {
# Create a new user in Microsoft Entra ID
New-EntraUser -UserPrincipalName $user.'EmailAddress' -DisplayName $user.'DisplayName' -GivenName $user.'FirstName' -Surname $user.'LastName' -Department $user.'Department' -MailNickname $user.'MailNickname' -AccountEnabled $true -PasswordProfile $passwordProfile
}
| Vorname | Nachname | DisplayName | E-Mail-Adresse | Abteilung | MailNickname (E-Mail-Spitzname) |
|---|---|---|---|---|---|
| Adele | Vance | Adele Vance | adelev@contoso.com | Marketing | adelev |
Die Ausgabe zeigt Details der neu erstellten Benutzer an.
DisplayName Id Mail UserPrincipalName
----------- -- ---- -----------------
Adele Vance aaaaaaaa-1111-2222-3333-bbbbbbbbbbbb adelev@contoso.com
Aktualisieren des Kennworts eines Benutzers
Verwenden Sie den folgenden Befehl, um das Kennwort eines Benutzers vom Administrator zu aktualisieren:
Connect-Entra -Scopes 'Directory.AccessAsUser.All' $newPassword = '<strong-password>' $securePassword = ConvertTo-SecureString $newPassword -AsPlainText -Force Set-EntraUserPasswordProfile -UserId 'SawyerM@contoso.com' -Password $securePasswordVerwenden Sie den folgenden Befehl, um das Kennwort für den angemeldeten Benutzer (Self-Serve) zu aktualisieren:
Connect-Entra -Scopes 'Directory.AccessAsUser.All' $currentPassword = ConvertTo-SecureString '<strong-password>' -AsPlainText -Force $newPassword = ConvertTo-SecureString '<strong-password>' -AsPlainText -Force Set-EntraSignedInUserPassword -CurrentPassword $currentPassword -NewPassword $newPasswordMit diesem Befehl können Benutzer ihre eigenen Kennwörter ohne Administratorrechte ändern.
Foto für den Benutzer hochladen oder abrufen
Laden Sie ein Foto für einen Benutzer hoch.
Connect-Entra -Scopes 'User.ReadWrite.All' Set-EntraUserThumbnailPhoto -UserId 'SawyerM@contoso.com' -FilePath 'D:\UserThumbnailPhoto.jpg'In diesem Beispiel wird das Miniaturbild des Benutzers, der mit dem Parameter UserId angegeben wird, auf das Bild festgelegt, das mit dem Parameter FilePath angegeben wird.
Rufen Sie das Foto eines Benutzers ab.
Connect-Entra -Scopes 'ProfilePhoto.Read.All' Get-EntraUserThumbnailPhoto -UserId 'SawyerM@contoso.com'Dieses Beispiel zeigt, wie das Miniaturfoto eines Benutzers abgerufen wird, der durch den Wert des Parameters
UserIdangegeben wird.
Weisen Sie Benutzern in Ihrer Organisation Administratorrollen zu
Das Gewähren von Administratorrollen für Benutzer in Ihrer Organisation ermöglicht es ihnen, bestimmte Aufgaben auszuführen und Ressourcen zu verwalten. Sie können Benutzern Rollen wie Gruppenadministrator, Benutzeradministrator oder andere benutzerdefinierte Rollen zuweisen.
Informationen zum Zuweisen von Rollen zu Benutzern mithilfe von Microsoft Entra PowerShell finden Sie unter "Zuweisen von Rollen zu Benutzern".
Benutzer durchsuchen
Sie können in Ihrer Organisation nach Benutzern suchen, indem Sie verschiedene Attribute wie displayName, mailNickname, userPrincipalName, department und jobTitle verwenden. Das folgende Beispiel zeigt, wie Sie nach einem Benutzer suchen nach userPrincipalName
Connect-Entra -Scopes 'User.Read.All'
Get-EntraUser -Filter "userPrincipalName eq 'SawyerM@contoso.com'"
Die Ausgabe zeigt Benutzerdetails basierend auf einer userPrincipalName Suche an.
DisplayName Id Mail UserPrincipalName
----------- -- ---- -----------------
Sawyer Miller aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb SawyerM@contoso.com SawyerM@contoso.com
Überwachen von Benutzern anhand bestimmter Kriterien
Sie können Benutzer anhand bestimmter Kriterien überwachen, z. B. Anmeldeaktivitäten und Gruppenmitgliedschaften. Dieses Feature hilft Ihnen, Benutzeraktivitäten nachzuverfolgen und den Zugriff auf Ressourcen zu verwalten.
Abrufen der Anmeldeaktivität eines Benutzers
Das folgende Beispiel zeigt, wie die Anmeldeaktivität eines bestimmten Benutzers abgerufen wird.
Connect-Entra -Scopes 'User.Read.All','AuditLog.Read.All'
Get-EntraUser -UserId 'SawyerM@contoso.com' -Property 'SignInActivity' |
Select-Object -Property Id, DisplayName, UserPrincipalName -ExpandProperty 'SignInActivity'
Die Ausgabe zeigt die Anmeldeaktivität des Benutzers an.
lastNonInteractiveSignInRequestId : bbbbbbbb-1111-2222-3333-aaaaaaaaaaaa
lastSignInRequestId : cccccccc-2222-3333-4444-dddddddddddd
lastSuccessfulSignInDateTime : 9/9/2024 1:12:13 PM
lastNonInteractiveSignInDateTime : 9/9/2024 1:12:13 PM
lastSuccessfulSignInRequestId : bbbbbbbb-1111-2222-3333-aaaaaaaaaaaa
lastSignInDateTime : 9/7/2024 9:15:41 AM
id : aaaaaaaa-bbbb-cccc-1111-222222222222
displayName : Sawyer Miller
userPrincipalName : SawyerM@contoso.com
Herunterladen der Anmeldeaktivität aller Benutzer
Im folgenden Beispiel werden alle lizenzierten Benutzerkonten und ihre letzte erfolgreiche Anmeldeaktivität abgerufen. Sie exportiert die Daten zur weiteren Analyse in eine CSV-Datei.
# Connect to Microsoft Entra PowerShell
Connect-Entra -Scopes 'User.Read.All','AuditLog.Read.All','Directory.Read.All'
try {
Get-EntraUser -All -Property Id, UserPrincipalName, DisplayName, SignInActivity -ErrorAction Stop |
Select-Object `
Id, `
UserPrincipalName, `
DisplayName, `
@{ Name = 'LastSignInDateTime'; Expression = { $_.SignInActivity.LastSignInDateTime } }, `
@{ Name = 'LastSuccessfulSignInDateTime'; Expression = { $_.SignInActivity.LastSuccessfulSignInDateTime } } |
Export-Csv -Path 'C:\temp\lastSignIns.csv' -NoTypeInformation -Encoding UTF8 -ErrorAction Stop
Write-Host "Sign-in activity exported successfully to lastSignIns.csv"
}
catch {
Write-Error "Failed to retrieve or export data: $_"
}
In diesem Beispiel werden sowohl die letzte Anmeldung als auch die letzten erfolgreichen Anmeldedaten für alle Benutzer in Ihrer Organisation abgerufen. Die Daten werden dann in eine CSV-Datei mit dem Namen lastSignIns.csv im Verzeichnis C:\temp exportiert.
Auflisten der Gruppenmitgliedschaften eines Benutzers
Im folgenden Beispiel werden die Gruppen aufgelistet, bei denen ein Benutzer Mitglied ist.
Connect-Entra -Scopes 'User.Read'
Get-EntraUserMembership -UserId 'SawyerM@contoso.com' |
Select-Object Id, displayName, createdDateTime, '@odata.type' |
Format-Table -AutoSize
Die Ausgabe zeigt die Mitgliedschaften des Benutzers an.
Id displayName createdDateTime @odata.type
-- ----------- --------------- -----------
00aa00aa-bb11-cc22-dd33-44ee44ee44ee Contoso 2024-10-06T08:49:16Z #microsoft.graph.group
22cc22cc-dd33-ee44-ff55-66aa66aa66aa Contoso marketing 2024-10-07T01:17:28Z #microsoft.graph.group
55ff55ff-aa66-bb77-cc88-99dd99dd99dd Pacific Admin Unit #microsoft.graph.administrativeUnit
Verwenden Sie diese Befehle, um die Entitäten auflisten, zu denen ein Benutzer gehört:
- Get-EntraUserAdministrativeUnit – zum Abrufen einer Liste der administrativen Einheiten, zu denen ein Benutzer gehört.
- Get-EntraUserGroup – zum Abrufen einer Liste von Gruppen, zu der ein Benutzer gehört.
- Get-EntraUserRole – zum Abrufen einer Liste der Verzeichnisrollen, die einem Benutzer zugewiesen sind.
Abrufen des Vorgesetzten eines Benutzers, direkte Berichte und Zuweisen eines Vorgesetzten zu einem Benutzer
Rufen Sie den Vorgesetzten eines Benutzers ab.
Connect-Entra -Scopes 'User.Read.All' Get-EntraUserManager -UserId 'SawyerM@contoso.com' | Select-Object Id, displayName, userPrincipalName, createdDateTime, accountEnabled, userType | Format-Table -AutoSizeDie Ausgabe zeigt den Vorgesetzten des Benutzers an.
id displayName userPrincipalName createdDateTime accountEnabled userType -- ----------- ----------------- --------------- -------------- -------- 11bb11bb-cc22-dd33-ee44-55ff55ff55ff Patti Fernandez PattiF@Contoso.com 10/7/2024 12:32:01 AM True MemberListet die Benutzer auf, die einem bestimmten Benutzer unterstellt sind.
Connect-Entra -Scopes 'User.Read','User.Read.All' Get-EntraUserDirectReport -UserId 'SawyerM@contoso.com' | Select-Object Id, displayName, userPrincipalName, createdDateTime, accountEnabled, userType | Format-Table -AutoSizeDie Ausgabe zeigt den direkten Bericht des Benutzers an.
id displayName userPrincipalName createdDateTime accountEnabled userType -- ----------- ----------------- --------------- -------------- -------- bbbbbbbb-1111-2222-3333-cccccccccccc Christie Cline ChristieC@Contoso.com 10/7/2024 12:32:25 AM True Member aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb Isaiah Langer IsaiahL@Contoso.com 10/7/2024 12:33:16 AM True MemberZuweisen eines Managers zu einem Benutzer
Connect-Entra -Scopes 'User.ReadWrite.All' Set-EntraUserManager -UserId 'SawyerM@contoso.com' -ManagerId 'AdeleV@contoso.com'-
-UserId- Gibt die ID (als UserPrincipalName oder User ObjectId) eines Benutzers in Microsoft Entra ID an. -
-ManagerId- Gibt die ID als UserPrincipalName oder User ObjectId des Microsoft Entra ID-Objekts an, das als Manager zugewiesen werden soll.
-
Benutzer ohne Vorgesetzte auflisten
In diesem Beispiel werden Benutzer ohne Vorgesetzte aufgelistet, die dazu beitragen, verwaiste Konten, Dienstkonten oder falsch konfigurierte Profile für die Bereinigung zu identifizieren.
Connect-Entra -Scopes 'User.Read.All'
$allUsers = Get-EntraUser -All
$usersWithoutManagers = foreach ($user in $allUsers) {
$manager = Get-EntraUserManager -UserId $user.Id -ErrorAction SilentlyContinue
if (-not $manager) {
[PSCustomObject]@{
Id = $user.Id
DisplayName = $user.DisplayName
UserPrincipalName = $user.UserPrincipalName
UserType = $user.userType
AccountEnabled = $user.accountEnabled
CreatedDateTime = $user.createdDateTime
}
}
}
$usersWithoutManagers | Format-Table Id, DisplayName, UserPrincipalName, CreatedDateTime, UserType, AccountEnabled -AutoSize
Die Ausgabe listet Benutzer ohne Vorgesetzte auf.
Id DisplayName UserPrincipalName CreatedDateTime UserType AccountEnabled
-- ----------- ----------------- --------------- -------- --------------
cccccccc-2222-3333-4444-dddddddddddd New User NewUser@tenant.com 10/7/2024 2:24:26 PM Member True
bbbbbbbb-1111-2222-3333-cccccccccccc Sawyer Miller SawyerM@contoso.com 10/7/2024 12:33:36 AM Member True
Deaktivierte Benutzer auflisten
Im folgenden Beispiel wird eine Liste der deaktivierten Konten generiert.
Connect-Entra -Scopes 'User.ReadWrite.All'
Get-EntraUser -Filter "accountEnabled eq false" | Select-Object DisplayName, Id, Mail, UserPrincipalName
Die Ausgabe listet deaktivierte Benutzer auf.
DisplayName Id Mail userPrincipalName
----------- -- ---- -----------------
Sawyer Miller hhhhhhhh-7777-8888-9999-iiiiiiiiiiii SawyerM@contoso.com
Kez Michael eeeeeeee-4444-5555-6666-ffffffffffff KezM@contoso.com