Get-EntraBetaUser
Hämtar en användare.
Syntax
GetQuery (Standard)
Get-EntraBetaUser
[-Filter <String>]
[-All]
[-Top <Int32>]
[-PageSize <Int32>]
[-Property <String[]>]
[<CommonParameters>]
GetVague
Get-EntraBetaUser
[-SearchString <String>]
[-All]
[-Property <String[]>]
[<CommonParameters>]
GetById
Get-EntraBetaUser
-UserId <String>
[-All]
[-Property <String[]>]
[<CommonParameters>]
GetFiltered
Get-EntraUser
[-All]
[-Top <Int32>]
[-PageSize <Int32>]
[-EnabledFilter <String>]
[-HasErrorsOnly]
[-LicenseReconciliationNeededOnly]
[-Synchronized]
[-UnlicensedUsersOnly]
[-Property <String[]>]
[<CommonParameters>]
Description
Cmdleten Get-EntraBetaUser hämtar en användare från Microsoft Entra ID.
Exempel
Exempel 1: Hämta de tre främsta användarna
Connect-Entra -Scopes 'User.Read.All'
Get-EntraBetaUser -Top 3
DisplayName Id Mail UserPrincipalName
----------- -- ---- -----------------
Angel Brown cccccccc-2222-3333-4444-dddddddddddd AngelB@contoso.com AngelB@contoso.com
Avery Smith dddddddd-3333-4444-5555-eeeeeeeeeeee AveryS@contoso.com AveryS@contoso.com
Sawyer Miller eeeeeeee-4444-5555-6666-ffffffffffff SawyerM@contoso.com SawyerM@contoso.com
Det här exemplet visar hur du hämtar de tre främsta användarna från Microsoft Entra ID. Du kan använda -Limit som ett alias för -Top.
Exempel 2: Hämta en användare efter ID
Connect-Entra -Scopes 'User.Read.All'
Get-EntraBetaUser -UserId 'SawyerM@contoso.com'
DisplayName Id Mail UserPrincipalName
----------- -- ---- -----------------
Sawyer Miller bbbbbbbb-1111-2222-3333-cccccccccccc sawyerm@tenant.com sawyerm@tenant.com
Det här kommandot hämtar den angivna användaren.
-
-UserIdAnger ID som användarens huvudnamn (UPN) eller UserId.
Exempel 3: Sök bland hämtade användare
Connect-Entra -Scopes 'User.Read.All'
Get-EntraBetaUser -SearchString 'New'
DisplayName Id Mail UserPrincipalName
----------- -- ---- -----------------
New User88 bbbbbbbb-1111-2222-3333-cccccccccccc demo99@tenant.com
New User cccccccc-2222-3333-4444-dddddddddddd NewUser@tenant.com
Den här cmdleten hämtar alla användare som matchar värdet för SearchString mot de första tecknen i DisplayName eller UserPrincipalName.
Exempel 4: Hämta användarens lösenordsprincip
Connect-Entra -Scopes 'User.Read.All'
Get-EntraBetaUser -UserId 'SawyerM@contoso.com' `
-Property UserPrincipalName, PasswordPolicies |
Select-Object UserPrincipalName,
@{
Name = "PasswordNeverExpires"
Expression = { $_.PasswordPolicies -contains "DisablePasswordExpiration" }
}
userPrincipalName PasswordNeverExpires
----------------- --------------------
SawyerM@contoso.com True
Det här exemplet visar hur du hämtar en användares lösenordsprincip. Om du vill uppdatera den kör du Get-EntraBetaUser -UserId SawyerM@contoso.com | Set-EntraBetaUser -PasswordPolicies DisablePasswordExpiration.
Exempel 5: MFA-rapport per användare
Connect-Entra -scope 'User.Read.All', 'UserAuthenticationMethod.Read.All'
$users = Get-EntraBetaUser -All -Select Id, UserPrincipalName, DisplayName
Write-Output "Amount of requests within `"fetchAll`": $($users.Count)"
$usersReport = [System.Collections.ArrayList]::new()
$users | ForEach-Object {
$userProperties = @{
Id = $_.Id
DisplayName = $_.DisplayName
UserPrincipalName = $_.UserPrincipalName
PerUserMFAState = (Get-EntraBetaUserAuthenticationRequirement -UserId $_.Id).PerUserMFAState
}
[void]$usersReport.Add([PSCustomObject]$userProperties)
}
$usersReport | Format-Table -AutoSize
UserPrincipalName DisplayName PerUserMFAState Id
----------------- ----------- --------------- --
AngelB@contoso.com Angel Brown enforced cccccccc-2222-3333-4444-dddddddddddd
AveryS@contoso.com Avery Smith disabled dddddddd-3333-4444-5555-eeeeeeeeeeee
SawyerM@contoso.com Sawyer Miller enforced eeeeeeee-4444-5555-6666-ffffffffffff
ChristieC@contoso.com Christie Cline enabled bbbbbbbb-1111-2222-3333-cccccccccccc
PattiF@contoso.com Patti Fernandez disabled aaaaaaaa-bbbb-cccc-1111-222222222222
Det här exemplet visar en rapport med MFA-tillstånd per användare.
Obs! Microsoft rekommenderar att du använder principer för villkorsstyrd åtkomst och säkerhet som standard för att hantera multifaktorautentisering (MFA) i stället för att förlita sig på äldre MFA per användare.
Exempel 6: Hämta en användare efter userPrincipalName
Connect-Entra -Scopes 'User.Read.All'
Get-EntraBetaUser -Filter "userPrincipalName eq 'SawyerM@contoso.com'"
DisplayName Id Mail UserPrincipalName
----------- -- ---- -----------------
Sawyer Miller cccccccc-2222-3333-4444-dddddddddddd SawyerM@contoso.com
Det här kommandot hämtar den angivna användaren.
Exempel 7: Hämta en användare via MailNickname
Connect-Entra -Scopes 'User.Read.All'
Get-EntraBetaUser -Filter "startsWith(MailNickname,'Ada')"
DisplayName Id Mail UserPrincipalName
----------- -- ---- -----------------
Mark Adams bbbbbbbb-1111-2222-3333-cccccccccccc Adams@contoso.com Adams@contoso.com
I det här exemplet hämtar vi alla användare vars MailNickname börjar med Ada.
Exempel 8: Hämta SignInActivity för en användare
Connect-Entra -Scopes 'User.Read.All','AuditLog.Read.All'
Get-EntraBetaUser -UserId 'SawyerM@contoso.com' -Property 'SignInActivity' | Select-Object -Property Id, DisplayName, UserPrincipalName -ExpandProperty 'SignInActivity'
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
Det här exemplet visar hur du hämtar SignInActivity för en viss användare genom att välja en egenskap.
Exempel 9: Lista användare med inaktiverade konton
Connect-Entra -Scopes 'User.Read.All'
Get-EntraBetaUser -Filter "accountEnabled eq false" | Select-Object DisplayName, Id, Mail, UserPrincipalName
DisplayName Id Mail UserPrincipalName
----------- -- ---- -----------------
New User cccccccc-2222-3333-4444-dddddddddddd NewUser@tenant.com
Det här exemplet visar hur du hämtar alla användare med inaktiverade konton.
Exempel 10: Lista användare baserade i ett visst land
Connect-Entra -Scopes 'User.Read.All'
$usersInCanada = Get-EntraBetaUser -Filter "Country eq 'Canada'"
$usersInCanada | Select-Object Id, DisplayName, UserPrincipalName, OfficeLocation, Country | Format-Table -AutoSize
Id DisplayName UserPrincipalName OfficeLocation Country
-- ----------- ----------------- -------------- -------
cccccccc-2222-3333-4444-dddddddddddd New User NewUser@tenant.com 23/2102 Canada
Det här exemplet visar hur du hämtar alla användare som är baserade i Kanada.
Exempel 11: Lista antalet användare per avdelning
Connect-Entra -Scopes 'User.Read.All'
$departmentCounts = Get-EntraBetaUser -All | Group-Object -Property Department | Select-Object Name, @{Name="MemberCount"; Expression={$_.Count}}
$departmentCounts | Format-Table Name, MemberCount -AutoSize
Name MemberCount
---- -----------
7
Engineering 2
Executive Management 1
Finance 1
HR 1
Det här exemplet visar hur du hämtar antalet användare i varje avdelning.
Exempel 12: Lista inaktiverade användare med aktiva licenser
Connect-Entra -Scopes 'User.Read.All'
$disabledUsersWithLicenses = Get-EntraBetaUser -Filter "accountEnabled eq false" -All | Where-Object {
$_.AssignedLicenses -ne $null -and $_.AssignedLicenses.Count -gt 0
}
$disabledUsersWithLicenses | Select-Object Id, DisplayName, UserPrincipalName, AccountEnabled | Format-Table -AutoSize
Id DisplayName UserPrincipalName AccountEnabled
-- ----------- ----------------- --------------
cccccccc-2222-3333-4444-dddddddddddd New User NewUser@tenant.com False
Det här exemplet visar hur du hämtar inaktiverade användare med aktiva licenser.
Exempel 13: Hämta gästanvändare med aktiva licenser
Connect-Entra -Scopes 'User.Read.All'
$guestUsers = Get-EntraBetaUser -Filter "userType eq 'Guest'" -All
$guestUsersWithLicenses = foreach ($guest in $guestUsers) {
if ($guest.AssignedLicenses.Count -gt 0) {
[PSCustomObject]@{
Id = $guest.Id
DisplayName = $guest.DisplayName
UserPrincipalName = $guest.UserPrincipalName
AssignedLicenses = ($guest.AssignedLicenses | ForEach-Object { $_.SkuId }) -join ", "
}
}
}
$guestUsersWithLicenses | Format-Table Id, DisplayName, UserPrincipalName, AssignedLicenses -AutoSize
Id DisplayName UserPrincipalName AssignedLicenses
-- ----------- ----------------- ----------------
cccccccc-2222-3333-4444-dddddddddddd Sawyer Miller sawyerm_gmail.com#EXT#@contoso.com c42b9cae-ea4f-4ab7-9717-81576235ccac
Det här exemplet visar hur du hämtar gästanvändare med aktiva licenser.
Exempel 14: Lista användare med en specifik licens
Connect-Entra -Scopes 'User.Read.All'
$skuId = (Get-EntraBetaSubscribedSku | Where-Object { $_.SkuPartNumber -eq 'POWERAPPS_DEV' }).SkuId
Get-EntraBetaUser -Filter "assignedLicenses/any(l:l/skuId eq $skuId)" -Select id, displayName, userPrincipalName, userType, accountEnabled, assignedLicenses |
Select-Object id, displayName, userPrincipalName, userType, accountEnabled | Format-Table -AutoSize
id displayName userPrincipalName userType accountEnabled
-- ----------- ----------------- -------- --------------
cccccccc-2222-3333-4444-dddddddddddd Angel Brown AngelB@contoso.com Member True
dddddddd-3333-4444-5555-eeeeeeeeeeee Avery Smith AveryS@contoso.com Member True
Det här exemplet visar hur du hämtar användare med en specifik licens.
Exempel 15: Hämta användare utan chefer
Connect-Entra -Scopes 'User.Read.All'
$allUsers = Get-EntraBetaUser -All
$usersWithoutManagers = foreach ($user in $allUsers) {
$manager = Get-EntraBetaUserManager -ObjectId $user.Id -ErrorAction SilentlyContinue
if (-not $manager) {
[PSCustomObject]@{
Id = $user.Id
DisplayName = $user.DisplayName
UserPrincipalName = $user.UserPrincipalName
}
}
}
$usersWithoutManagers | Format-Table Id, DisplayName, UserPrincipalName -AutoSize
Id DisplayName UserPrincipalName
-- ----------- -----------------
cccccccc-2222-3333-4444-dddddddddddd New User NewUser@tenant.com
bbbbbbbb-1111-2222-3333-cccccccccccc Sawyer Miller SawyerM@contoso.com
Det här exemplet visar hur du hämtar användare utan chefer.
Exempel 16: Visa en lista över alla gästanvändare
Connect-Entra -Scopes 'User.Read.All'
$guestUsers = Get-EntraBetaUser -Filter "userType eq 'Guest'" -All
$guestUsers | Select-Object DisplayName, UserPrincipalName, Id, createdDateTime, creationType, accountEnabled, UserState | Format-Table -AutoSize
DisplayName UserPrincipalName Id CreatedDateTime CreationType AccountEnabled UserState
----------- ----------------- -- --------------- ------------ -------------- ---------
Sawyer Miller sawyerm_gmail.com#EXT#@contoso.com bbbbbbbb-1111-2222-3333-cccccccccccc 9/13/2024 6:37:33 PM Invitation True Accepted
Det här exemplet visar hur du hämtar listan över alla gästanvändare.
Exempel 17: Lista fem användare som nyligen har skapats
Get-EntraBetaUser -All | Sort-Object -Property createdDateTime -Descending | Select-Object -First 5
DisplayName Id Mail UserPrincipalName
----------- -- ---- -----------------
Angel Brown cccccccc-2222-3333-4444-dddddddddddd AngelB@contoso.com AngelB@contoso.com
Avery Smith dddddddd-3333-4444-5555-eeeeeeeeeeee AveryS@contoso.com AveryS@contoso.com
Sawyer Miller eeeeeeee-4444-5555-6666-ffffffffffff SawyerM@contoso.com SawyerM@contoso.com
Christie Cline bbbbbbbb-1111-2222-3333-cccccccccccc ChristieC@contoso.com ChristieC@contoso.com
Patti Fernandez aaaaaaaa-bbbb-cccc-1111-222222222222 PattiF@contoso.com PattiF@contoso.com
Det här exemplet visar hur du hämtar de nyligen skapade användarna.
Exempel 18: Lista över användare med rollen Global administratör
Connect-Entra -Scopes 'User.Read.All', 'RoleManagement.Read.Directory'
$roleId = Get-EntraBetaDirectoryRoleTemplate | Where-Object { $_.DisplayName -eq 'Global Administrator' } | Select-Object -ExpandProperty Id
$globalAdmins = Get-EntraBetaDirectoryRoleAssignment -Filter "roleDefinitionId eq '$roleId'" | ForEach-Object {
Get-EntraBetaUser -UserId $_.PrincipalId
}
$globalAdmins | Select-Object Id, DisplayName, UserPrincipalName, CreatedDateTime, AccountEnabled | Format-Table -AutoSize
id displayName userPrincipalName createdDateTime accountEnabled
-- ----------- ----------------- --------------- --------------
cccccccc-2222-3333-4444-dddddddddddd Angel Brown AngelB@contoso.com 3/7/2024 12:34:59 AM True
dddddddd-3333-4444-5555-eeeeeeeeeeee Avery Smith AveryS@contoso.com 10/1/2024 9:47:06 AM True
Det här exemplet visar hur du visar en lista över alla användare med en specifik roll, till exempel Global Administrator. Microsoft rekommenderar att du tilldelar rollen Global administratör till färre än fem personer för bästa praxis. Se metodtips.
Exempel 19: Lista alla användare med återkallade sessioner under de senaste 30 dagarna
Connect-Entra -Scopes 'User.Read.All'
$pastDate = (Get-Date).AddDays(-30).ToUniversalTime()
Get-EntraBetaUser | Where-Object { $_.signInSessionsValidFromDateTime -ge $pastDate } |
Select-Object DisplayName, UserPrincipalName, signInSessionsValidFromDateTime
displayName userPrincipalName signInSessionsValidFromDateTime
----------- ----------------- -------------------------------
Angel Brown AngelB@contoso.com 03/03/2025 16:13:47
Avery Smith AveryS@contoso.com 03/03/2025 16:05:02
Det här exemplet visar hur du listar alla användare med återkallade sessioner under de senaste 30 dagarna.
Parametrar
-All
Visa en lista över alla sidor.
Parameteregenskaper
| Typ: | System.Management.Automation.SwitchParameter |
| Standardvärde: | False |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
(All)
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-EnabledFilter
Filtrerar användare baserat på tillståndet för deras konton. Giltiga värden är EnabledOnly och DisabledOnly. När det anges lägger cmdleten till en accountEnabled begränsning i alla befintliga -Filter uttryck.
Parameteregenskaper
| Typ: | System.String |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
| Alias: | Ingen |
Parameteruppsättningar
GetFiltered
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-Filter
Anger en OData v4.0-filtersats. Den här parametern styr vilka objekt som returneras. Information om frågor med OData finns här.
Parameteregenskaper
| Typ: | System.String |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
GetQuery
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | True |
| Värde från pipeline efter egenskapsnamn: | True |
| Värde från återstående argument: | False |
-HasErrorsOnly
Returnerar endast användare som har ett eller flera tjänstetablerings- eller valideringsfel (som visas via serviceProvisioningErrors samlingen). Använd den här växeln för att snabbt identifiera identiteter som kräver administrativa åtgärder.
Parameteregenskaper
| Typ: | System.Management.Automation.SwitchParameter |
| Standardvärde: | False |
| Stöder jokertecken: | False |
| DontShow: | False |
| Alias: | Ingen |
Parameteruppsättningar
GetFiltered
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-LicenseReconciliationNeededOnly
Returnerar endast användare vars tjänstetableringsfel inkluderar licensrelaterade problem som anger att licensavstämning krävs (till exempel otillräckliga licenser, beroendeöverträdelser, ömsesidigt uteslutande planer). Internt matchar cmdleten vanliga licensfelmönster för att begränsa resultatuppsättningen.
Parameteregenskaper
| Typ: | System.Management.Automation.SwitchParameter |
| Standardvärde: | False |
| Stöder jokertecken: | False |
| DontShow: | False |
| Alias: | Ingen |
Parameteruppsättningar
GetFiltered
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-PageSize
När -PageSize anges kan kommandot göra flera nätverksanrop för att hämta data i segment (sidor) och fortsätta tills den når gränsen som definierats av antingen -Top eller -All, beroende på vilken som används.
Parameteregenskaper
| Typ: | System.Int32 |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
(All)
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | True |
| Värde från pipeline efter egenskapsnamn: | True |
| Värde från återstående argument: | False |
-Property
Anger egenskaper som ska returneras.
Parameteregenskaper
| Typ: | System.String[] |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
| Alias: | Select |
Parameteruppsättningar
(All)
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-SearchString
Anger en söksträng.
Parameteregenskaper
| Typ: | System.String |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
GetVague
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | True |
| Värde från pipeline efter egenskapsnamn: | True |
| Värde från återstående argument: | False |
-Synchronized
Returnerar endast användare som synkroniserats från lokálna služba Active Directory (de med onPremisesSyncEnabled eq true). Detta är användbart för att skilja molnbaserade identiteter från hybridhanterade identiteter.
Parameteregenskaper
| Typ: | System.Management.Automation.SwitchParameter |
| Standardvärde: | False |
| Stöder jokertecken: | False |
| DontShow: | False |
| Alias: | Ingen |
Parameteruppsättningar
GetFiltered
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-Top
Anger det maximala antalet poster som ska returneras.
Parameteregenskaper
| Typ: | System.Int32 |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
| Alias: | Limit |
Parameteruppsättningar
GetQuery
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | True |
| Värde från pipeline efter egenskapsnamn: | True |
| Värde från återstående argument: | False |
-UnlicensedUsersOnly
Returnerar endast användare som inte har några tilldelade licenser (assignedLicenses antal är lika med 0). Detta hjälper till att identifiera användare som kanske ännu inte har den tjänståtkomst som krävs.
Parameteregenskaper
| Typ: | System.Management.Automation.SwitchParameter |
| Standardvärde: | False |
| Stöder jokertecken: | False |
| DontShow: | False |
| Alias: | Ingen |
Parameteruppsättningar
GetFiltered
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-UserId
Anger ID :t (som ett UPN-namn (User Principal Name) eller UserId) för en användare i Microsoft Entra ID.
Parameteregenskaper
| Typ: | System.String |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
| Alias: | Objekt-ID, UPN, Identitet, Användarens huvudnamn |
Parameteruppsättningar
GetById
| Position: | Named |
| Obligatorisk: | True |
| Värde från pipeline: | True |
| Värde från pipeline efter egenskapsnamn: | True |
| Värde från återstående argument: | False |
CommonParameters
Den här cmdleten stöder vanliga parametrar: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction och -WarningVariable. Mer information finns i about_CommonParameters.