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

String einer Variable in ein Tabellenformat Wandeln Powershell

Frage Entwicklung Batch & Shell

Mitglied: Dpole86

Dpole86 (Level 1) - Jetzt verbinden

06.12.2013, aktualisiert 12:17 Uhr, 1525 Aufrufe, 5 Kommentare, 1 Danke

Guten Morgen zusammen

Ich habe folgende Variable mit folgendem Inhalt

$Rsync_Name
Inhalt:
NBAPS99NBAPS96NBAPS94NBAPS87NBAPS86NBAPS85NBAPS84NBAPS83NBAPS77NBAPS76NBAPS71NBAPS69NBAPS57NBAPS53NBAPS50NBAPS49NBAPS47NBAPS44NBAPS201NBAPS200NBAPS199NBAPS198NBAPS185NBAPS183NBAPS182NBAPS181NBAPS179NBAPS1 
78NBAPS173NBAPS170NBAPS169NBAPS166NBAPS165NBAPS164NBAPS163NBAPS158NBAPS157NBAPS156NBAPS151NBAPS147NBAPS146NBAPS145NBAPS144NBAPS143NBAPS141NBAPS140NBAPS139NBAPS138NBAPS137NBAPS136NBAPS135NBAPS134NBAPS133NB 
APS131NBAPS130NBAPS128NBAPS123NBAPS122NBAPS121NBAPS118NBAPS115NBAPS114NBAPS112NBAPS110NBAPS109NBAPS106
Gibt es eine Möglichkeit das mir die Ausgabe untereinander angezeigt wird?

Über $Rsync_name | format-table geht es nicht.

Grüße und Danke

Roman
Mitglied: colinardo
06.12.2013, aktualisiert um 09:43 Uhr
Hallo Roman,
wenn der Inhalt deiner Variablen einzelne Objekte sind:
$Rsync_name | format-list
so wie du den Inhalt hier gepostet hast muss da aber noch ein Split zum trennen der Namen rein oder hast du hier Mist gepostet ?
Wenn der Inhalt tatsächlich als String so aussieht ist dir aber beim extrahieren im vorherigen Schritt ein gewaltiger Fehler unterlaufen ...

Grüße Uwe
Bitte warten ..
Mitglied: Dpole86
06.12.2013 um 09:59 Uhr
Guten Morgen Uwe

Wie immer danke für deine Antwort.

Mein code bis dahin lautet:

01.
Remove-PSDrive spwodb 
02.
$Date = Get-Date -Format "yyMMdd"; 
03.
$Startzeit = Get-Date -Format "HHmmss"; 
04.
$Mailsubject = "Auswertung RoadWarriors " + $Date; 
05.
$Filename = "aps_export_devices_" + $Date + ".html"; 
06.
$Filename_csv = "aps_export_devices_" + $Date + ".csv"; 
07.
#$Folder_rsync = "\\apsv254\c$\Program Files (x86)\ICW\"; 
08.
$Data_spwo = @(); 
09.
$Data_rsync=@(); 
10.
$Data_rsync_compared=@(); 
11.
$Data_spwo_compared=@(); 
12.
 
13.
#Rsync Anfang  
14.
 
15.
# Lese das Log ein, suche nach NBAPS und erstelle ein neues Objekt in $Data_rsync 
16.
 $logfile = "C:\Users\admrd\Desktop\test\bat\rsyncd.log" 
17.
 $content = gc $logfile 
18.
 $logins = @(); 
19.
 foreach($line in $content){ 
20.
     if ($line -cmatch "connect from NBAPS[\d]+"){ 
21.
         $arrLine = $line.Split(" ") 
22.
         $logins += New-Object PSObject -Property @{"Name"=$arrLine[5];"Date"=$arrLine[0];"Time"=$arrLine[1]} 
23.
     }      
24.
25.
$Data_rsync = $logins | ?{(get-date $_.Date) -gt (get-date).AddDays(-21)} | sort Name,Date,Time -Descending | group Name | %{$_.Group[0]} | select Name,Date,Time 
26.
 
27.
#Vergleiche die beiden Variablen und gebe die unterschiede aus.  
28.
 
29.
#$Data_rsync = $logins | ?{(get-date $_.Date) -gt (get-date).AddDays(-21)} | sort Name,Date,Time -Descending | group Name | %{$_.Group[0]} | select Name,Date,Time 
30.
 
31.
$Data_rsync_compared = Compare-Object -ReferenceObject $Data_rsync -DifferenceObject $Output -Property Name -PassThru | ?{$_.Sideindicator -eq "=>"}| select Name 
32.
 
33.
 
34.
# Teile die Daten aus $Data_Rsync in einzelne Spalten auf. 
35.
$Rsync_Clients = @(); 
36.
$Rsync_Zeit = @(); 
37.
$Rsync_Datum = @(); 
38.
 
39.
foreach($row in $Data_rsync) 
40.
41.
   $Rsync_Name += $row.Name; 
42.
   $Rsync_Zeit += $row.Time; 
43.
   $Rsync_Datum += $row.Date; 
44.
 
45.
46.
 
Wenn ich eine Split anweisung mache, also $rsync_name.split('/N') wird aber das 'N' abgeschnitten.
Ich bekomme dann zwar auch eine tabelle nur ohne 'N'

ich müsste von N bis zum nächsten N splitten

ich muss allerdings zugeben ich habe keine ahnung wie ich das anstelle.

Im Grunde kann ich doch das Split nehmen, hochzählen bis zum nächsten N und da abschneiden.
oder ist mein ansatz falsch?
Bitte warten ..
Mitglied: colinardo
06.12.2013, aktualisiert um 10:10 Uhr
Dein Ansatz ist nicht gut, ich sehe hier z.B. nicht wo die Variable $output erzeugt wird, da liegt wahrscheinlich der "Hammer" begraben ...
Wenn ich eine Split anweisung mache, also $rsync_name.split('/N') wird aber das 'N' abgeschnitten.
das ist klar das das nicht geht, aber bei deiner extrahierung der Namen ist komplett was schief gelaufen. Wenn das ein Unix-String mit für Windows unsichtbaren Zeilenumbrüchen ist, lassen sich die Namen via $Rsync_name.Split("`n") in ein Array wandeln.
Wann ziehst du dir endlich die Powershell-Doku-Seiten rein die ich dir geschickt habe ?
Bitte warten ..
Mitglied: Dpole86
06.12.2013 um 10:17 Uhr
Habe es mit einem Kollegen durch folgenden Code gelöst

01.
 
02.
$string = $Rsync_Name 
03.
$chars = $string.ToCharArray() 
04.
[int]$i = -1 
05.
$computers = @() 
06.
 
07.
foreach ($c in $chars){ 
08.
 
09.
  if(($c -eq 'N') -or ($c -eq 'n')){ 
10.
    $i++ 
11.
    $computers += $c 
12.
  }else{ 
13.
    $computers[$i] += $c 
14.
15.
16.
 
Bitte warten ..
Mitglied: colinardo
06.12.2013 um 10:21 Uhr
naja wenn mans direkt richtig extrahiert hätte, wäre das nicht nötig gewesen ...
Bitte warten ..
Neuester Wissensbeitrag
Festplatten, SSD, Raid

12TB written pro SSD in 2 Jahren mit RAID5 auf Hyper-VServer

Erfahrungsbericht von Lochkartenstanzer zum Thema Festplatten, SSD, Raid ...

Ähnliche Inhalte
Batch & Shell
gelöst PowerShell String zerlegen in Array, DataTable, Hashtable speichern (7)

Frage von derhoeppi zum Thema Batch & Shell ...

Batch & Shell
gelöst Powershell String Suchen mit Wildcard und Ersetzen (6)

Frage von herrmanndominic zum Thema Batch & Shell ...

Batch & Shell
gelöst PowerShell Script Move-Item nach x Tagen (5)

Frage von lupolo zum Thema Batch & Shell ...

JavaScript
AngularJS Variable über Input in Funktion ausführen

Frage von badkilla zum Thema JavaScript ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (34)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

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

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...