Active Directory Bilgisayar IP Adreslerini PowerShell ile Export Etme
Ip Adres Export alma işlemi kurumsal ortamlarda oldukça önemlidir. Özellikle Active Directory ortamında yer alan makinelerin IP adreslerini topluca almak, ağ yönetimini kolaylaştırır. Bu yazıda, PowerShell kullanarak Active Directory ortamındaki tüm bilgisayarların IP adres bilgilerini dışa aktarmayı (export etmeyi) adım adım anlatacağım.

IP Adres Export Alma
Active Directory kurulu bir Windows Server: Ağ çapında sistem konfigürasyonlarını, kullanıcı profillerini ve uygulama bilgilerini AD veri tabanında saklar. Sistem yöneticilerinin, domain kapsamındaki tüm bilgisayarlarda masaüstü özelliklerini, ağ servislerini ve uygulamaları merkezi bir noktadan yönetebilmelerini sağlar.
Aşağıdaki PowerShell komutu sayesinde Active Directory üzerinde bulunan tüm bilgisayarların:
- Adı (Name)
- İşletim sistemi bilgileri
- IP adresleri
- Service Pack ve OS versiyonu
CSV dosyasına export işlemini gerçekleştirebilirsiniz.
Get-ADComputer -Filter * -Property Name,OperatingSystem,OperatingSystemServicePack,OperatingSystemVersion |
ForEach-Object {
$ip = (Test-Connection $_.Name -Count 1 -ErrorAction SilentlyContinue).IPv4Address.IPAddressToString
[PSCustomObject]@{
Name = $_.Name
OperatingSystem = $_.OperatingSystem
OperatingSystemVersion = $_.OperatingSystemVersion
OperatingSystemServicePack = $_.OperatingSystemServicePack
IPv4Address = $ip
}
} | Export-Csv "C:\test\AllComputers.csv" -NoTypeInformation -Encoding UTF8
Not: IPv4Address bilgisi doğrudan AD nesnesinden gelmediği için Test-Connection ile manuel olarak alınmaktadır. Bu komut Windows PowerShell 5.1 içindir; PowerShell 7’de Test-Connection farklı bir nesne döndürdüğü için .IPv4Address yerine (Test-Connection $_.DNSHostName -Count 1 -IPv4 -ErrorAction SilentlyContinue).Address.IPAddressToString kullanmalısınız.
CSV Çıktısı Örneği
| Name | OperatingSystem | Version | ServicePack | IPv4Address |
|---|---|---|---|---|
| PC-IT01 | Windows 10 Pro | 10.0.19045 | 192.168.1.15 | |
| PC-HR02 | Windows 11 Enterprise | 10.0.22000 | 192.168.1.23 |
Belirli OU (Organizational Unit) İçin Sorgu
Eğer yalnızca belirli bir Organizational Unit altındaki makineleri listelemek isterseniz şu şekilde kullanabilirsiniz:
Get-ADComputer -SearchBase "OU=Bilgisayarlar,DC=example,DC=com" -Filter * -Property Name,OperatingSystem,OperatingSystemServicePack,OperatingSystemVersion |
ForEach-Object {
$ip = (Test-Connection $_.Name -Count 1 -ErrorAction SilentlyContinue).IPv4Address.IPAddressToString
[PSCustomObject]@{
Name = $_.Name
OperatingSystem = $_.OperatingSystem
OperatingSystemVersion = $_.OperatingSystemVersion
OperatingSystemServicePack = $_.OperatingSystemServicePack
IPv4Address = $ip
}
} | Export-Csv "C:\test\OUComputers.csv" -NoTypeInformation -Encoding UTF8
AD Kullanıcı Sayısını Görmek
Active Directory üzerinde kullanıcı sayısını görebilmenin de PowerShell komutlarıyla nasıl yapılacağını anlattığım bu yazıya göz atabilirsiniz.
Not: Bu komutları çalıştırabilmek için Active Directory’e sorgu yapma yetkisine sahip bir hesapla oturum açmış olmanız gerekmektedir.
Bu yöntem ile AD ortamındaki tüm bilgisayarların IP adreslerini hızlıca dışa aktarabilirsiniz. Aynı mantıkla kullanıcılar, yazıcılar veya başka nesneler için de benzer komutlar kullanılabilir.
Daha fazla bilgi için:
Microsoft Docs – Get-ADComputer
Herkese kolaylıklar ve iyi çalışmalar dilerim.
IP Adresi Raporlamasında Sınırlar
Active Directory bilgisayar nesnesi, her cihazın güncel IP adresini güvenilir biçimde saklamaz. Test-Connection sonucunun bulunması DNS çözümlemesi ve ICMP erişimine bağlıdır; cihaz kapalıysa veya ICMP engelliyse sonuç boş kalabilir. Çoklu NIC, VPN ve DHCP senaryolarında DNS/DHCP envanteriyle karşılaştırın. Bu CSV çıktısını kesin IP varlık envanteri olarak değerlendirmeyin.
