Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Kullanıcılar, Microsoft Entra ID’deki iş veya okul için Microsoft Entra kullanıcı hesabını ya da kişisel bir Microsoft hesabını temsil eder. Microsoft Entra PowerShell'deki kullanıcı kaynağı bir kullanıcının temsilidir ve kullanıcıyla ilgili ilişkileri ve kaynakları içerir.
Kullanıcı kaynağı, ek çağrılar yapmak, belirli kimlik doğrulama bilgilerini aramak ve diğer Microsoft Entra PowerShell nesnelerine doğrudan sorgu göndermek zorunda kalmadan kullanıcı kaynaklarına erişmeniz ve bu kaynakları değiştirmeniz için basit bir yol sağlar.
Prerequisites
Microsoft Entra PowerShell ile kullanıcıları yönetmek için şunları yapmanız gerekir:
- Microsoft Entra kullanıcı hesabı. Henüz bir hesabınız yoksa, ücretsizhesap oluşturun.
- En azından Bulut Uygulaması Yöneticisi rolü.
- Microsoft Entra PowerShell modülü yüklü. Modülü yüklemek için Microsoft Entra PowerShell modülünü yükleme kılavuzunu izleyin.
Kullanıcının bilgilerine erişebilir ve verilerini kendi adına veya kendi kimliğine sahip bir uygulama olarak yönetebilirsiniz.
Kullanıcı ekleme
Bir kullanıcıyı eklemek için, Microsoft Entra ID'de yeni bir kullanıcı hesabı oluşturursunuz. Bu işlem, görünen adı, e-posta adresi ve parolası dahil olmak üzere kullanıcının profilini ayarlamayı içerir.
Kullanıcı oluşturma
Bu örnek yeni bir kullanıcı oluşturur.
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
Çıktıda yeni oluşturulan kullanıcının ayrıntıları görüntülenir.
DisplayName Id Mail UserPrincipalName
----------- -- ---- -----------------
New User aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb NewUser@contoso.com
Kullanıcıları toplu oluşturma
Toplu olarak birden çok kullanıcı oluşturmak için BIR CSV dosyası kullanabilirsiniz. CSV dosyası , DisplayNameve UserPrincipalNamegibi PasswordProfilegerekli kullanıcı özniteliklerini içermelidir.
# 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
}
| İlk İsim | Soyadı | DisplayName | E-posta Adresi | Bölüm | MailTakmaAdı |
|---|---|---|---|---|---|
| Adele | Vance | Adele Vance | adelev@contoso.com | Marketing | adelev |
Çıktıda yeni oluşturulan kullanıcıların ayrıntıları görüntülenir.
DisplayName Id Mail UserPrincipalName
----------- -- ---- -----------------
Adele Vance aaaaaaaa-1111-2222-3333-bbbbbbbbbbbb adelev@contoso.com
Kullanıcının parolasını güncelleştirme
Kullanıcının parolasını yönetici tarafından güncelleştirmek için şu komutu kullanın:
Connect-Entra -Scopes 'Directory.AccessAsUser.All' $newPassword = '<strong-password>' $securePassword = ConvertTo-SecureString $newPassword -AsPlainText -Force Set-EntraUserPasswordProfile -UserId 'SawyerM@contoso.com' -Password $securePasswordOturum açmış kullanıcının parolasını (self servis) güncelleştirmek için şu komutu kullanın:
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 $newPasswordBu komut, kullanıcıların yönetici ayrıcalıkları olmadan kendi parolalarını değiştirmesine olanak tanır.
Kullanıcı için fotoğraf yükleme veya alma
Bir kullanıcı için fotoğraf yükleyin.
Connect-Entra -Scopes 'User.ReadWrite.All' Set-EntraUserThumbnailPhoto -UserId 'SawyerM@contoso.com' -FilePath 'D:\UserThumbnailPhoto.jpg'Bu örnek, UserId parametresiyle belirtilen kullanıcının küçük resmini FilePath parametresiyle belirtilen görüntüye ayarlar.
Bir kullanıcının fotoğrafını alın.
Connect-Entra -Scopes 'ProfilePhoto.Read.All' Get-EntraUserThumbnailPhoto -UserId 'SawyerM@contoso.com'Bu örnek,
UserIdparametresinin değeri aracılığıyla belirtilen bir kullanıcının küçük resminin nasıl alınacağını gösterir.
Kuruluşunuzda kullanıcılara yönetici rolleri verme
Kuruluşunuzda kullanıcılara yönetici rolleri vermek, belirli görevleri gerçekleştirmelerine ve kaynakları yönetmelerine olanak tanır. Kullanıcıları Grup Yöneticisi, Kullanıcı Yöneticisi veya diğer özel roller gibi rollere atayabilirsiniz.
Microsoft Entra PowerShell kullanarak kullanıcılara rol atamayı öğrenmek için bkz. Kullanıcılara rol atama.
Kullanıcıları ara
, displayName, mailNicknameuserPrincipalNameve departmentgibi jobTitleçeşitli öznitelikleri kullanarak kuruluşunuzdaki kullanıcıları arayabilirsiniz. Aşağıdaki örnek, bir kullanıcının userPrincipalName ile nasıl aranacağını gösterir.
Connect-Entra -Scopes 'User.Read.All'
Get-EntraUser -Filter "userPrincipalName eq 'SawyerM@contoso.com'"
Çıktı, userPrincipalName aramasına göre kullanıcı ayrıntılarını gösterir.
DisplayName Id Mail UserPrincipalName
----------- -- ---- -----------------
Sawyer Miller aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb SawyerM@contoso.com SawyerM@contoso.com
Kullanıcıları belirli ölçütlere göre denetleme
Kullanıcıları oturum açma etkinliği ve grup üyelikleri gibi belirli ölçütlere göre denetleyebilirsiniz. Bu özellik, kullanıcı etkinliğini izlemenize ve kaynaklara erişimini yönetmenize yardımcı olur.
Kullanıcının oturum açma etkinliğini alma
Aşağıdaki örnek, belirli bir kullanıcının oturum açma etkinliğinin nasıl alınacağını gösterir.
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'
Çıktı, kullanıcının oturum açma etkinliğini gösterir.
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
Tüm kullanıcıların oturum açma etkinliğini indirme
Aşağıdaki örnek tüm lisanslı kullanıcı hesaplarını ve son başarılı oturum açma etkinliğini alır. Daha fazla analiz için verileri bir CSV dosyasına aktarır.
# 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: $_"
}
Bu örnek, kuruluşunuzdaki tüm kullanıcılar için hem son oturum açma hem de son başarılı oturum açma tarihlerini alır. Veriler daha sonra dizininde lastSignIns.csv adlı C:\temp bir CSV dosyasına aktarılır.
Kullanıcının grup üyeliklerini listeleme
Aşağıdaki örnekte bir kullanıcının üyesi olduğu gruplar listeleniyor.
Connect-Entra -Scopes 'User.Read'
Get-EntraUserMembership -UserId 'SawyerM@contoso.com' |
Select-Object Id, displayName, createdDateTime, '@odata.type' |
Format-Table -AutoSize
Çıktı, kullanıcının üyeliklerini gösterir.
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
Kullanıcının ait olduğu varlıkları listelemek için şu komutları kullanın:
- Get-EntraUserAdministrativeUnit - kullanıcının ait olduğu yönetim birimlerinin listesini almak için.
- Get-EntraUserGroup - kullanıcının ait olduğu grupların listesini almak için.
- Get-EntraUserRole - kullanıcıya atanan dizin rollerinin listesini almak için.
Kullanıcının yöneticisini alma, doğrudan raporlar gönderme ve kullanıcıya yönetici atama
Bir kullanıcının yöneticisini alın.
Connect-Entra -Scopes 'User.Read.All' Get-EntraUserManager -UserId 'SawyerM@contoso.com' | Select-Object Id, displayName, userPrincipalName, createdDateTime, accountEnabled, userType | Format-Table -AutoSizeÇıktı, kullanıcının yöneticisini gösterir.
id displayName userPrincipalName createdDateTime accountEnabled userType -- ----------- ----------------- --------------- -------------- -------- 11bb11bb-cc22-dd33-ee44-55ff55ff55ff Patti Fernandez PattiF@Contoso.com 10/7/2024 12:32:01 AM True MemberBelirli bir kullanıcıya rapor veren kullanıcıları listeleyin.
Connect-Entra -Scopes 'User.Read','User.Read.All' Get-EntraUserDirectReport -UserId 'SawyerM@contoso.com' | Select-Object Id, displayName, userPrincipalName, createdDateTime, accountEnabled, userType | Format-Table -AutoSizeÇıkış, kullanıcının doğrudan raporunu gösterir.
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 MemberBir kullanıcıya yönetici atama.
Connect-Entra -Scopes 'User.ReadWrite.All' Set-EntraUserManager -UserId 'SawyerM@contoso.com' -ManagerId 'AdeleV@contoso.com'-
-UserId- Microsoft Entra ID bir kullanıcının kimliğini (UserPrincipalName veya User ObjectId olarak) belirtir. -
-ManagerId- Yönetici olarak atanacak Microsoft Entra ID nesnesinin kimliğini UserPrincipalName veya User ObjectId olarak belirtir.
-
Yöneticileri olmayan kullanıcıları listeleme
Bu örnekte, yöneticisi olmayan kullanıcılar listelenir ve temizlenmek üzere yalnız bırakılmış hesapların, hizmet hesaplarının veya yanlış yapılandırılmış profillerin tanımlanmasına yardımcı olur.
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
Çıktıda, yöneticileri olmayan kullanıcılar listelenir.
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
Devre dışı bırakılan kullanıcıları listeleme
Aşağıdaki örnek, devre dışı bırakılmış hesapların listesini oluşturur.
Connect-Entra -Scopes 'User.ReadWrite.All'
Get-EntraUser -Filter "accountEnabled eq false" | Select-Object DisplayName, Id, Mail, UserPrincipalName
Çıktıda devre dışı bırakılan kullanıcılar listelenir.
DisplayName Id Mail userPrincipalName
----------- -- ---- -----------------
Sawyer Miller hhhhhhhh-7777-8888-9999-iiiiiiiiiiii SawyerM@contoso.com
Kez Michael eeeeeeee-4444-5555-6666-ffffffffffff KezM@contoso.com