Windows 11 Yerel Kullanıcılar ve Gruplar özelliğini yönetmek için, yerleşik PowerShell modülü olan Microsoft.PowerShell.LocalAccounts‘ı kullanabilirsiniz.
Bu modül, yerel kullanıcı ve güvenlik grupları oluşturmanıza veya silmenize, kullanıcıları gruplardan eklemenize veya gruplardan çıkarmanıza olanak sağlar.
Microsoft.PowerShell.LocalAccounts modülü, Windows Server 2016 ve Windows 10 ve daha yeni sürümlerde kullanılabilir. Bu modül, PowerShell sürümünüzü yükselttiğinizde önceki Windows sürümlerinde Windows Yönetim Çerçevesi 5.1 ile yüklenir.
Windows 11 Yerel Kullanıcılar ve Gruplar Cmdlet Komutları
Windows 11 yerel kullanıcılar ve gruplar yönetimi için LocalAccounts modülünde 15 adet cmdlet bulunmaktadır. Modül cmdlet’lerinin tam listesini aşağıdaki gibi görüntüleyebilirsiniz:
Get-Command -Module Microsoft.PowerShell.LocalAccounts
Add-LocalGroupMember
– kullanıcıyı yerel bir güvenlik grubuna ekler;Disable-LocalUser
– yerel kullanıcı hesabını devre dışı bırakır;Enable-LocalUser
– yerel kullanıcı hesabını etkinleştirir;Get-LocalGroup
– yerel grubun bilgilerini alır;Get-LocalGroupMember
– yerel grubun kullanıcı listesini görüntüler;Get-LocalUser
– yerel kullanıcı hakkında bilgi gösterir;New-LocalGroup
– yeni bir yerel grup oluşturur;New-LocalUser
– yeni bir yerel kullanıcı oluşturur;Remove-LocalGroup
– yerel grubu siler;Remove-LocalGroupMember
– üyeyi yerel bir gruptan çıkarır;Remove-LocalUser
– yerel kullanıcıyı siler;Rename-LocalGroup
– yerel grubun adını değiştirir;Rename-LocalUser
– yerel kullanıcının adını değiştirir;Set-LocalGroup
– yerel grup ayarlarını değiştirir;Set-LocalUser
– yerel kullanıcı ayarlarını değiştirir.
Windows 11 yerel kullanıcılar ve gruplar yönetmek için LocalAccounts modülündeki PowerShell cmdlet’lerini kullanarak bazı tipik görevlere göz atalım.
- Yeni bir yerel kullanıcı oluşturma:
New-LocalUser -Name "KullaniciAdi" -Password (ConvertTo-SecureString -String "Parola" -AsPlainText -Force)
- Yeni bir yerel grup oluşturma:
New-LocalGroup -Name "GrupAdi"
- Bir kullanıcıyı bir yerel gruba eklemek:
Add-LocalGroupMember -Group "GrupAdi" -Member "KullaniciAdi"
- Bir yerel kullanıcıyı devre dışı bırakma:
Disable-LocalUser -Name "KullaniciAdi"
- Bir yerel kullanıcıyı etkinleştirme:
Enable-LocalUser -Name "KullaniciAdi"
- Bir yerel kullanıcıyı silme:
Remove-LocalUser -Name "KullaniciAdi"
- Bir yerel grubu silme:
Remove-LocalGroup -Name "GrupAdi"
- Bir kullanıcıyı bir yerel gruptan çıkarma:
Remove-LocalGroupMember -Group "GrupAdi" -Member "KullaniciAdi"
- Bir yerel kullanıcının adını değiştirme:
Rename-LocalUser -Name "EskiKullaniciAdi" -NewName "YeniKullaniciAdi"
Bu cmdlet’ler, yerel kullanıcıları ve grupları yönetmek için PowerShell aracılığıyla çeşitli görevleri gerçekleştirmenize yardımcı olacaktır.
Daha önce, Windows’ta yerel kullanıcıları ve grupları yönetmek için yaygın olarak Local Users and Groups Management grafiksel MMC eklentisi (lusrmgr.msc
), net user
ve net localgroup
komutları kullanılırdı.
PowerShell ile Yeni Yerel Kullanıcı Ekleme
Windows’ta hızlı bir şekilde yeni bir yerel kullanıcı hesabı oluşturmak için New-LocalUser cmdlet’ini kullanabilirsiniz:
New-LocalUser -Name "TestKullanici1" -FullName "Test Kullanıcı" -Description "Testler için kullanıcı"
Yeni kullanıcı için bir parola belirtin:
Kullanıcının parolasının uzunluğu ve karmaşıklığı, yerel ve etki alanı parola politikalarına uygun olmalıdır (bilgisayar bir Active Directory etki alanına katıldıysa).
PowerShell komut dosyalarından otomatik olarak yeni yerel kullanıcılar oluşturmak için New-LocalUser cmdlet’ini kullanmak isterseniz, komut dosyası kodunda varsayılan kullanıcı parolasını önceden belirleyebilirsiniz. Metin tabanlı parola güvenli bir dizeye dönüştürülmelidir:
$pass = ConvertTo-SecureString "WOS_hubP@ss2023!" -AsPlainText -Force New-LocalUser -Name TestKullanici2 -Password $parola
Bir kullanıcıyı yerel Yöneticiler grubuna eklemek için aşağıdaki komutu çalıştırın:
Add-LocalGroupMember -Group Administrators -Member TestKullanici2
-AccountExpires
– hesabın süresini belirleyin, hesap otomatik olarak devre dışı bırakılacaktır (varsayılan olarak, New-LocalUser süresi dolmayan bir hesap oluşturur);-AccountNeverExpires
-Disabled
– hesabı oluşturduktan sonra devre dışı bırakın;-PasswordNeverExpires
– kullanıcının parolasının süresinin dolmasını önleyin;-UserMayNotChangePassword
– kullanıcı hesap parolasını değiştiremez.
PowerShell ile Yerel Kullanıcı Hesaplarını Yönetme
Geçerli bilgisayarda tüm yerel Windows kullanıcılarını listelemek için şunu çalıştırın:
Get-LocalUser
Gördüğünüz gibi, bilgisayarda 6 yerel hesap bulunmaktadır, bunlardan 4’ü devre dışı (Enabled=False) durumdadır ve bunların arasında yerleşik Windows Yönetici hesabı da bulunmaktadır.
Bir yerel hesabın tüm özelliklerini (AD etki alanı kullanıcıları hakkında bilgi göstermek için kullanılan Get-ADUser cmdlet’ine benzer şekilde) görüntülemek için şu komutu çalıştırın:
Get-LocalUser -Name Pınar | Select-Object *
PrincipalSource özniteliğine bakın. Bu, kullanıcı hesabının türünü içerir. Şunlar olabilir:
- Yerel Windows kullanıcısı (PrincipalSource: Local)
- Microsoft hesapları (PrincipalSource: Microsoft Account)
- Azure AD kullanıcıları (PrincipalSource: AzureAD)
Son parola değiştirme tarihini içeren belirli bir kullanıcı özniteliğinin değerini almak için:
Get-LocalUser -Name root | Select-Object PasswordLastSet
Kullanıcının parolasını değiştirmek (sıfırlamak) için aşağıdaki komutu kullanın (yeni parolayı SecureString’e dönüştürdüğünüzü varsayıyoruz):
Set-LocalUser -Name Pınar -Password $UserPassword –Verbose
Kullanıcı için “Parola asla sona ermez” bayrağını ayarlamak için şu komutu kullanın:
Set-LocalUser -Name Pınar –PasswordNeverExpires $False
Yerel hesabı devre dışı bırakın:
Disable-LocalUser -Name Pınar
Yerel kullanıcıyı etkinleştirin:
Enable-LocalUser -Name Pınar
Yerel bir kullanıcıyı kaldırmak için:
Remove-LocalUser -Name Pınar -Verbose
PowerShell ile Yerel Gruplar Nasıl Oluşturulur ve Yönetilir?
Aşağıdaki komutu kullanarak Windows cihazınızdaki yerel grupları listeleyebilirsiniz:
Get-LocalGroup
Yeni bir yerel grup oluşturalım:
New-LocalGroup -Name UzakDestek -Description 'Uzak Destek Grubu'
Şimdi birkaç yerel hesap ve yerel yönetici grubunu yeni gruba ekleyelim:
Add-LocalGroupMember -Group 'UzakDestek' -Member ('john','root','Administrators') -Verbose
Get-LocalUser -Name TestUser2 | Add-LocalGroupMember -Group 'Uzak Masaüstü Kullanıcıları'
Yerel gruptaki kullanıcıların listesini görüntüleyin:
Get-LocalGroupMember -Group 'UzakDestek'
Eğer bilgisayarınız AD etki alanına katılmışsa, yerel gruba etki alanı hesaplarını ve gruplarını ekleyebilirsiniz. Aşağıdaki sözdizimini kullanın: DomainAdı\john veya DomainAdı’domain admins’.
Yerel gruplara yalnızca yerel hesaplar (PrincipalSource – Local) değil, aynı zamanda etki alanı hesapları (Domain), Microsoft hesapları (MicrosoftAccount) ve Azure hesapları (AzureAD) da ekleyebilirsiniz.
Aşağıdaki sözdizimini kullanarak bir Microsoft veya AzureAD kullanıcısını bir yerel gruba ekleyin:
Add-LocalGroupMember -Group 'UzakDestek' -Member ('MicrosoftAccount\woshub@outlook.com','AzureAD\admin@woshub.com') –Verbose
Belirli bir kullanıcının hangi yerel gruplara üye olduğunu listelemek için aşağıdaki betiği çalıştırın (beteğin her bir yerel grubun üyelik durumunu kontrol ettiği):
$user='john'
foreach ($LocalGroup in Get-LocalGroup)
{
if (Get-LocalGroupMember $LocalGroup -Member $user –ErrorAction SilentlyContinue)
{
$LocalGroup.Name
}
}
Bir kullanıcıyı gruptan çıkarmak için şu komutu yürütün:
Remove-LocalGroupMember -Group 'RemoteSupport' –Member john
Uzak bir bilgisayarda yerel kullanıcıları yönetmek için Invoke-Command veya Enter-PSSession cmdlet’lerini kullanarak WinRM üzerinden bilgisayara bağlanabilirsiniz.
Örneğin, uzak bilgisayarlarda yerel gruplardaki hesapların bir listesini almak isteyebilirsiniz:
$winrm_ssn = new-pssession -computer Lon-Srv01,Lon-Srv02,Lon-Srv03
invoke-command -scriptblock {Get-LocalGroupMember -Group 'RemoteSupport'} -session $winrm_ssn -hidecomputername | select * -exclude RunspaceID | out-gridview -title "LocalAdmins"
PowerShell kullanarak windows 11 yerel kullanıcılar ve gruplar yönetmek, Windows cihazlarında etkili bir şekilde kullanıcı hesapları oluşturmanıza, grupları yönetmenize ve izinleri düzenlemenize olanak tanır. PowerShell cmdlet’leri, yerel kullanıcılar ve gruplarla ilgili bir dizi görevi kolaylıkla gerçekleştirmenizi sağlar. Bu sayede, güçlü bir yönetim aracı olarak kullanıcı ve grup yönetimini otomatikleştirebilirsiniz.