Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Uživatelé jsou reprezentací pracovního nebo školního uživatelského účtu Microsoft Entra nebo osobního účtu Microsoft v Microsoft Entra ID. Uživatelský prostředek v Microsoft Entra PowerShellu představuje uživatele a zahrnuje relace a prostředky, které jsou pro uživatele relevantní.
Uživatelský prostředek poskytuje jednoduchý způsob, jak získat přístup k prostředkům uživatelů a manipulovat s nimi, aniž byste museli provádět další volání, vyhledávat konkrétní ověřovací informace a přímo vydávat dotazy na jiné Microsoft Entra objekty PowerShellu.
Předpoklady
Pokud chcete spravovat uživatele pomocí Microsoft Entra PowerShellu, potřebujete:
- Uživatelský účet Microsoft Entra. Pokud ho ještě nemáte, můžete si zdarma vytvořit účet.
- Alespoň role Správce cloudových aplikací .
- Modul PowerShellu Microsoft Entra byl nainstalován. Postupujte podle pokynů k instalaci modulu Microsoft Entra PowerShellu.
Můžete získat přístup k informacím uživatele a spravovat jejich data jménem nebo jako aplikaci s vlastní identitou.
Přidat uživatele
Pokud chcete připojit uživatele, vytvoříte v Microsoft Entra ID nový uživatelský účet. Tento proces zahrnuje nastavení profilu uživatele, včetně jeho zobrazovaného jména, e-mailové adresy a hesla.
Vytvoření uživatele
Tento příklad vytvoří nového uživatele.
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
Výstup zobrazí podrobnosti o nově vytvořeném uživateli.
DisplayName Id Mail UserPrincipalName
----------- -- ---- -----------------
New User aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb NewUser@contoso.com
Hromadné vytváření uživatelů
K hromadnému vytvoření více uživatelů můžete použít soubor CSV. Soubor CSV by měl obsahovat nezbytné atributy uživatele, například DisplayName, UserPrincipalNamea 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
}
| Křestní jméno | Příjmení | DisplayName | Emailová adresa | Oddělení | MailNickName |
|---|---|---|---|---|---|
| Adele | Vance | Adele Vance | adelev@contoso.com | Marketing | adelev |
Výstup zobrazí podrobnosti o nově vytvořených uživatelích.
DisplayName Id Mail UserPrincipalName
----------- -- ---- -----------------
Adele Vance aaaaaaaa-1111-2222-3333-bbbbbbbbbbbb adelev@contoso.com
Aktualizace hesla uživatele
Pokud chcete aktualizovat heslo uživatele správcem, použijte tento příkaz:
Connect-Entra -Scopes 'Directory.AccessAsUser.All' $newPassword = '<strong-password>' $securePassword = ConvertTo-SecureString $newPassword -AsPlainText -Force Set-EntraUserPasswordProfile -UserId 'SawyerM@contoso.com' -Password $securePasswordPokud chcete aktualizovat heslo pro přihlášeného uživatele (samoobslužné), použijte tento příkaz:
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 $newPasswordTento příkaz umožňuje uživatelům změnit vlastní hesla bez oprávnění správce.
Nahrání nebo načtení fotky pro uživatele
Nahrajte fotku pro uživatele.
Connect-Entra -Scopes 'User.ReadWrite.All' Set-EntraUserThumbnailPhoto -UserId 'SawyerM@contoso.com' -FilePath 'D:\UserThumbnailPhoto.jpg'Tento příklad nastaví miniaturu fotky uživatele zadaného parametrem UserId na obrázek zadaný pomocí parametru FilePath.
Získejte fotografii uživatele.
Connect-Entra -Scopes 'ProfilePhoto.Read.All' Get-EntraUserThumbnailPhoto -UserId 'SawyerM@contoso.com'Tento příklad ukazuje, jak načíst náhledovou fotografii uživatele určeného hodnotou parametru
UserId.
Přidělte uživatelům ve vaší organizaci správcovské role
Udělení rolí pro správu uživatelů ve vaší organizaci jim umožňuje provádět konkrétní úlohy a spravovat prostředky. Uživatele můžete přiřadit k rolím, jako je správce skupiny, správce uživatelů nebo jiné vlastní role.
Informace o přiřazování rolí uživatelům pomocí Microsoft Entra PowerShellu najdete v tématu Přiřazení rolí uživatelům.
Vyhledávání uživatelů
Uživatele ve vaší organizaci můžete vyhledávat pomocí různých atributů, například displayName, mailNickname, userPrincipalName, department a jobTitle. Následující příklad ukazuje, jak vyhledat uživatele podle: userPrincipalName
Connect-Entra -Scopes 'User.Read.All'
Get-EntraUser -Filter "userPrincipalName eq 'SawyerM@contoso.com'"
Výstup zobrazuje podrobnosti o uživateli na userPrincipalName základě hledání.
DisplayName Id Mail UserPrincipalName
----------- -- ---- -----------------
Sawyer Miller aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb SawyerM@contoso.com SawyerM@contoso.com
Auditování uživatelů podle určitých kritérií
Uživatele můžete auditovat podle určitých kritérií, jako jsou přihlašovací aktivita a členství ve skupinách. Tato funkce vám pomůže sledovat aktivity uživatelů a spravovat jejich přístup k prostředkům.
Načíst přihlašovací aktivitu uživatele
Následující příklad ukazuje, jak načíst přihlašovací aktivitu konkrétního uživatele.
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'
Výstup zobrazuje přihlašovací aktivitu uživatele.
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
Stáhnout aktivitu přihlašování všech uživatelů
Následující příklad načte všechny licencované uživatelské účty a jejich poslední úspěšnou přihlašovací aktivitu. Exportuje data do souboru CSV pro další analýzu.
# 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: $_"
}
Tento příklad načte data posledního přihlášení i posledního úspěšného přihlášení pro všechny uživatele ve vaší organizaci. Data se pak exportují do souboru CSV s názvem lastSignIns.csv v C:\temp adresáři.
Výpis členství uživatele ve skupinách
Následující příklad uvádí skupiny, pro které je uživatel členem.
Connect-Entra -Scopes 'User.Read'
Get-EntraUserMembership -UserId 'SawyerM@contoso.com' |
Select-Object Id, displayName, createdDateTime, '@odata.type' |
Format-Table -AutoSize
Výstup zobrazuje členství uživatele.
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
Pomocí těchto příkazů můžete zobrazit seznam entit, do nichž uživatel patří:
- Get-EntraUserAdministrativeUnit – načtení seznamu jednotek pro správu, do kterých uživatel patří.
- Get-EntraUserGroup – načtení seznamu skupin, do nichž uživatel patří.
- Get-EntraUserRole – načtení seznamu rolí adresáře přiřazených uživateli.
Získat nadřízeného uživatele, jeho přímé podřízené a přiřadit uživateli nadřízeného
Získejte manažera uživatele.
Connect-Entra -Scopes 'User.Read.All' Get-EntraUserManager -UserId 'SawyerM@contoso.com' | Select-Object Id, displayName, userPrincipalName, createdDateTime, accountEnabled, userType | Format-Table -AutoSizeVýstup zobrazuje manažera uživatele.
id displayName userPrincipalName createdDateTime accountEnabled userType -- ----------- ----------------- --------------- -------------- -------- 11bb11bb-cc22-dd33-ee44-55ff55ff55ff Patti Fernandez PattiF@Contoso.com 10/7/2024 12:32:01 AM True MemberVypsat uživatele, kteří jsou podřízeni konkrétnímu uživateli.
Connect-Entra -Scopes 'User.Read','User.Read.All' Get-EntraUserDirectReport -UserId 'SawyerM@contoso.com' | Select-Object Id, displayName, userPrincipalName, createdDateTime, accountEnabled, userType | Format-Table -AutoSizeVýstup zobrazuje přímého podřízeného uživatele.
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 MemberPřiřazení manažera k uživateli.
Connect-Entra -Scopes 'User.ReadWrite.All' Set-EntraUserManager -UserId 'SawyerM@contoso.com' -ManagerId 'AdeleV@contoso.com'-
-UserId– určuje ID uživatele (jako UserPrincipalName nebo User ObjectId) v Microsoft Entra ID. -
-ManagerId– určuje ID objektu Microsoft Entra ID ve formě UserPrincipalName nebo User ObjectId, který má být přiřazen jako správce.
-
Zobrazení seznamu uživatelů bez manažerů
Tento příklad vypisuje uživatele bez nadřízeného a pomáhá identifikovat osiřelé účty, účty služeb nebo chybně nakonfigurované profily určené k vyčištění.
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
Výstup zobrazí seznam uživatelů bez manažerů.
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
Seznam zakázaných uživatelů
Následující příklad vygeneruje seznam zakázaných účtů.
Connect-Entra -Scopes 'User.ReadWrite.All'
Get-EntraUser -Filter "accountEnabled eq false" | Select-Object DisplayName, Id, Mail, UserPrincipalName
Výstup obsahuje deaktivované uživatele.
DisplayName Id Mail userPrincipalName
----------- -- ---- -----------------
Sawyer Miller hhhhhhhh-7777-8888-9999-iiiiiiiiiiii SawyerM@contoso.com
Kez Michael eeeeeeee-4444-5555-6666-ffffffffffff KezM@contoso.com