Top-Themen

Aktuelle Themen (A bis Z)

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 Komma oder Punkt ? Powershell Problem!

Mitglied: Feuerstein08

Feuerstein08 (Level 1) - Jetzt verbinden

29.09.2009 um 21:16 Uhr, 10202 Aufrufe, 3 Kommentare

Wieder mal ein "kleines?" Powershell Problem.

Hallo Zusammen,

ich möchte gern verschiedene Informationen per OUT-File in eine Datei schreiben. Gut, es soll eine CSV-Datei werden und es gibt das Export-CSV, aber so muss es doch auch gehen, oder?

01.
cls 
02.
$logfile = "C:\Log\Logfile.csv"	 
03.
 
04.
# LastBootUpTime 
05.
get-wmiobject -class Win32_OperatingSystem -property LastBootUpTime | % {$LastBootUp = $_.LastBootUpTime} 
06.
 
07.
# Startzeit von WinLogon 
08.
get-wmiobject win32_process | where { $_.ProcessName -eq 'Winlogon.exe'} | % {$Startzeit_WL = $_.CreationDate } 
09.
 
10.
# Zeit zwischen LastBootUpTime und WinLogon  
11.
$LB_WL = (([WMI]'').ConvertToDateTime($Startzeit_WL) - ([WMI]'').ConvertToDateTime($LastBootUp)).TotalSeconds 
12.
 
13.
# Ausgabe 
14.
$LB_WL | out-file -filepath $logfile -encoding default -append  
15.
"Test" + ";" + $LB_WL | out-file -filepath $logfile -encoding default -append 
Die Zeile "$LB_WL | out-file -filepath $logfile -encoding default -append" zeigt, dass der richtige Wert mit "," in die Datei geschrieben wird.
Nehme ich nun aber noch Text dazu (wie in der letzten Zeile, dann ändert sich der Trenner in einen Punkt ....

Inhalt der Ausgabedatei:
-35532,874304
Test;-35532.874304


Warum?
Und, wie kann ich das umgehen? (Ich möchte noch mehr Werte (Text und Zahlen) in die Zeile schreiben)

Vielen Dank für Tipps, Tricks und Hilfe!
Feuerstein08
Mitglied: filippg
29.09.2009 um 22:15 Uhr
Hallo,

faszinierend!
Ich würde davon ausgehen, dass das was mit der Locale & Typisierung zu tun hat. $LB_WL ist dynamsich als Zahl typisiert. Beim Schreiben in die Datei wird das in einen String umgewandelt. Wenn du "Test" + ";" + $LB_WL machst wird an der Stelle schon eine Umwandlung in den String vorgenommen. Und offenbar greift bei einem die Lokalisierung nicht. Das würde ich als "typisch Powershell" bezeichnen.
Eine Lösung fällt mir nicht ein. Nur ein "Dirty Workaround": Du kannst in dem String . durch , ersetzen lassen (auch das in PS nicht ganz einfach, siehe http://www.aaronlerch.com/blog/2007/03/28/powershell-replace-string-fun ... oder http://www.eggheadcafe.com/software/aspnet/30931291/replace.aspx).

Gruß

Filipp
Bitte warten ..
Mitglied: Feuerstein08
30.09.2009 um 08:26 Uhr
Hallo Filipp,

vielen Dank für die schnelle Antwort, aber dieser "Workaround" gefällt (und funktioniert) nicht wirklich.
(Der zweite Link ist tot ..)

Kann man Powershell nicht irgendwie mitteilen, das die werte so 1:1 in die Datei geschrieben werden sollen?

Ich wäre für weitere Tipps etc. dankbar.

Feuerstein08
Bitte warten ..
Mitglied: Feuerstein08
14.10.2009 um 17:52 Uhr
Hallo,

ich hatte das Glück Hr. Dr. Tobias Weltner (Powershell-Guru) kennenzulernen. Keine Minute später hatte ich die Lösung. Einen Platzhalter und die entsprechende Formatierung << {0} -f >>

Die letzte Zeile muss dann also so aussehen:
01.
"Test;{0}" -f $LB_WL | out-file -filepath $logfile -encoding default -append 
Vielen Dank Hr. Weltner!

Gruß
Feuerstein08
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Punkt durch Komma ersetzen
Frage von TingelTangelbatchBatch & Shell9 Kommentare

Hallo, für eine batch Datei suche ich folgende Hilfe / Code: Ich habe monatlich ca. 10 Textdatein welche Werte ...

Peripheriegeräte

Microsoft Sculpt - Komma gegen Punkt tauschen

gelöst Frage von TiTuxPeripheriegeräte3 Kommentare

Hallo, habe mir eine Microsof Sculpt Tastatur gekauft und bin auch sehr zufrieden. Allerdings befindet sich auf dem seperaten ...

Microsoft Office

VB ein bestimmtes Komma durch Punkt ersetzen

gelöst Frage von Enno13Microsoft Office4 Kommentare

Hallo Wie kann ich denn ein bestimmtest Komma durch einen Punkt ersetzten lassen über VB. Dieses Komma ist eine ...

Batch & Shell

For f - In vielen Dateien Komma durch Punkt ersetzen

gelöst Frage von alleedxBatch & Shell2 Kommentare

Hallo zusammen, ich bräuchte ein wenig Hilfe bei der Erstellung einer Batch Datei. Sie soll in einem Ordner liegen ...

Neue Wissensbeiträge
iOS
Updates für Iphone und Co
Information von sabines vor 3 StundeniOS

Gestern abend ist iOS 11.3.1 erschienen, ein kleineres Update, dass einige Lücken schließt und "Lahmlegen" nach einem Display Tausch ...

Windows 7

Windows 7 - Server 2008 R2: Exploit für Total Meltdown verfügbar

Information von kgborn vor 1 TagWindows 7

Kleine Information für Administratoren, die für die Updates von Windows 7 SP1 und Windows Server 2008 R2 SP1 verantwortlich ...

Sicherheit

Zero Day-Schwachstelle im Internet Explorer - wird von APT bereits ausgenutzt

Information von kgborn vor 1 TagSicherheit

Im Kernel des Internet Explorer scheint es eine Zero Day-Lücke zu geben, die von staatlichen Akteuren (APT) im Rahmen ...

Microsoft
Folder Security Viewer-Lizenzen zu gewinnen
Information von kgborn vor 1 TagMicrosoft

Ich nehme das Thema mal in Absprache mit Frank hier auf, da es für den einen oder anderen Administrator ...

Heiß diskutierte Inhalte
C und C++
Frage1 C Programmierung-Makefile Frage2 PHP-Programmierung HTTP-Fehler 404
Frage von KatalinaC und C++27 Kommentare

Hallo, ich habe 2 Fragen, die nichts miteinander zu tun haben aber mit denen ich mich gerade beschäftige: 1. ...

LAN, WAN, Wireless
Watchguard T15 VPN Einrichtung
gelöst Frage von thomasjayLAN, WAN, Wireless25 Kommentare

Hallo zusammen, wir möchten gerne über unsere Watchguard T15 einen VPN-Tunnel (Mobile VPN with IPSec) einrichten! Als Client nutzen ...

DSL, VDSL
ISP Wechsel auf Vodefone Koax, Gebäudeverkabelung nur per Cat 7
gelöst Frage von wusa88DSL, VDSL19 Kommentare

Hallo Zusammen, ich bin momentan bei Mnet als Glasfaser Kunde und möchte Preis/Leistungs-Technisch zu Kabel Deutschland / Vodafone wechseln. ...

Hyper-V
HyperV DC + DNS + AC
gelöst Frage von HardstylesHyper-V16 Kommentare

Hallo kann mir jemand sagen wieso meine Domänen Computer kein Internetzugang erhalten? Ich hab hier ein Server wo die ...