Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Mehrere Variablenergebnisse in eine Custom Table verpacken

Frage Entwicklung Batch & Shell

Mitglied: mguenth83

mguenth83 (Level 1) - Jetzt verbinden

14.07.2014, aktualisiert 14:35 Uhr, 894 Aufrufe, 4 Kommentare

Hi,

ich habe einen Werte in einer Variable und möchte diese in einer Tabelle ordentlich anzeigen lassen, versuche schon als mit Expression aber ich bekomme es nicht hin.

Hier mal die Aussgabe von den Werten bzw. Variablen

$0
ENV:\Computername

$1
Updates installiert
KB8393424
JB3425245

$2
Updates fehlend
KB332423423

Jetzt möchte ich diese zwei Variablen in eine bzw in dem Format..


Computername Updates Installiert Updates fehlend
------------------------ ---------------------
TestComputer1 KB8393424 KB332423423
JB3425245

Wär cool wenn es jemand lösen könnte.


Gruß
Matze
Mitglied: colinardo
LÖSUNG 14.07.2014, aktualisiert um 14:35 Uhr
Hallo Matze,
kein Problem:
01.
# Beispiel-Variablen ----- 
02.
$0 = $env:COMPUTERNAME 
03.
$1 = new-object PSObject -Property  @{"Updates installiert"="KB1234","KB22222"} 
04.
$2 = new-object PSObject -Property  @{"Updates fehlend"="KB99999","KB3333"} 
05.
# ---------------- 
06.
 
07.
#Neues Objekt mit Eigenschaften erzeugen 
08.
$obj = new-object PSObject -Property @{"Computername"=$0;"Updates installiert"=$1.'Updates installiert';"Updates fehlend"=$2.'Updates fehlend'} 
09.
 
10.
# Ausgabe mit Festlegung der Reihenfolge der Spalten 
11.
$obj | select Computername,'Updates installiert','Updates fehlend'
Grüße Uwe
Bitte warten ..
Mitglied: mguenth83
14.07.2014 um 13:35 Uhr
Hi Uwe,
super danke habe mal wieder was dazugelernt...
kleines Problem hab ich allerdings noch...die KB´s sollen nicht nebeneinander stehen sondern untereinander...ansonsten perfekt ^^

Gruß
Matze
Bitte warten ..
Mitglied: colinardo
LÖSUNG 14.07.2014, aktualisiert um 14:35 Uhr
Zitat von mguenth83:
kleines Problem hab ich allerdings noch...die KB´s sollen nicht nebeneinander stehen sondern untereinander...ansonsten
normal ! ist ja ein Array aus Strings .... dann musst du die Werte erst expandieren und mit format-table -Wrap ausgeben. Aber Achtung, nach der Umwandlung mit format-table sind es keine Objekte mehr sondern eben nur noch eine formatierte Tabelle für eine Ausgabe in eine Datei etc. !!
01.
# Variablen ----- 
02.
$0 = $env:COMPUTERNAME 
03.
$1 = new-object PSObject -Property  @{"Updates installiert"="KB1234","KB22222"} | select -ExpandProperty 'Updates installiert' | out-string 
04.
$2 = new-object PSObject -Property  @{"Updates fehlend"="KB99999","KB3333"} | select -ExpandProperty 'Updates fehlend' | out-string 
05.
# ---------------- 
06.
 
07.
$obj = new-object PSObject -Property @{"Computername"=$0;"Updates installiert"=$1;"Updates fehlend"=$2} 
08.
$obj | select Computername,'Updates installiert','Updates fehlend' | ft -Wrap
p.s. hier hatten wir schon mal was ähnliches im Bezug auf eine HTML-Ausgabe einer Tabelle: http://www.administrator.de/contentid/240827
Bitte warten ..
Mitglied: mguenth83
14.07.2014 um 14:44 Uhr
Super hat soweit geklappt...irgendwas habe ich noch in der Formatierung drin was mir ein ft -Autosize nicht direkt umsetzt aber das ist egal...
Vielleicht für andere hab ich hier das Script

01.
 
02.
#Variablen# 
03.
$Hotfix_List = Import-Csv '\\TEST-f01\Win2008-Test.csv' | Sort-Object 
04.
$Server_List = Get-Content '\TEST-f01\Liste_DCs-Win2008-Test.txt' | Sort-Object 
05.
$CalenderWeek = Get-Date -UFormat %V 
06.
$CalenderDate = Get-Date -Format d 
07.
 
08.
foreach ($Obj in $Server_List){ 
09.
 
10.
$ComputerName = "$Obj" 
11.
 
12.
#Remote Session aufbauen und Remoteanwendungen erstellen 
13.
$Session = New-PSSession -ComputerName $ComputerName 
14.
$Proxy = Import-PSSession -Session $Session -CommandName Get-HotFix -Prefix Remote 
15.
$Server_Hotfix_List = (Get-Remotehotfix).HotFixID | Sort-Object 
16.
 
17.
#Objekte vergleichen und Ergebnisse liefern# 
18.
$Server_HotFix_OK = (Compare-Object -ReferenceObject $Server_Hotfix_List -DifferenceObject ($Hotfix_List.HotFixID) -IncludeEqual | where {$_.SideIndicator -like "=="}) | select -ExpandProperty InputObject | Out-String #| Format-Table $Format_OK 
19.
$Server_HotFix_missed = (Compare-Object -ReferenceObject $Server_Hotfix_List -DifferenceObject ($Hotfix_List.HotFixID) -IncludeEqual | where {$_.SideIndicator -like "=>"}) | select -ExpandProperty InputObject | Out-String #| Format-Table $Format_missed 
20.
$LOG_Path  = "\\Test-fs01\KB_Kontrolle_DCs_Result_KW$($CalenderWeek)_$CalenderDate.txt" 
21.
 
22.
#Neues Objekt mit Eigenschaften erzeugen" 
23.
$object = new-object PSObject -Property @{"Computername"="$ComputerName";"Updates installiert"="$Server_HotFix_OK";"Updates fehlend"="$Server_HotFix_missed"} 
24.
 
25.
# Ausgabe mit Festlegung der Reihenfolge der Spalten 
26.
$Final = $object | select Computername,'Updates installiert','Updates fehlend' | ft -Wrap | Out-String 
27.
 
28.
#Ergebnisse in eine TXT schreiben# 
29.
Add-Content -Path $LOG_Path -Value $Final 
30.
 
31.
Remove-PSSession -ComputerName $ComputerName 
32.
}
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
LAN, WAN, Wireless
Mehrere Hardware Firewalls (10)

Frage von cerberus90 zum Thema LAN, WAN, Wireless ...

VB for Applications
gelöst Excel VBA Eine oder mehrere Zellen Verschieben (2)

Frage von batchnewbie zum Thema VB for Applications ...

VB for Applications
gelöst Mehrere Charts per VBA erstellen lassen, Titel wird nicht angezeigt

Frage von Aximand zum Thema VB for Applications ...

Batch & Shell
Mehrere.csv Dateien zusammenfügen zu einer Datei mit bat (4)

Frage von Piotrney zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (17)

Frage von JayyyH zum Thema Switche und Hubs ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

DSL, VDSL
DSL-Signal bewerten (14)

Frage von SarekHL zum Thema DSL, VDSL ...