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
Windows 11 Yerel Kullanıcılar ve Gruplar için cmdlet Listesi
Windows 11 Yerel Kullanıcılar ve Gruplar için cmdlet Listesi
  • 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.

  1. Yeni bir yerel kullanıcı oluşturma:
New-LocalUser -Name "KullaniciAdi" -Password (ConvertTo-SecureString -String "Parola" -AsPlainText -Force)
  1. Yeni bir yerel grup oluşturma:
New-LocalGroup -Name "GrupAdi"
  1. Bir kullanıcıyı bir yerel gruba eklemek:
Add-LocalGroupMember -Group "GrupAdi" -Member "KullaniciAdi"
  1. Bir yerel kullanıcıyı devre dışı bırakma:
Disable-LocalUser -Name "KullaniciAdi"
  1. Bir yerel kullanıcıyı etkinleştirme:
Enable-LocalUser -Name "KullaniciAdi"
  1. Bir yerel kullanıcıyı silme:
Remove-LocalUser -Name "KullaniciAdi"
  1. Bir yerel grubu silme:
Remove-LocalGroup -Name "GrupAdi"
  1. Bir kullanıcıyı bir yerel gruptan çıkarma:
Remove-LocalGroupMember -Group "GrupAdi" -Member "KullaniciAdi"
  1. 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:

Windows 11 Yerel Kullanıcılar ve Gruplar Oluşturma, Değiştirme ve Kaldırma
Windows 11 Yerel Kullanıcılar ve Gruplar Oluşturma, Değiştirme ve Kaldırma

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

Windows’ta yerel kullanıcıların listesini oturum açma ekranında gösterebilirsiniz. Yerel bir Windows kullanıcı hesabı oluştururken aşağıdaki seçenekleri de kullanabilirsiniz:
  • -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.
Bir Active Directory etki alanında yeni bir kullanıcı oluşturmak için New-ADUser cmdlet’ini kullanın.

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

Windows 11 Yerel Kullanıcılar ve Gruplar Oluşturma, Değiştirme ve Kaldırma
Windows 11 Yerel Kullanıcılar ve Gruplar Oluşturma, Değiştirme ve Kaldırma

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 *

Windows 11 Yerel Kullanıcılar ve Gruplar
PowerShell ile Windows 11 Yerel Kullanıcılar ve Gruplar Yönetme

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

Windows 11 Yerel Kullanıcılar ve Gruplar
PowerShell ile Windows 11 Yerel Kullanıcılar ve Gruplar Yönetme

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

Bir etki alanındaki tüm bilgisayarlarda yerel yönetici parolalarını yönetmek ve otomatik olarak değiştirmek için Windows Yerel Yönetici Parola Çözümü (LAPS) ilkesini kullanabilirsiniz.

Kullanıcı için “Parola asla sona ermez” bayrağını ayarlamak için şu komutu kullanın:

Set-LocalUser -Name Pınar –PasswordNeverExpires $False

Bir etki alanında kullanıcı hesap özelliklerini yönetirken olduğu gibi, UserAccountControl değerini dönüştürmeniz gerekmez.

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

Windows 11 Yerel Kullanıcılar ve Gruplar Oluşturma, Değiştirme ve Kaldırma
Windows 11 Yerel Kullanıcılar ve Gruplar Oluşturma, Değiştirme ve Kaldırma

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

Kullanıcıyı gruplara eklemek için aşağıdaki pipeline’ı da kullanabilirsiniz (bu örnekte, kullanıcıyı uzaktan masaüstüne RDP üzerinden erişmelerine izin veren bir yerel gruba ekleyeceğiz):

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\[email protected]','AzureAD\[email protected]') –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.