Bir foreach döngüsünü yürüten bir powershell işlevi yazıyorum. Döngüler, her bir sunucu adından ana bilgisayarların bir metin dosyası listesinde geçer ve sonra her biri için boş alanı C'ye çeker ve sonra bir değişkene atar. Daha sonra başka bir döngü tekrar listeden geçer ve ana bilgisayarların adını alır ve sonra bir değişkene ekler.Çıkışı CSV'den Powershell foreach döngüsünden düzenleme
Ardından, döngülerden çektiği verileri içeren iki değişkeni alıp CSV'ye aktaran bir değişkenim var. Doğru verileri CSV'ye koyuyor ancak bunu belirli bir şekilde biçimlendirmek istiyorum. Geçerli csv çıkışı (örneğin 4 giriş için) 'sunucu 1' 'sunucu2' 'sunucu 3' 'sunucu 4' 'diskspacevalue1' '2' '3' '4' vb
Yani noktadayım İhtiyacım olan tüm verilere sahip olduğum yerde, ancak bir hücrenin sunucu adına sahip olması ve ardından yanındaki hücrenin ilgili değere sahip olması için onu düzenlemem gerekiyor.
Nesneler oluşturmam veya bir dizi kullanmam gerektiğini, ancak şu ana kadar yazdığım senaryoyu temel alarak istediğim biçimlendirmeyi uygulamak için ekleyebileceğim bir şey olup olmadığını merak ettim mi?
function diskcheck {
$freespace = Get-Content C:\temp2\DiskspaceProj\hosts.txt | Foreach-Object {
Get-WmiObject win32_logicaldisk -Computername $_ -Filter "DeviceID='C:'" | select -ExpandProperty "FreeSpace"
}
$hostName = Get-Content C:\temp2\DiskspaceProj\hosts.txt | Foreach-Object {
Get-WmiObject Win32_ComputerSystem -ComputerName $_ | Select -ExpandProperty "Name"
}
$output = "$hostname, $freespace" | echo > C:\temp2\DiskspaceProj\diskspace.csv
}
diskcheck
Bu harika çalışıyor. Ancak CSV'de garip bir çıktı alıyorum. Değerler her hücrede 'System.Object []' olarak gösterilir. Herhangi bir fikir? –
iyi çalıştığını çiziyor. Yazımın sonu. –