Jump to content

stefan4711

Members
  • Gesamte Inhalte

    80
  • Registriert seit

  • Letzter Besuch

Letzte Besucher des Profils

Der "Letzte Profil-Besucher"-Block ist deaktiviert und wird anderen Benutzern nicht angezeit.

Fortschritt von stefan4711

Fellow

Fellow (7/14)

  • Erste Antwort
  • Engagiert
  • Erster eigener Beitrag
  • Eine Woche dabei
  • Einen Monat dabei

Neueste Abzeichen

3

Reputation in der Community

  1. ok, also ich hab jetzt in der Export Zeile einfach -Encoding Default rangehängt, jetzt is alles so wie es sein soll danke noch mal und schönes Wochenende
  2. nach Umlaute in powershell richtig darstellen, fündig schon, aber funktionierte alles nicht, teilweise wurde geschrieben, dass in Powershell das automatisch erfolgt, bei mir jedenfalls nicht
  3. Nein ich möchte sie darstellen, er zeigt mit statt ä bspw. nur ? an
  4. So eine letzte Frage noch, eigentlich nur noch nen Schönheitsfehler, bin ich leider auch nicht zu fündige geworden, dann bin ich erst mal glücklich. Was ist wenn in diesem Description Feld Umlaute drin stehen, kann man dass irgendwie gerade rücken? lg Stef
  5. ok sorry war mein Fehler, es lag wohl an meiner nächsten csv Spalte 'SMB' =$smbt -replace ".{1}$"; Die Apostrophs hab ich jetzt auch weg, habe einfach das "`-", jeweils gelöscht lg und danke nochmals stef
  6. So danke erst mal noch, leider scheint es so nicht ganz zu funktionieren, denke habe mich wieder mal falsch ausgedrückt. Die Server Bezeichnung wird immer nach folgendem Muster gebildet: Mustermann, Vorname - PC. Ich habe es jetzt nach deinem Vorschlag so stehen: $BeschreibungKey = 'HKLM:\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters' $BeschreibungTest = Test-Path $BeschreibungKey $BeschreibungSrvcomment = (Get-ItemProperty $BeschreibungKey).Srvcomment Write-Verbose "Beschreibung Srvcomment: $BeschreibungSrvcomment" -Verbose $Description = $BeschreibungSrvcomment #Ausgabe 'Beschreibung' = $(-join ("`'", $Description, "`'")); Was er nun macht ist folgendes (oben die Spaltennamen): Hostname Beschreibung Seriennummer .... ... .. .... 'Mustermann Vorname - PC' ............ Er macht also 2 Fehler, er teilt den String weiterhin auf eine zweite Spalte auf, in der sonst was ganz anderes stehen soll, es werden zusätzlich noch 2 überflüssige ' erzeugt. Irgendwas scheint an der Syntax noch nicht zu stimmen. Also nochmal, Für dieses Feld soll das , als Delimiter ignoriert werden, weil Komma bedeutet ja neue Spalte. lg Stef
  7. okidoki, danke, werrde ich morgen gleich mal ausprobieren lg stef
  8. Na vielleicht tret ich der Sache ja noch etwas näher, manches ist ja wirklich eleganter als beim guten alten Batch. Bei der Gelegenheit würd ich gern noch eine kleine Frage einflechten. In meinem kleinen InventoryScript habe ich eine Variable defniert, welche sich aus der Systembeschreibung ergibt. Dort steht standardmässig sowas wie Name, Vorname - PC. Zudammen mit anderen definierten Systemvariablen wird dieses dann in eine csv gepackt. Sieht auschnittsweise so aus: $BeschreibungKey = 'HKLM:\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters' $BeschreibungTest = Test-Path $BeschreibungKey $BeschreibungSrvcomment = (Get-ItemProperty $BeschreibungKey).Srvcomment Write-Verbose "Beschreibung Srvcomment: $BeschreibungSrvcomment" -Verbose $Description = $BeschreibungSrvcomment Am Ende wird halrt eine CSV geschrieben, und zwar derart: #CSV Ausgbe $Ausgabe = [PSCustomObject]@{ . . 'Beschreibung' =$Description; . . } $Ausgabe | Export-Csv -Path $DestinationFolder\Ausgabe.csv -NoTypeInformation Das Problem hierbei ist das Komma in der Beschreibung, leider bekomme ich es nicht hin, dass er mir hier keine zweite Spalte aufmacht, klar wegen dem Komma im csv. Kann ich da irgendwie eine Ausnahme erstellen für diese Variable, oder wäre die einzige Lösung einen anderen delimiter zu nehmen? Leider bin ich bei Google nicht so richtig fündig geworden lg und schönen Abend Stef
  9. weiß nicht ob das für mich noch so sehr viel Sinn macht, bin eigentlich in den meisten Fällen mit dem guten alten Batch gut zurecht gekommen, ist für mich auch wesentlich leichter lesbar, in Powershell sind mir definitiv zuviel geschweifte Klammern ;), da bekomm ich Augenkrebs. Aber ich schaue mal was Tante Google sagt Trotzdem erst mal recht herzlichen Dank Um Deien Frage zu beantworten, je es steht was bei Tante Google, aber wie bei so vielen Quelen was PS angeht passiert wieder mal nichts: Import-Csv .\OutputFiltered.csv | sort Hostname ok ich habs jetzt (blindes Huhn findet auch mal nen Korn lach) Import-Csv -Path 'C:\SC\CSVmerge\OutputFiltered.csv' | sort -Property "Hostname" | Export-CSV -Path C:\SC\CSVmerge\OutputSortedEnd.csv -Delimiter ',' -NoTypeInformation ein schönes Wochende noch
  10. Ich nehme an $Data meinst Du und ja das war es, ich danke Dir recht herzlichst, das war das was ich wollte Wenn man das auch noch sortiert bekämme;) lg und schönen Abend noch Stef
  11. Also jetzt hab ichs so, der Pfad zu Summary.csv stimmt, aber jetzt macht er gar nichts data = Import-CSV C:\SC\CSVmerge\Summary.csv $lastTS = @{} $output = @{} for ($i=0; $i -lt $data.Count; $i++) { $curHostname = $data[$i].Hostname $curTS = $data[$i].Timestamp -as [datetime] if ($lastTS.ContainsKey($curHostname)) { if ($lastTS[$curHostname] -lt $curTS) { $lastTS[$curHostname] = $curTS $output[$curHostname] = $i } } else { $lastTS.Add($curHostname, $curTS) $output.Add($curHostname, $i) } } $outputSorted = New-Object System.Collections.Generic.List[PSObject] foreach($i in $output.Values) { $outputSorted.Add($data[$i]) } $outputSorted | Export-CSV -Path C:\SC\CSVmerge\machines-sorted.csv -Delimiter ',' -NoTypeInformation :( lg stef
  12. da steht nur EDIT: Code inklusive CSV-Ausgabe ist drin. Wenn Du möchtest, dass die CSV in Excel mit Doppelklick aufgeht, musst Du den Delimiter auf ';' setzen. bearbeitet vor 48 Minuten von cj_berlin aber sehe leider nix:( achso da oben, jetzt seh ichs, ich probiers
  13. Ich bin mir nicht sicher, ob ich dich richtig verstanden habe, du meintest sicher jeweils in den Zeilen mit Output: die Outputdatei ist 1kb groß und zeigt beim öffnen keinen Inhalt, vielleicht fehlen mir ja noch irgendwelche cmdlets, die ich erst isstallieren muss
  14. Also ich hatte es folgendermaaßen probiert, nachdem ich mit Batch absolut nicht weiterkam: Die Reihenfolge ist im Prinzip ertmal egal, klar wärs schön wenns nach Host sortiert wäre. Danke aber nochmal für die interessanten Lösungsansätze, werde ich mich mal durcharbeiten, melde mich dann wieder lg Stef Also folgendes: Also prinipiell scheint er bei allen Lösungen etwas zu machen, also auch keine doppelten, aber es schreibt leider keine Ergennis CSV. Schon komisch dass ich in anderen Foren zu dem Thema nur "Müll" gefunden habe. @CJ Wie bekomme ich es bei Deinem Ansatz hin dass er eine neue Datei schreibt, so im Fenster kann ich damit nicht viel anfangen, bin leioder noch nicht ganz so firm in Powershell, obgleich ich zugeben muss, dass man damit schon mehr anfangen kann als mit Batch. lg Stef
  15. Hallo werte Forengemeinde, ich beisse mich seit einigen Tagen an einem Problem fest, was wohl laut diverser Foren viele haben, dafür gab es auch schon haufenweise Lösungsvorschläge, aber nichts davon führte bei mir zum Erfolg. Es geht darum dass ich eine Inventarliste im CSV Format (kommagetrennt) habe, die sieht folgendermassen aus (Spaltenanzahl und Zeilenanzahl aus Komplexitätsgründen gekürzt) Wie hier deutlich zu sehen sind von NTX210708 mehere Einträge vorhanden. Ist es möglich per Batch oder auch per PS alle doppelten Zeilen zu löschen, Dabei sollen die Zeilen behalten werden die dem aktuellstzen Timestamp entsprechen. In dem Fall von NTX... also der letzte. Vielleicht hat ja einer eine Idee? lg und schönes we Stef
×
×
  • Neu erstellen...