Windows’ta bilgisayardaki kullanıcı hesaplarını görmek için Komut İstemi üzerinde net user, PowerShell üzerinde ise Get-LocalUser komutunu kullanabilirsiniz. Active Directory ortamlarında domain kullanıcılarını görüntülemek ve yönetmek için Active Directory Users and Computers konsolu veya Active Directory PowerShell modülü kullanılabilir.
Kullanıcı hesapları, Windows ve Active Directory altyapısında kimlik doğrulama ve kaynak erişiminin temelini oluşturur. Bir dosya sunucusuna erişirken, bilgisayarımızda oturum açarken veya bir uygulamayı kullanırken arka planda mutlaka bir kullanıcı veya servis kimliği bulunur.
Bu makaleyi ilk hazırladığım dönemde Windows Server 2003 kullanılıyordu. O günden bugüne Windows ve Active Directory yönetim araçları gelişti, PowerShell kullanımı yaygınlaştı ve Microsoft Entra ID gibi bulut kimlik çözümleri hayatımıza girdi. Ancak kullanıcı hesapları, gruplar ve yetkilendirme mantığı Active Directory mimarisinin temelinde yer almaya devam ediyor.
Windows’ta Bilgisayardaki Kullanıcıları Görme
Öncelikle en sık ihtiyaç duyulan işlemle başlayalım. Bilgisayar üzerinde hangi kullanıcı hesaplarının bulunduğunu farklı yöntemlerle görüntüleyebilirsiniz.
CMD ile Kullanıcıları Listeleme
Komut İstemi’ni açarak aşağıdaki komutu çalıştırın:
net user
Bu komut bilgisayarda tanımlı yerel kullanıcı hesaplarını listeler. Domain kullanıcı hesaplarını sorgulamak için, uygun domain bağlantısı bulunan bir bilgisayarda aşağıdaki komutu kullanabilirsiniz:
net user /domain
Burada önemli bir ayrım var: İlk komut yerel SAM veritabanındaki hesapları listelerken ikinci komut domain üzerindeki kullanıcı hesaplarını sorgular. Domain komutu erişilebilir bir Domain Controller gerektirir.
PowerShell ile Kullanıcıları Görüntüleme
Güncel Windows sistemlerinde yerel kullanıcı hesaplarını listelemek için PowerShell kullanabilirsiniz:
Get-LocalUser
Hesapların durumunu daha anlaşılır şekilde görüntülemek için:
Get-LocalUser | Select-Object Name, Enabled, Description, LastLogon
Bu komut yerel hesap adını, hesabın etkin olup olmadığını, açıklamasını ve varsa son oturum açma bilgisini gösterir. LocalAccounts modülü bazı PowerShell ortamlarında, özellikle 64-bit Windows üzerindeki 32-bit PowerShell’de kullanılamayabilir.
Yerel Kullanıcılar ve Gruplar Konsolu
Grafiksel arayüz üzerinden kullanıcıları görüntülemek için Win+R tuşlarına basarak aşağıdaki komutu çalıştırabilirsiniz:
lusrmgr.msc
Açılan Local Users and Groups konsolunda Users bölümünden yerel hesapları, Groups bölümünden ise yerel grupları yönetebilirsiniz. Bu konsol Windows Home sürümlerinde bulunmaz ve Domain Controller üzerinde yerel hesap yönetimi için kullanılmaz.
Oturum Açmış Kullanıcıları Görme
Bilgisayarda tanımlı hesaplarla o anda aktif oturum açmış kullanıcılar aynı şey değildir. Aktif oturumları sorgulamak için desteklenen Windows sürümlerinde:
query user
komutunu kullanabilirsiniz. Alternatif olarak Görev Yöneticisi içerisindeki Kullanıcılar sekmesi üzerinden mevcut oturumları inceleyebilirsiniz.
Kullanıcı Hesapları (User Accounts) Nedir?
Kullanıcı hesabı, Windows veya Active Directory içerisinde bir kişinin ya da belirli bir işlemin kimliğini temsil eden güvenlik nesnesidir. Kullanıcı bu hesapla kimliğini doğruladıktan sonra kendisine atanmış haklar ve izinler kapsamında kaynaklara erişebilir.
Örneğin şirket bilgisayarınızda domain hesabınızla oturum açtığınızı düşünelim. Daha sonra bir file server üzerindeki ortak klasöre veya network printer’a erişmek istediğinizde sistem sizin kimliğinizi ve ilgili kaynak üzerindeki yetkilerinizi değerlendirir.
Burada iki temel kavram bulunur:
- Authentication: Kullanıcının iddia ettiği kimliğe sahip olup olmadığının doğrulanması.
- Authorization: Kimliği doğrulanan kullanıcının hangi kaynaklara hangi haklarla erişebileceğinin belirlenmesi.
Yani domain üzerinde başarılı şekilde oturum açmış olmak, domain içerisindeki bütün kaynaklara erişim hakkı verildiği anlamına gelmez.
Yerel Kullanıcı Hesabı ve Domain Kullanıcı Hesabı Arasındaki Fark
Windows ortamında kullanıcı hesaplarını anlamak için öncelikle iki temel modeli ayırmak gerekir: Local User Account ve Domain User Account.
| Özellik | Local User | Domain User |
|---|---|---|
| Hesabın saklandığı yer | Yerel SAM veritabanı | Active Directory |
| Yönetim | İlgili bilgisayar | Merkezi domain yönetimi |
| Kimlik doğrulama | Yerel bilgisayar | Domain altyapısı |
| Hesap kullanım kapsamı | Yerel bilgisayar merkezli | Domain ve güven ilişkili kaynaklar |
| Group Policy | Yerel politikalar | Merkezi Group Policy uygulanabilir |
Yerel Kullanıcı Hesapları (Local User Accounts)
Yerel kullanıcı hesapları, oluşturuldukları Windows bilgisayarı üzerinde yönetilen hesaplardır. Hesap bilgileri SAM – Security Account Manager veritabanında tutulur.
Bir bilgisayarda oluşturulan yerel kullanıcı hesabı, başka bir bilgisayarda otomatik olarak aynı kimlik olarak tanınmaz. Farklı bilgisayarlarda aynı kullanıcı adı bulunsa bile bunlar farklı SID değerlerine sahip ayrı güvenlik nesneleridir.
Workgroup ortamlarında yerel hesapların yönetimi özellikle bilgisayar sayısı arttıkça zorlaşır. Parola yönetimi, yetkilendirme ve kullanıcı yaşam döngüsü merkezi olmadığı için operasyonel yük artar.
Yerel Kullanıcı Hesabı Nasıl Oluşturulur?
Local Users and Groups konsolunda Users bölümüne sağ tıklayarak New User seçeneğini kullanabilirsiniz.
Bu yöntem Windows Server 2003 döneminde de kullanılıyordu. Aşağıdaki ekran görüntüsü makalenin ilk sürümündeki kullanıcı oluşturma arayüzünü göstermektedir.
Yeni kullanıcı oluştururken kullanıcı adı, açıklama, parola ve hesap seçeneklerini belirleyebilirsiniz.
PowerShell ile Yerel Kullanıcı Oluşturma
Güncel Windows sistemlerinde aynı işlemi PowerShell üzerinden gerçekleştirebilirsiniz:
$Password = Read-Host "Yeni kullanici parolasi" -AsSecureString
New-LocalUser -Name "destekuser" `
-Password $Password `
-FullName "Yerel Destek Kullanıcısı" `
-Description "Yerel destek işlemleri"
Bu örnekte parola komut satırına açık metin olarak yazılmıyor. Yeni hesap oluşturuluyor ancak otomatik olarak Administrators grubuna eklenmiyor. Yönetici yetkisi gerçekten gerekiyorsa ayrıca kontrollü olarak atanmalıdır.
Özellikle local administrator hesapları söz konusuysa aynı parolayı birçok bilgisayarda kullanmak yerine Windows LAPS tercih edilmelidir. Böylece her cihaz için farklı parola oluşturulması ve parolaların merkezi olarak yönetilmesi mümkün olur.
Domain Kullanıcı Hesapları
Domain kullanıcı hesapları, Active Directory Domain Services içerisinde merkezi olarak yönetilen kimliklerdir.
Kullanıcı hesabı Active Directory veritabanında saklanır ve domain içerisindeki Domain Controller’lar arasında replication mekanizmasıyla çoğaltılır.
Böylece kullanıcıların her bilgisayarda ayrı hesap oluşturmasına gerek kalmadan merkezi kimlik doğrulama ve yetkilendirme altyapısı kullanılabilir.
Modern Windows domain ortamlarında Kerberos temel kimlik doğrulama protokolüdür. Kerberos’un çalışma mantığını Kerberos Nedir? Nasıl Çalışır? makalemde ayrıca inceleyebilirsiniz.
Active Directory Kullanıcı Hesabı Nasıl Oluşturulur?
Domain kullanıcılarının yönetimi için en yaygın araçlardan biri Active Directory Users and Computers – ADUC konsoludur.
Konsolu açmak için:
dsa.msc
komutunu kullanabilirsiniz. Yönetim bilgisayarında RSAT Active Directory araçlarının kurulu olması gerekir.
Kullanıcıyı oluşturmak istediğiniz OU üzerinde sağ tıklayarak New > User seçeneğini açın. Kullanıcı adı, UPN, parola ve gerekli hesap seçeneklerini belirleyerek hesabı oluşturabilirsiniz.
PowerShell ile Domain Kullanıcısı Oluşturma
Birden fazla kullanıcı hesabı oluşturmak veya işlemleri otomatikleştirmek gerektiğinde PowerShell daha verimli bir yöntemdir.
Import-Module ActiveDirectory
$Password = Read-Host "Yeni kullanici parolasi" -AsSecureString
New-ADUser `
-Name "Test Kullanici" `
-GivenName "Test" `
-Surname "Kullanici" `
-SamAccountName "test.kullanici" `
-UserPrincipalName "test.kullanici@contoso.com" `
-Path "OU=Users,DC=contoso,DC=com" `
-AccountPassword $Password `
-ChangePasswordAtLogon $true `
-Enabled $true
Bu komut örnek olarak contoso.com domain’inde bir hesap oluşturur. OU yolunun mevcut olması, işlemi gerçekleştiren hesabın yetkili olması ve parolanın domain policy gereksinimlerini karşılaması gerekir.
Active Directory Kullanıcı Özellikleri
Bir domain kullanıcı hesabını oluşturmak işin yalnızca başlangıcıdır. Hesabın yaşam döngüsü boyunca farklı özelliklerini yönetmek gerekir.
- General: Ad, soyad, açıklama, telefon ve e-posta gibi kullanıcı bilgileri.
- Account: Kullanıcı adı, oturum açma kısıtlamaları, hesap süresi ve çeşitli güvenlik ayarları.
- Member Of: Kullanıcının üyesi olduğu Active Directory grupları.
- Organization: Departman, unvan ve yönetici bilgileri.
- Profile: Profil yolu, logon script ve home folder gibi ayarlar.
- Attribute Editor: Active Directory nesnesinin attribute değerleri; uygun konsol görünümüyle erişilebilir.
UPN ve sAMAccountName Arasındaki Fark
Active Directory kullanıcı hesaplarında iki önemli isimlendirme kavramı bulunur.
User Principal Name – UPN, genellikle e-posta adresine benzeyen oturum açma ismidir:
hakan@contoso.com
sAMAccountName ise özellikle klasik Windows ve NTLM uyumluluğu açısından kullanılan hesap ismidir:
CONTOSO\hakan
sAMAccountName değerinin klasik uyumluluk gereksinimleri nedeniyle 20 karakter sınırı bulunur. UPN tarafında ise farklı biçim ve uzunluk kuralları geçerlidir.
Kullanıcı Hesaplarında Logon Hours ve Log On To
Active Directory kullanıcılarının hangi saatlerde ve hangi bilgisayarlarda oturum açabileceği Account sekmesindeki seçeneklerle sınırlandırılabilir.
Logon Hours, kullanıcının kimlik doğrulama işlemlerinde izin verilen zaman aralıklarını belirler. Bunun her senaryoda mevcut oturumun anında kapatılması anlamına gelmediğini unutmamak gerekir.
Log On To ise kullanıcı hesabının oturum açabileceği bilgisayarların sınırlandırılmasını sağlar. Bu özellik tek başına kapsamlı bir privileged access güvenlik modeli değildir; cihaz ve erişim güvenliği diğer politikalarla birlikte planlanmalıdır.
Account Disabled ve Account Expires Arasındaki Fark
Bir kullanıcı hesabını devre dışı bırakmak ile hesap için sona erme tarihi belirlemek aynı işlem değildir.
- Account Disabled: Hesabın kimlik doğrulamada kullanılmasını engeller.
- Account Expires: Hesabın belirlenen tarihten sonra kullanılmasını engeller.
- Password Expires: Hesap parolasının geçerlilik süresiyle ilgilidir.
- User Must Change Password at Next Logon: Uygun oturum açma akışında kullanıcının parolasını değiştirmesini zorunlu kılar.
Özellikle geçici çalışan ve dış danışman hesaplarında yalnızca parola süresini değil, hesabın geçerlilik süresini ve erişim haklarını da ayrıca yönetmek gerekir.
Windows Yerleşik Kullanıcı Hesapları
Windows sistemlerinde kurulumla birlikte bazı yerleşik hesaplar oluşturulur. Bunlardan en bilineni Administrator ve Guest hesaplarıdır.
Administrator hesabı yerleşik yönetim hesabıdır ve iyi korunmalıdır. Guest hesabı ise modern Windows ortamlarında varsayılan olarak devre dışıdır.
Yerel yönetici hesaplarında ortak parola kullanımından kaçınmak, gereksiz hesapları kapatmak ve Windows LAPS kullanmak önemli güvenlik tedbirleridir.
Active Directory Grupları Nedir?
Kullanıcı hesaplarını tek tek yetkilendirmek, özellikle büyük ortamlarda yönetimi zorlaştırır. Bu nedenle Active Directory içerisinde gruplar kullanılır.
Örneğin bir dosya sunucusu üzerindeki muhasebe klasörüne 30 kullanıcının erişmesi gerektiğini düşünelim. Her kullanıcıya ayrı NTFS permission vermek yerine uygun bir security group oluşturup izinleri bu grup üzerinden yönetmek çok daha sağlıklı olacaktır.
Security Group ve Distribution Group Arasındaki Fark
| Grup tipi | Temel kullanım |
|---|---|
| Security Group | Kaynak yetkilendirmesi, izin yönetimi ve desteklenen uygulamalarda diğer grup tabanlı işlemler. |
| Distribution Group | Özellikle e-posta dağıtımı gibi güvenlik yetkilendirmesi gerektirmeyen senaryolar. |
Security group’lar uygun mesajlaşma altyapısıyla mail-enabled hale getirilebilir. Ancak distribution group’lar Windows kaynaklarına güvenlik izinleri atamak amacıyla kullanılmaz.
Global, Domain Local ve Universal Group Nedir?
Active Directory security group’ları farklı grup kapsamlarına sahip olabilir.
| Grup kapsamı | Genel kullanım |
|---|---|
| Global Group | Genellikle aynı domain’deki kullanıcıları görev veya departman temelinde gruplamak. |
| Domain Local Group | İlgili domain’deki kaynaklara izin atamak. |
| Universal Group | Çok domainli yapılarda forest genelindeki üyelikleri ve erişim gruplarını organize etmek. |
Grupların hangi domain ve forest’lardan üye kabul edebileceği ile başka gruplara nasıl üye olabileceği, grup kapsamına ve Active Directory yapılandırmasına bağlıdır.
Eski Windows Server 2003 dönemindeki Mixed ve Native Mode ayrımları tarihsel olarak önemlidir. Ancak bugün yeni kurulumlarda Windows 2000 Native moda yükseltme gibi işlemler uygulanmaz. Functional Level değişiklikleri güncel domain controller sürümlerine ve desteklenen seviyelere göre planlanmalıdır.
AGDLP Modeli Nedir?
Active Directory grup ve izin yönetiminde kullanılan yaygın yaklaşımlardan biri AGDLP modelidir.
- A – Accounts: Kullanıcı hesapları
- G – Global Groups: Kullanıcıların görevlerine göre gruplandırılması
- DL – Domain Local Groups: Kaynak erişimi için kullanılan gruplar
- P – Permissions: Kaynak üzerinde tanımlanan izinler
Örneğin muhasebe departmanındaki kullanıcıları bir Global Group içine alıp bu grubu dosya paylaşımına erişim veren Domain Local Group’a üye yapabilirsiniz. NTFS izinlerini de Domain Local Group’a atarsınız.
Böylece departman değişikliklerinde doğrudan NTFS izinleriyle uğraşmak yerine kullanıcıların grup üyeliklerini yönetmek yeterli olur.
Active Directory Grup Üyelikleri Nasıl Görüntülenir?
PowerShell üzerinde bir kullanıcının doğrudan grup üyeliklerini sorgulamak için:
Get-ADPrincipalGroupMembership -Identity "hakan" |
Select-Object Name, GroupScope, GroupCategory
Belirli bir grubun üyelerini görüntülemek için:
Get-ADGroupMember -Identity "GG-IT-Users"
İç içe geçmiş grup üyeliklerini de çözümlemek gerekiyorsa:
Get-ADGroupMember -Identity "GG-IT-Users" -Recursive
Bu son komut nested group üyeliklerini de değerlendirir. Özellikle büyük domain ortamlarında herhangi bir kullanıcıya neden belirli bir erişim verildiğini araştırırken bu tür sorgular son derece faydalıdır.
Active Directory Kullanıcı Hesaplarında Güvenlik
Kullanıcı hesapları yalnızca oluşturulup parola verilen nesneler olarak değerlendirilmemelidir. Özellikle kurumsal yapılarda kimlik yaşam döngüsü, privileged access ve grup üyelikleri birlikte yönetilmelidir.
Ben bir Active Directory ortamındaki kullanıcı hesaplarını değerlendirirken öncelikle aşağıdaki konulara dikkat edilmesini öneriyorum:
- Artık kullanılmayan ve devre dışı bırakılması gereken hesapların tespit edilmesi.
- Gereksiz Domain Admins ve diğer privileged group üyeliklerinin temizlenmesi.
- Servis hesaplarının normal kullanıcı hesaplarından ayrı değerlendirilmesi.
- Paylaşılan kullanıcı hesaplarının mümkün olduğunca kaldırılması.
- Yeni hesapların yalnızca gerekli erişimlerle oluşturulması.
- Çalışan ayrılış ve görev değişikliği süreçlerinin kimlik yaşam döngüsüyle ilişkilendirilmesi.
- Parola, authentication ve account lockout politikalarının güncel güvenlik gereksinimlerine göre yönetilmesi.
- Local administrator hesaplarının Windows LAPS ile korunması.
Active Directory ve Microsoft Entra ID Kullanıcı Hesapları
Günümüzde birçok organizasyon hem on-premises Active Directory hem de Microsoft Entra ID kullanıyor. Bu nedenle kullanıcı hesaplarını yalnızca klasik domain yapısıyla sınırlı düşünmemek gerekir.
Active Directory Domain Services, Kerberos, LDAP, Group Policy ve geleneksel Windows domain yönetimini sağlarken Microsoft Entra ID modern bulut uygulamaları için kimlik ve erişim yönetimi sunar.
Hybrid identity mimarisinde uygun kimlik senkronizasyon araçlarıyla kullanıcı nesnelerinin gerekli öznitelikleri Active Directory’den Microsoft Entra ID’ye senkronize edilebilir.
Ancak bu iki ortamın aynı ürün olmadığını ve bütün Active Directory özelliklerinin Microsoft Entra ID üzerinde birebir bulunmadığını unutmamak gerekir.
Bu konuyu Microsoft Entra Nedir? makalemde daha detaylı inceleyebilirsiniz.
Özet
Windows kullanıcı hesapları, işletim sistemi ve Active Directory altyapısında kimlik doğrulama ile kaynak erişiminin temel bileşenleridir.
Yerel kullanıcı hesapları bilgisayar üzerindeki SAM veritabanında tutulurken domain kullanıcıları Active Directory üzerinden merkezi olarak yönetilir. Kullanıcıların erişim hakları ise grup üyelikleri, kullanıcı hakları ve kaynak izinleriyle belirlenir.
Güncel Windows ve Windows Server sistemlerinde kullanıcı yönetimini grafiksel araçlarla gerçekleştirmek mümkün olsa da PowerShell otomasyon, raporlama ve toplu hesap yönetiminde önemli avantaj sağlar.
Özellikle büyük ortamlarda kullanıcı hesaplarının düzenli denetlenmesi, gereksiz yetkilerin temizlenmesi, grup üyeliklerinin kontrol edilmesi ve hesap yaşam döngüsünün yönetilmesi, güvenli bir Active Directory mimarisinin vazgeçilmez parçalarıdır.
