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

Powershell - Im Logfile wird nach jedem Zeichen ein Leerschlag eingefügt

Frage Entwicklung Batch & Shell

Mitglied: TuXHunt3R

TuXHunt3R (Level 3) - Jetzt verbinden

10.12.2007, aktualisiert 23:43 Uhr, 6718 Aufrufe, 2 Kommentare

Hallo ans Forum

Ich will mit der PowerShell einige Strings und Variableninhalte an eine Textdatei anfügen.
Das Ganze sieht so aus:
01.
$User = $Env:Username 
02.
$Zeit = get-date -format  
03.
$Computer = $Env:Computername 
04.
"__________" | out-file -filepath \\server\share$\log.txt -append 
05.
$User | out-file -filepath \\server\share$\log.txt -append 
06.
$Zeit | out-file -filepath \\server\share$\log.txt -append 
07.
$Computer | out-file -filepath \\server\share$\log.txt -append
Der Inhalt des Textfiles sollte dann so aussehen:
01.
__________ 
02.
Username 
03.
2007-12-10T22:25:55 
04.
Computername 
05.
__________ 
06.
Username 
07.
2007-12-10T22:25:57 
08.
Computername 
09.
__________ 
10.
Username 
11.
2007-12-10T22:25:59 
12.
Computername 
13.
__________ 
14.
Username 
15.
2007-12-10T22:26:10 
16.
Computername 
17.
__________ 
18.
Username 
19.
2007-12-10T22:26:20 
20.
Computername
Dies tut er aber nicht, der Inhalt des Textfiles sieht so aus:
01.
_ _ _ _ _ _ _ _ _ _  
02.
  
03.
 u s e r n a m e  
04.
  
05.
 2 0 0 7 - 1 2 - 1 0 T 2 2 : 4 5 : 1 9  
06.
  
07.
 C O M P U T E R  
08.
  
09.
 _ _ _ _ _ _ _ _ _ _  
10.
  
11.
 u s e r n a m e  
12.
  
13.
 2 0 0 7 - 1 2 - 1 0 T 2 2 : 4 7 : 5 9  
14.
  
15.
 C O M P U T E R  
16.
  
17.
 
Irgendwie flickt es zwischen jedes Zeichen einen Leerschlag rein....
Kann sich das jemand erklären, rsp. einen Lösungsvorschlag anbieten?

Grüsse aus der Schweiz
TuXHunT3R

PS: Effekt tritt mit Notepad und Wordpad auf......
Mitglied: 58502
10.12.2007 um 23:28 Uhr
Das sieht nach Unicode aus. Lade die Datei mal als Unicode und speichere sie als Text (Ansi).
Bitte warten ..
Mitglied: TuXHunt3R
10.12.2007 um 23:43 Uhr
Das war es. Ich hab nicht beachtet, dass die PowerShell mit dem out-file CMDLet standardmässig Unicode schreibt. Folgende Codezeilen habe ich angepasst:
01.
"__________" | out-file -filepath \\server\share$\log.txt -append 
02.
$User | out-file -filepath \\server\share$\log.txt -append 
03.
$Zeit | out-file -filepath \\server\share$\log.txt -append 
04.
$Computer | out-file -filepath \\server\share$\log.txt -append
Diese sehen nun so aus:
01.
"__________" | out-file -filepath \\server\share$\log.txt -encoding Default -append 
02.
$User | out-file -filepath \\server\share$\log.txt -encoding Default -append 
03.
$Zeit | out-file -filepath \\server\share$\log.txt -encoding Default -append 
04.
$Computer | out-file -filepath \\server\share$\log.txt -encoding Default -append
Durch die Angabe von "-encoding Default" übernimmt das out-file CMDlet den Standard-Zeichensatz des Systems, sprich Ansi.

Herzlichen Dank, das Problem ist hiermit gelöst.
Bitte warten ..
Ähnliche Inhalte
Windows Server
Powershell logfile nach Datei suchen (2)

Frage von krischeu zum Thema Windows Server ...

Batch & Shell
gelöst Powershell - Pfadlänge mit mehr als 260 Zeichen (11)

Frage von Bugger zum Thema Batch & Shell ...

Batch & Shell
gelöst Powershell Skript Ordnerinhalt auflisten und per E-Mail verschicken (2)

Frage von xbast1x zum Thema Batch & Shell ...

Neue Wissensbeiträge
Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(7)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(6)

Anleitung von BassFishFox zum Thema Windows 10 ...

Administrator.de Feedback

Tipp: Ungelöste Fragen ohne Antwort in Tickeransicht farblich hinterlegen

Tipp von pattern zum Thema Administrator.de Feedback ...

Heiß diskutierte Inhalte
Windows Server
gelöst Update BackupExec 2015 auf 2016 führt zu SQL-Server Problem (16)

Frage von montylein1981 zum Thema Windows Server ...

Batch & Shell
gelöst Batch um Benutzer aus Sitzung abzumelden (15)

Frage von zeroblue2005 zum Thema Batch & Shell ...

Linux
gelöst Google Chrome startet nicht (12)

Frage von Thomas91 zum Thema Linux ...