Hallo zusammen,
Ich bin neu in der großen Welt von Powershell, also entschuldigt bitte so manchen Anfängerfehler :)
Ich arbeite an einem Script, das alle Hosts aus einer VmWare - Datenbank nimmt und abfragen soll, ob 8 bestimmte Datastores angeschlossen sind. Das Ergebnis wird sowohl in Powershell selbst als auch in einer .txt als Tabelle angezeigt. Das Problem liegt nun darin, dass mir nicht die kompletten Strings (die Namen der fehlenden Datastores) angezeigt werden. Ein Ergebnis sieht z.B. so aus:
host fehlende_datastores ---- ------------------- host1 {datastore1, datastore2, datastore3, datastore4...}
An der Formatierung liegt es nicht, wie man im Quellcode erkennen kann, habe ich für die .txt die Breite auf 4096 gesetzt, dort sieht das Ergebnis jedoch exakt gleich aus. Die Frage, die sich mir nun stellt, ist ob das Script die Datastores nicht korrekt im Array abspeichert, oder ob diese nur nicht richtig ausgegeben werden und natürlich, wie ich das Problem lösen kann :)
Add-PSSnapin VMware.VimAutomation.Core Connect-VIServer VmWareserver $datastores = @() $ergebnisse = @() $datastores = Get-Datastore $hosts = Get-VMHost $suche = @( "Datastore1","Datastore2","Datastore3","Datastore4","Datastore5","Datastore6","Datastore7","Datastore8" ) foreach($i in $hosts) { $datastore = Get-Datastore -VMHost $i $erg = New-Object System.Object $erg | Add-Member -NotePropertyName "host" -NotePropertyValue $i.Name $erg | Add-Member -NotePropertyName "fehlende_datastores" -NotePropertyValue @() foreach($ds in $datastore) { foreach($i in $suche) { if(!($i -like $ds.name)) { $erg.fehlende_datastores += $i } } } $ergebnisse += $erg } $ergebnisse | Format-Table -wrap -AutoSize $ergebnisse | Format-Table -Property * -AutoSize ` | Out-String -Width 4096 ` | Out-File H:\x.txt