Zum Inhalt wechseln


Foto

Powershell Ausgabe in externe Datei schreiben


  • Bitte melde dich an um zu Antworten
13 Antworten in diesem Thema

#1 Dutch_OnE

Dutch_OnE

    Board Veteran

  • 1.234 Beiträge

 

Geschrieben 18. Dezember 2012 - 13:11

Hallo,

ich habe eine ps1 Powershell Datei gebaut, die mehrere Abfragen macht und diese nacheinander in die Konsole schreibt. Diese würde ich gerne in eine externe Datei schreiben.

Mein Versuch:
test.ps1 >> c:\text.txt legt diese Datei zwar an, schreibt aber nichts rein.

Jemand eine idee?

Gruß Daniel

#2 Dukel

Dukel

    Board Veteran

  • 9.307 Beiträge

 

Geschrieben 18. Dezember 2012 - 13:23

Wieso baust du das nicht im Script ein?
Per Pipe an out-file.

Stop making stupid people famous.


#3 Dutch_OnE

Dutch_OnE

    Board Veteran

  • 1.234 Beiträge

 

Geschrieben 18. Dezember 2012 - 13:26

D.h. statt jede Ausgabe in die Console, diese direkt in die Datei?

#4 Dukel

Dukel

    Board Veteran

  • 9.307 Beiträge

 

Geschrieben 18. Dezember 2012 - 13:28

Ja.
Da kannst du die Ausgabe besser steuern.

Stop making stupid people famous.


#5 Dutch_OnE

Dutch_OnE

    Board Veteran

  • 1.234 Beiträge

 

Geschrieben 18. Dezember 2012 - 13:32

Ich bin der Sache Nahe, aber es fehlt noch ein kleines Stück.

# Get disk information
Write-Host "Checking Free Disk Space" -ForegroundColor Cyan
out-file "Checking Free Disk Space" c:\results.txt


Der Write-Host funktioniert, der out-file leider nicht.

#6 Dukel

Dukel

    Board Veteran

  • 9.307 Beiträge

 

Geschrieben 18. Dezember 2012 - 13:36

Was funktioniert da nicht?
Schreibt er nichts? Hat der Prozess rechte auf c:\results.txt ?

Stop making stupid people famous.


#7 Dutch_OnE

Dutch_OnE

    Board Veteran

  • 1.234 Beiträge

 

Geschrieben 18. Dezember 2012 - 13:46

Folgende Fehlermeldung kommt:

Out-File : Das Argument für den Parameter "Encoding" kann nicht überprüft werden. Das Argument "c:\temp\results.txt" ge
hört nicht zu dem vom ValidateSet-Attribut angegebenen Satz "unicode,utf7,utf8,utf32,ascii,bigendianunicode,default,oem
". Geben Sie ein Argument an, das in dem Satz enthalten ist, und führen Sie dann den Befehl erneut aus.
Bei C:\Users\Administrator\Desktop\Check-Ex2010-Frequently.ps1:102 Zeichen:10
+ out-file <<<< "Checking Free Disk Space" c:\temp\results.txt
+ CategoryInfo : InvalidData: (:) [Out-File], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.PowerShell.Commands.OutFileCommand

#8 Dukel

Dukel

    Board Veteran

  • 9.307 Beiträge

 

Geschrieben 18. Dezember 2012 - 13:50

Lösch die Datei mal und führe das Script nochmal aus.
Ansonsten definiere das Encoding mit -encoding.

Stop making stupid people famous.


#9 Dutch_OnE

Dutch_OnE

    Board Veteran

  • 1.234 Beiträge

 

Geschrieben 18. Dezember 2012 - 13:57

Ich habe nun -encoding ASCII hintergeschrieben und bekomme eine andere Fehlermeldung.

Out-File : Es wurde kein Positionsparameter gefunden, der das Argument "c:\temp\results.txt" akzeptiert.

#10 Dukel

Dukel

    Board Veteran

  • 9.307 Beiträge

 

Geschrieben 18. Dezember 2012 - 14:03

-FilePath
Am besten schaust du dir dann noch -append an:
out-file "Checking Free Disk Space" -FilePath c:\results.txt -Append -encoding ASCII

Stop making stupid people famous.


#11 Dutch_OnE

Dutch_OnE

    Board Veteran

  • 1.234 Beiträge

 

Geschrieben 18. Dezember 2012 - 14:07

out-file "Checking Free Disk Space" -FilePath c:\temp\results.txt -Append -Encoding ASCII

Jetzt kommt leider folgendes:

Out-File : Es wurde kein Positionsparameter gefunden, der das Argument "Checking Free Disk Space" akzeptiert.
Bei C:\Users\Administrator\Desktop\Check-Ex2010-Frequently.ps1:102 Zeichen:10
+ out-file <<<< "Checking Free Disk Space" -FilePath c:\temp\results.txt -Append -Encoding ASCII
+ CategoryInfo : InvalidArgument: (:) [Out-File], ParameterBindingException
+ FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.OutFileCommand

#12 Dukel

Dukel

    Board Veteran

  • 9.307 Beiträge

 

Geschrieben 18. Dezember 2012 - 14:13

Kennst du get-help?

-InputObject "foo" oder "foo" | out-file ...

Stop making stupid people famous.


#13 Dutch_OnE

Dutch_OnE

    Board Veteran

  • 1.234 Beiträge

 

Geschrieben 18. Dezember 2012 - 14:28

Ich habe das jetzt so wie auf der Seite gemacht und es scheint zu gehen.

httx://www.powershellpro.com/write-host/171/


Gruß Daniel

#14 Dutch_OnE

Dutch_OnE

    Board Veteran

  • 1.234 Beiträge

 

Geschrieben 19. Dezember 2012 - 15:37

Nun habe ich die Daten in einer Textdatei gespeichert.
Der nächste Schritt wäre es diese mit einer XML Datei auszuwerten und auf formatiert auf einen Webserver abzulegen.

Bin ich hier mit XML Fragen noch richtig, oder ist das Off-Topic?

Gruß Daniel