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
Kommentar vom Moderator Biber am 09.06.2011 um 20:38:05 Uhr
Beitrag verschoben von "Excel" nach "Scriptkrams".
Und auf "erledigt" gesetzt.
GELÖST

Transponieren wiederholen

Frage Entwicklung Batch & Shell

Mitglied: jfish

jfish (Level 1) - Jetzt verbinden

09.06.2011, aktualisiert 20:38 Uhr, 2451 Aufrufe, 3 Kommentare

Hallo,
Ich habe via Psexec mehrere Server ausgelesen und das Ergebnis in ein Log geschrieben. Der Inhalt im Excel sieht dann so wie unten unter IST. Wie kann ich das Transponieren automatisieren, so das Ergebnis wie unter SOLL (für über 400 Systeme) aussieht.
Danke
Jens

IST:
Hostname srv1
cpu 2
os w2k3
archit 32bit
Hostname srv5
cpu 1
os w2k8
archit 32bit
Hostname srv20
cpu 4
os w2k3
archit 64bit
Hostname srv10
cpu 2
os w2k3
archit 32bit
Hostname srv11
cpu 2
os w2k3
archit 32bit

SOLL:
Hostname CPU OS Aricht
srv4 1 unix 32bit
Mitglied: 60730
09.06.2011 um 13:48 Uhr
Moin,

Ich habe via Psexec mehrere Server ausgelesen und das Ergebnis in ein Log geschrieben.
  • aha
Der Inhalt im Excel sieht dann so wie unten unter IST. Wie kann ich das Transponieren automatisieren, so das Ergebnis wie unter SOLL (für über 400 Systeme) aussieht.

Zwei / drei Zeilen:

Ich hab es lieber, wenn man schreibt:
  • Mit der Befehlskette habe ich dieses Ergebnis bekommen.
01.
echo hier könnte deine Befehlskette stehen
  • und dann finde ich es äußert unelegant sich via xyz eine Liste mit sortierung abcde anzufertigen und die dann mit 123 zu 0815xyz umzustricken.

Ergo?
Anstatt beim Versuch einer Transponieren wiederholen zu transpirieren, gleich richtig machen.
Bitte warten ..
Mitglied: bastla
09.06.2011 um 14:06 Uhr
Hallo jfish!

Grundsätzlich sehe ich das auch so wie T-Mo ...

... aber wenn Du die Datensammlung jetzt schon mal hast, könntest Du sie in Excel per VBA etwa so importieren:
01.
Sub Importieren() 
02.
Datei = "D:\Server.log" 
03.
AbZeile = 1 
04.
AbSpalte = 1 'Spalte A 
05.
Ueber = Array("Hostname", "cpu", "os", "archit") 'Schreibweise der Feldnamen exakt wie in der Datei 
06.
Delim = " " 
07.
 
08.
Cells(AbZeile, AbSpalte).Resize(1, UBound(Ueber) + 1).Value = Ueber 
09.
Zeile = AbZeile + 1 
10.
Daten = Split(CreateObject("Scripting.FileSystemObject").OpenTextFile(Datei).ReadAll, vbCrLf) 
11.
 
12.
Spalten = UBound(Ueber) + 1 
13.
i = 0 
14.
Do 
15.
    If InStr(Daten(i), Ueber(0)) > 0 Then 
16.
        For j = 0 To Spalten - 1 
17.
            Cells(Zeile, AbSpalte + j).Value = Replace(Daten(i + j), Ueber(j) & Delim, "") 
18.
        Next 
19.
        Zeile = Zeile + 1 
20.
        i = i + Spalten 
21.
    Else 
22.
        i = i + 1 
23.
    End If 
24.
Loop While i <= UBound(Daten) 
25.
End Sub
Mit "Delim" in Zeile 6 ist das Trennzeichen zwischen der Feldbezeichnung ("Hostname") und dem Wert ("srv1") gemeint - lt Deinem Beispiel gehe ich von einem Leerzeichen aus; wäre es ein TAB, müsste die Zeile lauten:
Delim = vbTab
Dass es je "Hostname" immer die gleich Anzahl an Feldern (Zeilen in der Logdatei) gibt, setze ich mal voraus ...

Grüße
bastla
Bitte warten ..
Mitglied: jfish
09.06.2011 um 15:23 Uhr
Hi bastla,

danke, hat geholfen.

Gruß
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(2)

Tipp von agowa338 zum Thema Windows 10 ...

Heiß diskutierte Inhalte
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 ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...