klawitter
Goto Top

Powershell erzeugt Zeilenumbruch bei Ausführung über die Aufgabenplanung

Hi,

ich habe gerade mein erstes Powershell Skript geschrieben und scheitere auf der Zielgeraden ...

Das Skript funktioniert beim direkten Start hervorragend. Wenn ich das gleiche Skript jedoch auf einem Windows 2008 Server über die Windows Aufgabenplanung ausführe, dann generiert mir Powershell einen Zeilenumbruch nach 80 Zeichen. Das betreffende Kommando lautet:

get-content $inputFile | select-string -simple "Suchtext" > $checkFile

Gewünscht ist, dass ich über obiges Kommando die Zeilen extrahiere, in welchen der Suchbegriff vorhanden ist. Die Zeilen im Inputfile haben eine Länge von ca. 150 Character. 2 Zeilen enthalten den gesuchten Begriff. Bei Ausführung über die Aufgabenplanung erhalte ich jedoch 4 Zeilen in dem "Checkfile", wobei Zeile 1 und 3 80 Charater lang sind und die Zeilen 2 und 4 jeweils den Rest der ursprünglichen Zeilen enthalten.

Leider verstehe ich das unterschiedliche Verhalten nicht und es ist mir unerklärlich, warum ich, je nachdem, wie das Skript gestartet wird unterschiedliche Ergebnisse bekomme.

Hat jemand einen Tipp, wie sich dieser Seiteneffekt abstellen läßt?

Danke und Gruss, Klawitter

Content-ID: 194496

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

Ausgedruckt am: 22.11.2024 um 09:11 Uhr

AB-Sys
AB-Sys 19.11.2012 um 14:31:09 Uhr
Goto Top
Versuch nach Select-String
" | Select-Object -ExpandProperty Line"

In welchem Kontext startest du das über die Aufgabenplanung?
klawitter
klawitter 20.11.2012 um 07:46:46 Uhr
Goto Top
Ich nutze in der Aufgabenplanung die Aktion "Programm starten" und der aufruf lautet dann "powershell - noninteractive -command "&{script.ps1}"

Aber ich habe mittlerweile eine Lösung ergoogelt:

Get-Content $InputFile | select-string -simple "Suchtext" | Out-String -Width 1024 > $checkFile

Laut gefundener Beschreibung wird bei der Ausführung über die aufgabenplanung die Standard-Fenstergröße von 80 Characters angenommen. Beim manuellen Start nutze ich ein Fenster mit 132 Characters. Das ist zwar immer noch kleiner als die Recordlänge, funktionierte aber dennoch. Wie auch immer mit "Out-String" ist das Problem gelöst.

Dennoch danke für Deine Hilfe!