Microsoft Graph PowerShell ile Gruplara Kullanıcı Ekleme


Kullanıcıları Microsoft 365 veya Microsoft Entra'daki gruplara eklemek, yeni kullanıcıların oluşturulması ve genel sürekli destek sırasında yaygın bir ihtiyaçtır. Bu, web yönetim merkezleri aracılığıyla yapılan basit bir görev olsa da, basitlik ve otomasyon amacıyla bu görevin Microsoft Graph PowerShell kullanılarak programlı olarak yerine getirilmesine hala ihtiyaç vardır.

Bu eğitimde size Microsoft Graph PowerShell kullanarak bir gruba tek veya birden fazla kullanıcıyı nasıl ekleyebileceğinizi göstereceğim.

New-MgGroupMember cmdlet'i hakkında

New-MgGroupMember cmdlet'i, ister bir güvenlik grubu, ister dağıtım grubu veya Microsoft 365 grubu olsun, belirli bir gruba tek bir kullanıcı eklemenize olanak tanır. Aynı anda yalnızca tek bir kullanıcı ekleyebileceğiniz için, tek bir komut veya komut dosyasına birden fazla kullanıcı eklemek için bir döngü kullanılabilir.

New-MgGroupMember, Microsoft Graph PowerShell'deki Microsoft.Graph.Groups modüllerine aittir. Bu modül aşağıdaki komutla manuel olarak kurulabilir:

Install-Module Microsoft.Graph.Groups

Kullanıcıları gruplara eklemek için gereken minimum düzeyde izinler de vardır; aşağıdaki izinlere izin verilmesi gerekir:

  • GrupÜyesi.ReadWrite.Tümü
  • Kullanıcı.ReadWrite.Tümü

Microsoft Graph PowerShell'e yukarıdaki izinlerle bağlanmak için aşağıdaki komutu kullanabilir ve Genel Yönetici kullanıcısı ile oturum açabilirsiniz:

Connect-MgGraph -Scopes GroupMember.ReadWrite.All, User.ReadWrite.All

Microsoft Graph PowerShell'e bağlandıktan sonra grupları gruplara ekleme işlemine devam edebilirsiniz.

Microsoft Graph PowerShell ile bir gruba tek bir kullanıcı ekleme

Birçok Microsoft Graph PowerShell cmdlet'inde olduğu gibi, New-MgGroupMember cmdlet'inin tuhaflıklarından biri, grubun veya kullanıcının benzersiz adını (veya kullanıcı adını) kullanmak yerine, bunun yerine daha az kullanıcı anlamına gelen ObjectID dizinini girmenizi gerektirmesidir. arkadaşça.

Hem kullanıcının hem de grubun ObjectID'si, Microsoft Graph PowerShell'deki -Arama parametresi kullanılarak kolayca bulunabilir.

Get-MgUser'ın Microsoft Graph PowerShell ile Kullanımı başlıklı blogumda -Search parametresi hakkında daha fazla ayrıntıya gireceğim.

Hem hedef grup hem de hedef kullanıcı için dizin nesnesini depolamak üzere aşağıdaki komutu kullanarak başlayın:

$group = Get-MgGroup -Search '"DisplayName:GroupName"' -ConsistencyLevel eventual
$user = Get-MgUser -Search '"DisplayName:UserDiplayName"' -ConsistencyLevel eventual

Daha sonra kullanıcıyı hedef gruba eklemek için New-MgGroupMember cmdlet'ini kullanın ve hem kullanıcı hem de grup için ObjectID'ye başvurun:

New-MgGroupMember -GroupId $group.id -DirectoryObjectId $user.id

Bir gruba birden fazla kullanıcı ekleme

Bir gruba birden fazla kullanıcı eklemenin en kolay yolu, New-MgGroupMember cmdlet'ini çalıştırırken bir grup kullanıcı arasında geçiş yapmak için bir PowerShell döngüsü kullanmaktır.

PowerShell ile döngülerin nasıl kullanılacağı hakkında daha fazla ayrıntı için ayrıntılı bloguma göz atın: Örneklerle Powershell Foreach Döngüsü Nasıl Kullanılır.

Başlamak için son örneğe kıyasla benzer bir kod parçası kullanacağız. Bunun yerine, bu sefer hedeflemek istediğimiz kullanıcıların listesini almak için Get-MgUser cmd'si ile -Filter parametresini kullanacağız.

$group = Get-MgGroup -Search '"DisplayName:Test2"' -ConsistencyLevel eventual
$users = Get-MgUser -Filter "endsWith(mail,'ourcloudnetwork.com')" -ConsistencyLevel eventual

Artık $users değişkeni bir dizi kullanıcı içerdiğine göre, kullanıcılar arasında aşağıdaki gibi döngü yapabiliriz:

Foreach ($user in $users) {
    Write-host "Adding user $($User.DisplayName) ..." -ForegroundColor Cyan
    New-MgGroupMember -GroupId $group.id -DirectoryObjectId $user.id
}

İlgili makaleler