Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Gebruikers zijn de weergave van een Microsoft Entra werk- of schoolgebruikersaccount of een persoonlijke Microsoft-account in Microsoft Entra ID. De gebruikersresource in Microsoft Entra PowerShell is de weergave van een gebruiker en bevat relaties en resources die relevant zijn voor de gebruiker.
De gebruikersresource biedt een eenvoudige manier om gebruikersresources te openen en te bewerken zonder extra aanroepen uit te voeren, specifieke verificatiegegevens op te zoeken en query's rechtstreeks uit te voeren op andere Microsoft Entra PowerShell-objecten.
Prerequisites
Als u gebruikers wilt beheren met Microsoft Entra PowerShell, hebt u het volgende nodig:
- Een Microsoft Entra gebruikersaccount. Als u nog geen account hebt, kunt u gratis een account maken.
- Ten minste de rol Cloudtoepassingsbeheerder .
- Microsoft Entra PowerShell-module geïnstalleerd. Volg de handleiding Microsoft Entra PowerShell-module installeren om de module te installeren.
U kunt de gegevens van een gebruiker openen en hun gegevens namens hen of als app beheren met een eigen identiteit.
Een gebruiker onboarden
Als u een gebruiker wilt onboarden, maakt u een nieuw gebruikersaccount in Microsoft Entra ID. Dit proces omvat het instellen van het profiel van de gebruiker, inclusief de weergavenaam, het e-mailadres en het wachtwoord.
Een gebruiker maken
In dit voorbeeld wordt een nieuwe gebruiker gemaakt.
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
De uitvoer toont de gegevens van de nieuw aangemaakte gebruiker.
DisplayName Id Mail UserPrincipalName
----------- -- ---- -----------------
New User aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb NewUser@contoso.com
Gebruikers in bulk maken
Als u meerdere gebruikers bulksgewijs wilt maken, kunt u een CSV-bestand gebruiken. Het CSV-bestand moet de benodigde gebruikerskenmerken bevatten, zoals DisplayName, UserPrincipalNameen 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
}
| Voornaam | LastName | DisplayName | E-mailadres | Afdeling | MailBijnaam |
|---|---|---|---|---|---|
| Adele | Vance | Adele Vance | adelev@contoso.com | Marketing | adelev |
In de uitvoer worden details weergegeven van de zojuist gemaakte gebruikers.
DisplayName Id Mail UserPrincipalName
----------- -- ---- -----------------
Adele Vance aaaaaaaa-1111-2222-3333-bbbbbbbbbbbb adelev@contoso.com
Het wachtwoord van een gebruiker bijwerken
Als u het wachtwoord van een gebruiker per beheerder wilt bijwerken, gebruikt u deze opdracht:
Connect-Entra -Scopes 'Directory.AccessAsUser.All' $newPassword = '<strong-password>' $securePassword = ConvertTo-SecureString $newPassword -AsPlainText -Force Set-EntraUserPasswordProfile -UserId 'SawyerM@contoso.com' -Password $securePasswordGebruik deze opdracht om het wachtwoord voor de aangemelde gebruiker (selfservice) bij te werken:
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 $newPasswordMet deze opdracht kunnen gebruikers hun eigen wachtwoorden wijzigen zonder beheerdersbevoegdheden.
Een foto voor de gebruiker uploaden of ophalen
Upload een foto voor een gebruiker.
Connect-Entra -Scopes 'User.ReadWrite.All' Set-EntraUserThumbnailPhoto -UserId 'SawyerM@contoso.com' -FilePath 'D:\UserThumbnailPhoto.jpg'In dit voorbeeld wordt de miniatuurfoto van de gebruiker die is opgegeven met de parameter UserId ingesteld op de afbeelding die is opgegeven met de parameter FilePath.
Haal de foto van een gebruiker op.
Connect-Entra -Scopes 'ProfilePhoto.Read.All' Get-EntraUserThumbnailPhoto -UserId 'SawyerM@contoso.com'In dit voorbeeld ziet u hoe u de miniatuurfoto ophaalt van een gebruiker die is opgegeven via de waarde van de
UserIdparameter.
Gebruikers beheerdersrollen verlenen in uw organisatie
Door gebruikers beheerdersrollen in uw organisatie te verlenen, kunnen ze specifieke taken uitvoeren en resources beheren. U kunt gebruikers toewijzen aan rollen zoals Groepsbeheerder, Gebruikersbeheerder of andere aangepaste rollen.
Zie Rollen toewijzen aan gebruikers met behulp van Microsoft Entra PowerShell voor meer informatie over het toewijzen van rollen aan gebruikers.
Gebruikers zoeken
U kunt zoeken naar gebruikers in uw organisatie met behulp van verschillende kenmerken, zoals displayName, mailNicknameuserPrincipalNameen departmentjobTitle. In het volgende voorbeeld ziet u hoe u naar een gebruiker kunt zoeken op userPrincipalName
Connect-Entra -Scopes 'User.Read.All'
Get-EntraUser -Filter "userPrincipalName eq 'SawyerM@contoso.com'"
In de uitvoer worden gebruikersgegevens weergegeven op basis van een userPrincipalName zoekopdracht.
DisplayName Id Mail UserPrincipalName
----------- -- ---- -----------------
Sawyer Miller aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb SawyerM@contoso.com SawyerM@contoso.com
Gebruikers beoordelen op basis van bepaalde criteria
U kunt gebruikers controleren op basis van bepaalde criteria, zoals aanmeldingsactiviteiten en groepslidmaatschappen. Met deze functie kunt u gebruikersactiviteiten bijhouden en hun toegang tot resources beheren.
De aanmeldingsactiviteit van een gebruiker ophalen
In het volgende voorbeeld ziet u hoe u de aanmeldingsactiviteit van een specifieke gebruiker ophaalt.
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'
In de uitvoer ziet u de aanmeldingsactiviteit van de gebruiker.
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
De aanmeldingsactiviteit van alle gebruikers downloaden
In het volgende voorbeeld worden alle gelicentieerde gebruikersaccounts en hun laatste geslaagde aanmeldingsactiviteit opgehaald. De gegevens worden geëxporteerd naar een CSV-bestand voor verdere analyse.
# 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 dit voorbeeld worden zowel de laatste aanmeldingsdatum als de laatste geslaagde aanmeldingsdatum opgehaald voor alle gebruikers in uw organisatie. De gegevens worden vervolgens geëxporteerd naar een CSV-bestand met de naam lastSignIns.csv in de C:\temp map.
Groepslidmaatschappen van een gebruiker weergeven
In het volgende voorbeeld worden de groepen vermeld waarvan een gebruiker lid is.
Connect-Entra -Scopes 'User.Read'
Get-EntraUserMembership -UserId 'SawyerM@contoso.com' |
Select-Object Id, displayName, createdDateTime, '@odata.type' |
Format-Table -AutoSize
De uitvoer toont de lidmaatschappen van de gebruiker.
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
Gebruik deze opdrachten om de entiteiten weer te geven waartoe een gebruiker behoort:
- Get-EntraUserAdministrativeUnit : om een lijst met beheereenheden op te halen waartoe een gebruiker behoort.
- Get-EntraUserGroup : om een lijst op te halen van groepen waartoe een gebruiker behoort.
- Get-EntraUserRole : om een lijst met directoryrollen op te halen die zijn toegewezen aan een gebruiker.
De manager en directe ondergeschikten van een gebruiker ophalen en een manager toewijzen aan een gebruiker
Vraag de manager van een gebruiker op.
Connect-Entra -Scopes 'User.Read.All' Get-EntraUserManager -UserId 'SawyerM@contoso.com' | Select-Object Id, displayName, userPrincipalName, createdDateTime, accountEnabled, userType | Format-Table -AutoSizeIn de uitvoer ziet u de manager van de gebruiker.
id displayName userPrincipalName createdDateTime accountEnabled userType -- ----------- ----------------- --------------- -------------- -------- 11bb11bb-cc22-dd33-ee44-55ff55ff55ff Patti Fernandez PattiF@Contoso.com 10/7/2024 12:32:01 AM True MemberVermeld de gebruikers die rapporteren aan een specifieke gebruiker.
Connect-Entra -Scopes 'User.Read','User.Read.All' Get-EntraUserDirectReport -UserId 'SawyerM@contoso.com' | Select-Object Id, displayName, userPrincipalName, createdDateTime, accountEnabled, userType | Format-Table -AutoSizeDe uitvoer toont het directe rapport van de gebruiker.
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 MemberWijs een manager aan een gebruiker toe.
Connect-Entra -Scopes 'User.ReadWrite.All' Set-EntraUserManager -UserId 'SawyerM@contoso.com' -ManagerId 'AdeleV@contoso.com'-
-UserId- geeft de id (als UserPrincipalName of User ObjectId) van een gebruiker in Microsoft Entra ID. -
-ManagerId- geeft de id op als UserPrincipalName of User ObjectId) van het Microsoft Entra ID-object dat moet worden toegewezen als manager.
-
Gebruikers zonder managers weergeven
In dit voorbeeld worden gebruikers zonder manager vermeld, zodat zwevende accounts, serviceaccounts of onjuist geconfigureerde profielen kunnen worden geïdentificeerd voor opschoning.
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
De uitvoer bevat gebruikers zonder managers.
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
Lijst met uitgeschakelde gebruikers weergeven
In het volgende voorbeeld wordt een lijst met uitgeschakelde accounts gegenereerd.
Connect-Entra -Scopes 'User.ReadWrite.All'
Get-EntraUser -Filter "accountEnabled eq false" | Select-Object DisplayName, Id, Mail, UserPrincipalName
De uitvoer bevat uitgeschakelde gebruikers.
DisplayName Id Mail userPrincipalName
----------- -- ---- -----------------
Sawyer Miller hhhhhhhh-7777-8888-9999-iiiiiiiiiiii SawyerM@contoso.com
Kez Michael eeeeeeee-4444-5555-6666-ffffffffffff KezM@contoso.com