Powershell gibi güçlü bir araç ile XML dosyalarında yer alan verileri rahatlıkla okuyabilir ve ayrıştırabilirsiniz.
XML biçimindeki dosyalardan powershell ile veri çekmek oldukça kolay fakat birkaç önemli püf noktasını bilmek gerekmektedir.
İlk olarak XML dosyamızı aşağıdaki komut ile bir değişkene atıyoruz.
[xml]$Xmlsunucu= Get-Content -Path ‘C:\sunucular\dc.xml’
Dosyamızın mutlaka XML uzantısı olmasına gerek yoktur. XML uyumlu farklı uzantılı bir dosya hatta yapılandırma dosyaları (config) da olabilmektedir.
Sıra işin püf noktasına geliyor.
XML dosyasında yer alan satırlardaki başlık kısımlarını kullanarak verileri çekmeniz gerekmektedir.
<config>
TEST
</config>
Yukardaki örnekte yer alan bir satırdan veri çekmek için şu komut verilmelidir:
$xml.config
Benim kullandığım XML dosyası;
<Sunucular>
<DC>
<Name>DC1</Name>
<Ip>10.0.0.1</Ip>
</DC>
<DC>
<Name>DC2</Name>
<Ip>10.0.0.2</Ip>
</DC>
<DC>
<Name>DC3</Name>
<Ip>10.0.0.3</Ip>
</DC>
</Sunucular>
Sunucular ve DC olarak iki başlık olduğundan aşağıdaki komutu veriyorum:
$xmlsunucu.sunucular.dc
XML dosyasında yer alan ve verileri çekmek istediğiniz başlıkları komutta sıra ile belirtmeniz gerekmektedir.
En son komutu geliştirip özelleştirme de yapabilirsiniz.
$xmlsunucu.sunucular.dc | where-object {$_.name -eq ‘DC1’}