Biz sistem yöneticileri, çeşitli sebepler veya çeşitli ihtiyaçlar nedeniyle yönettiğimiz Active Directory Domain ortamındaki kullanıcıların anlık olarak hangi bilgisayarlada oturum açtıklarını öğrenmek isteyebiliriz. Bu bilgisayarlar; Domain ortamınızdaki Client PC'ler, Server'lar ya da Domain Controller makineler olabilir. Örnek çalışmamda Host Name bilgisi PC1 ve PC2 olan iki adet Client PC bulunuyor.
1- Host Name bilgisi PC1 olan Client PC'de Fırat Boyan kullanıcı oturum açmış durumda.

2- Host Name bilgisi PC2 olan Client PC'de Emre Yılmaz kullanıcı oturum açmış durumda.

3- Aşağıdaki WMIC komutu ile PC1 ve PC2 Client PC'lerinin Host Name bilgilerini yazdığımda, bu bilgisayarlarda anlık olarak oturum açan bu iki kullanıcının kullanıcı adı bilgilerini görebiliyorum.
WMIC /Node:PC1 ComputerSystem Get UserName |

4- Bir diğer yöntem ise, DSQUERY sorgu komutu olacak. Bu komut da yine yukarıdaki komuta benzer biçimde bir kullanım özelliğine sahiptir.

5- Son olarak Active Directory Users and Computers içindeki belli bir Organization Unit altında bulunan bilgisayarlarda oturum açan kullanıcıları toplu bir şekilde görebilirsiniz. Bunun için adını Get-LoggedUser.ps1 olarak belirttiğim ve GitHub ortamına eklediğim PowerShell Script'i kullanacağım.

6- Active Directory Users and Computers içindeki Bilgisayar hesaplarınızın bulunduğu ilgili Organization Unit'in LDAP dizin bilgisini de aşağıdaki komutla öğrenebilirsiniz. Bu bilgiyi öğrendikten sonra Script içinde yapmanız gereken tek değişiklik, -SearchBase kısmındaki LDAP dizinini kendi Active Directory dizin yapınıza uygun olarak değiştirmek olacaktır.
Get-ADOrganizationalUnit -Filter 'Name -like "*"' | Format-Table Name, DistinguishedName -A -Wrap |

7- Aynı komutu kullanarak bir .csv ya da .txt uzantılı dosyaya yazdırma işlemi de yapabilirsiniz.
Get-ADOrganizationalUnit -Filter 'Name -like "*"' | Format-Table Name, DistinguishedName -A -Wrap | Out-File C:\Get-LoggedUser.txt |

8- Benim gibi her bir Active Directory nesenesinin tutulduğu Organization Unit için standart isimlendirmeler kullanıyorsanız, komut sorgunuza aşağıdaki komuttaki gibi bir filtreleme uygulayabilirsiniz. Bu sayede bilgi yoğunluğu içinde boğulmak zorunda kalmazsınız.
Get-ADOrganizationalUnit -Filter {name -like "*WKS*"} | Format-Table Name, DistinguishedName -A |

Faydalı olması dileğiyle...
TAGs: Bilgisayarda kim oturum açmış?, Kullanıcı hangi PC'de oturum açmış?, Kullanıcı hangi PC'de logon olmuş?, Hangi kullanıcı hangi PC'de oturum açmış?, Hangi kullanıcı hangi PC'de logon olmuş?
Her türlü görüş ve önerilerinizi aşağıdaki yorum panelinden bırakabilir, kafanıza takılanları veya merak ettiklerinizi sorabilirsiniz.