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, 6706 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 ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Batch & Shell
gelöst Powershell - Pfadlänge mit mehr als 260 Zeichen (10)

Frage von Bugger zum Thema Batch & Shell ...

Batch & Shell
gelöst Powershell Name des Childs bei Get-ChildItem anzeigen (2)

Frage von reissaus73 zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch und Powershell (2)

Frage von michi-ffm zum Thema Batch & Shell ...

Batch & Shell
gelöst Powershell Get-Content Inhalt filtern (1)

Frage von derhoeppi zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Switche und Hubs
LAG zwischen Cisco SG300 und Dlink DGS1100 herstellen - wie? (18)

Frage von White-Rabbit2 zum Thema Switche und Hubs ...

CPU, RAM, Mainboards
Hardware Fragen (12)

Frage von xaver-2 zum Thema CPU, RAM, Mainboards ...

Grafikkarten & Monitore
Neue Graifkkarte - kein Bild (10)

Frage von bestelitt zum Thema Grafikkarten & Monitore ...

Exchange Server
gelöst Exchange 2013 - Kontakte aus CSV importieren (9)

Frage von hesper zum Thema Exchange Server ...