emjott
Goto Top

Powershell, mehrere Wörter mit Write-Output und Out-File in eine Zeile schreiben

Hallo,

ich stehe wieder mal vor einem total beknackten Formatierungsproblem. Auch wenn das ein simples Ding ist, irgendwie möchte der Powershell-Gott, dass ich mich intensiv mit den Befehlen auseinandersetze face-smile

Ich möchte gerne mehrere Wörter in eine Zeile in einer Logfile schreiben und irgendwie bekomme ich das nicht hin.

$Logfile = "C:\temp\logfile.txt"
$text_fuer_Logfile = "Dies ist ein Testtext"

Write-Output $text_fuer_Logfile | Out-File $Logfile -Append

Ergebnis (Inhalt der Logfile):
Dies
ist
ein
Testtext

hm...?!?

Gibt es eine Möglichkeit mehrere Wörter in eine Zeile einer Datei zu schreiben?
gewünschtes Ergebnis (Inhalt der Logfile):
Dies ist ein Testtext

MfG

Content-ID: 155091

Url: https://administrator.de/contentid/155091

Ausgedruckt am: 22.11.2024 um 02:11 Uhr

micneu
micneu 15.11.2010 um 18:14:52 Uhr
Goto Top
habe es gerade bei mir getestet, und es hat geklappt, mit genau deinem code!
wo ist dein problem?
ich habe es unter windows 7 ultimate 64bit getestet.

gruß michael
emjott
emjott 16.11.2010 um 15:57:12 Uhr
Goto Top
ach verflixt... bei mir funktioniert der Code auch...

ABER bei meinem eigentlich Code funktionierts nicht ^^


...
foreach ($username in $check_TSNutzer){

    $status = Get-TSSession -UserName $username | Select State,ClientName
    
    if($status.State -match "Disconnected"){
        # Ts-Sitzung nicht verbunden!
        $computer_offline = $status.ClientName    
        
        # Wenn der ClientName nicht aufgelöst werden kann,
        # gibts einen Fehler beim Ausführen des Pings
        $ping = New-Object System.Net.NetworkInformation.Ping
        $ping_result = $ping.Send($computer_offline)
        
        if($ping_result.Status -match "TimedOut"){
            # Wenn getrennte Verbindung
            
            Write-Host ts-stempel-clients CRITICAL - Client $computer_offline nicht erreichbar
            
            # Logfile schreiben
             Write-Output $computer_offline $username | Out-File $Logfile -Append
                        
        }else{
            # Wenn TS-Sitzung nur getrennt, Rechner online
            
            Write-Host ts-stempel-clients CRITICAL - TS-Sitzung $username ($computer_offline) getrennt
            
            # Logfile schreiben
             Write-Output $computer_offline $username | Out-File $Logfile -Append
            
        }  
         # temporäre Datei
         Write-Output $computer_offline | Out-File $badClients
         
        $returncode = 2      
     }    
}

...
emjott
emjott 23.11.2010 um 16:09:30 Uhr
Goto Top
so.. ich habe es endlich gelöst face-smile

anstelle von
... 
 Write-Output $computer_offline $username | Out-File $Logfile -Append 
...
... habe ich die Ausgabe in eine Variable eingelesen und die an Write-Output übergeben.

  $output = $computer_offline+" "+$username
  Write-Output $output | Out-File $Logfile -Append