PowerShell ile AD kullanıcıları, grupları ve bilgisayarları ekleme


style="letter-spacing: 0px; text-transform: unset; arka plan rengi: şeffaf;">PowerShell'de kullanıcı hesapları ve grupları oluşturmak, gruplara kullanıcı eklemek veya kullanıcıları gruplardan kaldırmak nispeten kolaydır. Cmdlet'lerin kullanılabilmesi için ilgili PowerShell modülünün istemci veya sunucuya yüklenmesi gerekir.

Active Directory yönetimi için PowerShell modülünü yükleme

Etki alanı denetleyicilerinde PowerShell modülü diğer yönetim araçlarıyla birlikte otomatik olarak yüklenir. Windows 10 ve Windows 11 makinelerinde kurulum İsteğe Bağlı Özellikler özelliği aracılığıyla gerçekleştirilir. Bunun ayarları Windows 10 ve Windows 11'in Ayarlar uygulamalarında bulunabilir. Bu isteğe bağlı özelliklere Ayarlar\Uygulamalar aracılığıyla ulaşılabilir. Bu sayede RSAT: Active Directory Etki Alanı Hizmetleri ve Basit Dizin Hizmetlerine yönelik Araçlar, RSAT Araçlarının bir parçası olarak kullanılabilir. Windows 11'de ayrıca Özellikleri göster seçeneğine tıklamanız gerekir.

Yükle düğmesiyle modülün entegrasyonu gerçekleşir. Bu özellik yüklendiğinde Active Directory için PowerShell modülü de kullanılabilir.

Windows 10'da PowerShell için Active Directory modülünü yükleme

Sunucularda kurulum, Sunucu Yöneticisi'ne Active Directory için Uzaktan Yönetim Araçları eklenerek yapılır. Alternatif olarak, Active Directory Uzantısını eklemek için Windows Yönetim Merkezi kullanılabilir.

Windows sunucularında, Active Directory yönetim araçları PowerShell kullanılarak da kurulabilir. Bu amaçla Install-WindowsFeature RSAT-AD-PowerShell komutu kullanılır.

Uzak sunucu yönetimi araçlarını sunuculara yükleme

PowerShell ile AD nesneleri oluşturma

Microsoft, PowerShell'deki bilgisayarlar, kullanıcılar veya gruplar gibi Active Directory nesnelerini almak için çok sayıda cmdlet sağlar.

Bir listeyi görüntülemenin en hızlı yolu Get-Command Get-Ad* komutunu kullanmaktır. Yeni nesneler oluşturmak için çok sayıda cmdlet de vardır. Liste, Get-Command New-Ad* yazılarak görüntülenir.

Nesneleri silmeye yönelik komutların listesi PowerShell tarafından Get-Command Remove-Ad* ile görüntülenir. Active Directory nesnelerinde yapılan değişiklikler Set cmdlet'leri ile yapılır. Get-Command Set-Ad* ile bir liste görüntülenir.

Tüm Active Directory yönetimi cmdlet'lerinin bir listesi aşağıdaki komutla kullanılabilir:

Get-Command -Module ActiveDirectory

Bu, yeni nesneler oluşturmak ve aynı zamanda nesneleri özelleştirmek için kullanılabilecek komutları hızla bir araya getirmenize ve komut dosyaları oluşturmanıza olanak tanır. PowerShell'in avantajı, aynı anda birden fazla grubu özelleştirmek için kullanılabilmesi ve görevlerin komut dosyalarını yazabilmesidir. Grafiksel kullanıcı arayüzü için bir seçenek var.

PowerShell'de Grupları Yönetme

PowerShell'de grupları yönetmek öncelikle aşağıdaki cmdlet'lerle yapılır:

New-ADGroup ile yeni gruplar oluşturulabilir. Bir komut dosyasında aynı anda yeni gruplar oluşturmak ve grup üyeliğini ayarlamak mümkündür. Mevcut grupların ayarlanması da komut dosyaları aracılığıyla kontrol edilebilir. Yeni gruplar oluşturmak ve buna ilişkin sözdizimini görüntülemek için aşağıdaki cmdlet mevcuttur:

Get-Command New-ADGroup -Syntax

Yeni bir grup oluşturma komutu örneğin:

New-ADGroup "name of the group"

Bu komutu girdiğinizde PowerShell yeni bir güvenlik grubu oluşturur. Ayrıca, oluşturma sırasında grubun belirli bir kuruluş biriminde oluşturulduğunu ve genel olarak kullanılabilir olması gerektiğini belirtmek istiyorsanız aşağıdaki komutu kullanın:

New-ADGroup "purchasing" -Path "OU=Berlin,DC=joos,dc=int" -GroupCategory Security -GroupScope Global -PassThru -Verbose

-GroupCategory ile grubun kategorisini kontrol edersiniz; yani Güvenlik veya Dağıtım (dağıtım listesi). Bu noktada grup türünü de -GroupScope ile kontrol edersiniz. Komutun evrensel bir grup oluşturmasını istiyorsanız -GroupScope Universal'i kullanın.

Silmek için Remove-ADGroup cmdlet'ini kullanabilirsiniz:

Remove-ADGroup -Identity purchasing

Grup Üyeliklerini Kontrol Etme

PowerShell'de grup oluşturmak ve silmek sorun değil. Benzer şekilde PowerShell'de gruplara üye eklenebilir veya gruplardan üye çıkarılabilir. Gruplara tek bir komutla birden fazla kullanıcı hesabı eklemek de mümkündür. Bu örneğin komutu şuna benzer:

Add-AdGroupMember -Identity Purchasing -Members joost, joosc

Komut, joost ve joosc adlı iki kullanıcı hesabını Satın Alma grubuna ekler. PowerShell ile grup üyeliklerini sorgulamak da mümkün. Bu amaçla aşağıdaki komut kullanılabilir:

Get-ADGroupMember -Identity Purchasing

PowerShell'de gruplara bilgisayar hesapları eklemek de mümkündür. Bunun için komutlar benzerdir. Bilgisayar hesaplarında ismin sonuna dolar işareti eklenmelidir. Yukarıdaki örnekte, srv01 bilgisayar hesabı Satın Alma grubuna eklenecekse aşağıdaki komutu kullanın:

Add-AdGroupMember -Identity Purchasing -Members srv01$

Kullanıcıları birden fazla gruba ekleme

PowerShell'i kullanarak birden fazla gruba bir kullanıcı hesabı eklemek de mümkündür. Bu amaçla aşağıdaki komut kullanılabilir:

"Purchasing1","Purchasing" | Add-ADGroupMember -Members (Read-Host -Prompt "enter user names")

Kullanıcı adlarını girdikten sonra komut, girilen kullanıcıları Satın Alma1 ve Satın Alma2 gruplarına ekler. CSV dosyasını kullanmak da mümkündür. Bunu yapmak için kullanıcılar sütununu içeren bir CSV dosyası oluşturun ve kullanıcı hesaplarının her birini ayrı bir satır olarak ekleyin. Daha sonra dosyayı içe aktarabilir ve gruplar ekleyebilirsiniz. Bunu yapacak komut şuna benzer:

Import-CSV C:\stemp\users.csv -Header users | ForEach-Object {Add-AdGroupMember -Identity "Purchasing" -members $_.users}

Benzer bir görev, grup üyeliklerini iki grup arasında kopyalamaktır. Satın Alma1 grubunun üyelerini Satın Alma2'ye kopyalamak için aşağıdaki komut kullanılır:

Get-ADGroupMember "Purchasing1" | Get-ADUser | ForEach-Object {Add-ADGroupMember -Identity "Purchasing2" -Members $_} 

Kuruluş birimi veya AD niteliklerine göre gruplara gruplar ekleme

Benzer bir görev, bir kuruluş biriminin tüm kullanıcı hesaplarını belirli bir gruba eklemektir. Bu durumda komut şuna benzer:

Get-ADUser -Filter * -SearchBase "OU=Users,OU=NY,OU=USA,DC=theitbros,DC=com"| ForEach-Object -process {Add-ADGroupMember -identity "NY Users" -Members $_.SamAccountName}

OU'ya ek olarak, AD'deki diğer öznitelikleri temel alan sorgular, belirli kullanıcıları sabit tanımlı gruplara eklemek için kullanılabilir. Bunun bir örneği:

Get-ADUser -filter {(co -eq "United States")} | ForEach-Object -process {Add-ADGroupMember -identity "USAUsers" -Members $_.SamAccountName}

Kullanıcıları gruplardan kaldırma

Kullanıcı hesaplarının gruplardan kaldırılması da benzer şekilde çalışır. Ancak burada Remove-ADGroupMember cmdlet'i devreye giriyor. Yukarıda eklenen kullanıcıları Satın Alma grubundan çıkarmak için aşağıdaki komut kullanılabilir:

Remove-AdGroupMember -Identity Purchasing -Members joost, joosc

Birden fazla kullanıcının gruplardan kaldırılması da yukarıda açıklanan aynı seçenekler kullanılarak yapılır. Remove-AdGroupMember cmdlet'i burada da kullanılır.

Etki alanları arasındaki grup üyeliklerini denetleme

Birden fazla alan adı kullanıldığında, bir alan adının kullanıcı hesaplarını diğer alan adlarının kullanıcı gruplarına eklemek de mümkündür. Bu amaçla aşağıdaki komutlar kullanılabilir:

$User = Get-ADUser -Identity "CN=ChewDavid,OU=UserAccounts,DC=NORTHAMERICA,DC=FABRIKAM,DC=COM" -Server "northamerica.fabrikam.com"
$Group = Get-ADGroup -Identity"CN=AccountLeads,OU=UserAccounts,DC=EUROPE,DC=FABRIKAM,DC=COM" -Server "europe.fabrikam.com"
Add-ADGroupMember -Identity $Group -Members $User -Server "europe.fabrikam.com"

Komutlar, Northamerica etki alanından CN=Chew David,OU=UserAccounts kullanıcısını CN=AccountLeads,OU=UserAccounts grubuna ekler. alan adı Avrupa.

İlgili makaleler