Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A felhasználók a Microsoft Entra ID-ban található Microsoft Entra munkahelyi vagy iskolai felhasználói fiókok, illetve személyes Microsoft-fiókok megfelelői. A Microsoft Entra PowerShell felhasználói erőforrása egy felhasználó ábrázolása, és a felhasználó számára releváns kapcsolatokat és erőforrásokat is tartalmaz.
A felhasználói erőforrás egyszerű módot kínál a felhasználói erőforrások elérésére és módosítására anélkül, hogy további hívásokat kellene végrehajtania, konkrét hitelesítési információkat kellene keresnie, és közvetlenül lekérdezéseket kellene kiadnia más Microsoft Entra PowerShell-objektumokkal szemben.
Prerequisites
A felhasználók Microsoft Entra PowerShell-lel való kezeléséhez a következőkre van szükség:
- Egy Microsoft Entra felhasználói fiók. Ha még nem rendelkezik ilyen fiókkal, A fiók létrehozása ingyenes.
- Legalább a felhőalkalmazás-rendszergazdai szerepkör.
- Microsoft Entra PowerShell-modul telepítve van. A modul telepítéséhez kövesse a Microsoft Entra PowerShell-modul telepítésével kapcsolatos útmutatót.
Hozzáférhet egy felhasználó adataihoz, és kezelheti az adatait a nevükben vagy egy saját identitással rendelkező alkalmazásként.
Felhasználó bevezetése
Egy felhasználó felvételéhez hozzon létre egy új felhasználói fiókot a Microsoft Entra ID-ban. Ez a folyamat magában foglalja a felhasználó profiljának beállítását, beleértve a megjelenítendő nevet, az e-mail-címet és a jelszót.
Felhasználó létrehozása
Ez a példa új felhasználót hoz létre.
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
A kimenet az újonnan létrehozott felhasználó adatait jeleníti meg.
DisplayName Id Mail UserPrincipalName
----------- -- ---- -----------------
New User aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb NewUser@contoso.com
Felhasználók tömeges létrehozása
Ha több felhasználót szeretne tömegesen létrehozni, használhat CSV-fájlt. A CSV-fájlnak tartalmaznia kell a szükséges felhasználói attribútumokat, például DisplayName: , UserPrincipalNameés 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
}
| FirstName | Vezetéknév | DisplayName | E-mail cím | Department | MailNickName |
|---|---|---|---|---|---|
| Adele | Vance | Adele Vance | adelev@contoso.com | Marketing | adelev |
A kimenet az újonnan létrehozott felhasználók adatait jeleníti meg.
DisplayName Id Mail UserPrincipalName
----------- -- ---- -----------------
Adele Vance aaaaaaaa-1111-2222-3333-bbbbbbbbbbbb adelev@contoso.com
Felhasználó jelszavának frissítése
A felhasználó jelszavának rendszergazda általi frissítéséhez használja a következő parancsot:
Connect-Entra -Scopes 'Directory.AccessAsUser.All' $newPassword = '<strong-password>' $securePassword = ConvertTo-SecureString $newPassword -AsPlainText -Force Set-EntraUserPasswordProfile -UserId 'SawyerM@contoso.com' -Password $securePasswordA bejelentkezett felhasználó (önkiszolgáló) jelszavának frissítéséhez használja a következő parancsot:
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 $newPasswordEz a parancs lehetővé teszi, hogy a felhasználók rendszergazdai jogosultságok nélkül módosíthassák a saját jelszavukat.
Fénykép feltöltése vagy lekérése a felhasználó számára
Fénykép feltöltése egy felhasználó számára.
Connect-Entra -Scopes 'User.ReadWrite.All' Set-EntraUserThumbnailPhoto -UserId 'SawyerM@contoso.com' -FilePath 'D:\UserThumbnailPhoto.jpg'Ez a példa a UserId paraméterrel megadott felhasználó miniatűrképét a FilePath paraméterrel megadott képre állítja.
A felhasználó fényképének lekérése.
Connect-Entra -Scopes 'ProfilePhoto.Read.All' Get-EntraUserThumbnailPhoto -UserId 'SawyerM@contoso.com'Ez a példa bemutatja, hogyan kérhető le egy felhasználó miniatűr fényképe, amely a
UserIdparaméter értéke alapján van megadva.
Rendszergazdai szerepkörök biztosítása a felhasználóknak a szervezetben
Ha rendszergazdai szerepköröket biztosít a felhasználóknak a szervezetben, az lehetővé teszi számukra, hogy bizonyos feladatokat hajtsanak végre és felügyeljék az erőforrásokat. Felhasználókat hozzárendelhet olyan szerepkörökhöz, mint a csoportadminisztrátor, a felhasználói rendszergazda vagy más egyéni szerepkörök.
Ha tudni szeretné, hogyan rendelhet szerepköröket a felhasználókhoz Microsoft Entra PowerShell használatával, olvassa el a Szerepkörök hozzárendelése felhasználókhoz című témakört.
Keresés a felhasználók között
A szervezet felhasználóit különböző attribútumokkal keresheti meg, példáuldisplayName: , mailNickname, userPrincipalNamedepartment és jobTitle. Az alábbi példa bemutatja, hogyan kereshet egy felhasználót a(z) userPrincipalName alapján.
Connect-Entra -Scopes 'User.Read.All'
Get-EntraUser -Filter "userPrincipalName eq 'SawyerM@contoso.com'"
A kimenet egy keresés alapján jeleníti meg a userPrincipalName felhasználói adatokat.
DisplayName Id Mail UserPrincipalName
----------- -- ---- -----------------
Sawyer Miller aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb SawyerM@contoso.com SawyerM@contoso.com
Felhasználók ellenőrzése adott szempontok alapján
Bizonyos feltételek, például bejelentkezési tevékenység és csoporttagság alapján is naplózhatja a felhasználókat. Ez a funkció segít nyomon követni a felhasználói tevékenységeket, és kezelni az erőforrásokhoz való hozzáférésüket.
Felhasználó bejelentkezési tevékenységének lekérése
Az alábbi példa bemutatja, hogyan kérhető le egy adott felhasználó bejelentkezési tevékenysége.
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'
A kimenet a felhasználó bejelentkezési tevékenységét jeleníti meg.
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
Az összes felhasználó bejelentkezési tevékenységének letöltése
Az alábbi példa lekéri az összes licencelt felhasználói fiókot és az utolsó sikeres bejelentkezési tevékenységet. Az adatokat egy CSV-fájlba exportálja további elemzés céljából.
# 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: $_"
}
Ez a példa a szervezet összes felhasználójának utolsó és utolsó sikeres bejelentkezési dátumát is lekéri. A rendszer ezután exportálja az adatokat egy, a lastSignIns.csv könyvtárban elnevezett C:\temp CSV-fájlba.
Felhasználó csoporttagságainak listázása
Az alábbi példa azokat a csoportokat sorolja fel, amelyeknek a felhasználó tagja.
Connect-Entra -Scopes 'User.Read'
Get-EntraUserMembership -UserId 'SawyerM@contoso.com' |
Select-Object Id, displayName, createdDateTime, '@odata.type' |
Format-Table -AutoSize
A kimenet a felhasználó tagságát jeleníti meg.
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
Az alábbi parancsokkal listázhatja azokat az entitásokat, amelyekhez a felhasználó tartozik:
- Get-EntraUserAdministrativeUnit – a felhasználóhoz tartozó felügyeleti egységek listájának lekéréséhez.
- Get-EntraUserGroup – a felhasználóhoz tartozó csoportok listájának lekéréséhez.
- Get-EntraUserRole – a felhasználóhoz rendelt címtárszerepkörök listájának lekéréséhez.
Egy felhasználó felettesének és közvetlen beosztottjainak lekérése, valamint felettes hozzárendelése egy felhasználóhoz
Kérje le a felhasználó felettesét.
Connect-Entra -Scopes 'User.Read.All' Get-EntraUserManager -UserId 'SawyerM@contoso.com' | Select-Object Id, displayName, userPrincipalName, createdDateTime, accountEnabled, userType | Format-Table -AutoSizeA kimenet a felhasználó kezelőjét jeleníti meg.
id displayName userPrincipalName createdDateTime accountEnabled userType -- ----------- ----------------- --------------- -------------- -------- 11bb11bb-cc22-dd33-ee44-55ff55ff55ff Patti Fernandez PattiF@Contoso.com 10/7/2024 12:32:01 AM True MemberListázhatja azokat a felhasználókat, akik egy adott felhasználónak jelentenek.
Connect-Entra -Scopes 'User.Read','User.Read.All' Get-EntraUserDirectReport -UserId 'SawyerM@contoso.com' | Select-Object Id, displayName, userPrincipalName, createdDateTime, accountEnabled, userType | Format-Table -AutoSizeA kimenet a felhasználó közvetlen jelentését jeleníti meg.
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 MemberRendeljen hozzá egy vezetőt egy felhasználóhoz.
Connect-Entra -Scopes 'User.ReadWrite.All' Set-EntraUserManager -UserId 'SawyerM@contoso.com' -ManagerId 'AdeleV@contoso.com'-
-UserId- megadja egy felhasználó azonosítóját (UserPrincipalName vagy User ObjectId) a Microsoft Entra ID. -
-ManagerId- megadja a vezetőként hozzárendelendő Microsoft Entra ID-objektum azonosítóját, UserPrincipalName vagy User ObjectId formájában.
-
Vezetők nélküli felhasználók listázása
Ez a példa a felettes nélküli felhasználókat sorolja fel, amelyek segítenek azonosítani az árva fiókokat, szolgáltatásfiókokat vagy helytelenül konfigurált profilokat a törléshez.
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
A kimenet a kezelő nélküli felhasználókat sorolja fel.
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
Letiltott felhasználók listázása
Az alábbi példa a letiltott fiókok listáját hozza létre.
Connect-Entra -Scopes 'User.ReadWrite.All'
Get-EntraUser -Filter "accountEnabled eq false" | Select-Object DisplayName, Id, Mail, UserPrincipalName
A kimenet a letiltott felhasználókat sorolja fel.
DisplayName Id Mail userPrincipalName
----------- -- ---- -----------------
Sawyer Miller hhhhhhhh-7777-8888-9999-iiiiiiiiiiii SawyerM@contoso.com
Kez Michael eeeeeeee-4444-5555-6666-ffffffffffff KezM@contoso.com