Frage

Ich versuche, einige LogParser -Befehle von PowerShell auszuführen, aber ich habe Probleme damit, die Argumente richtig zu übergeben. Hier ist der Auszug aus meinem Skript.

D: scripting SMTPLOGS LogParser logParser.exe "Wählen Sie Top 50 -Empfänger aus, zählen Sie (zählen Sie sie) In%tmpoutput% topReciversndall.gif von%tempdir% postall.log wobei der Absender '<>' und Empfänger nicht mögen '%% go-fmtopper %%' Gruppe nach Empfängerbestellung nach Count (Count (Count) Desc "-i: tsv -ISeparator: Space -Hadeerrow: Off -iheaderFile:" Header3.tsv "-LineFilter:"+10. "-O: chart -chartType: columnclustered -config: myscript.js -charttitle:" Empfänger Für NULL -Nachrichten alle für %DateGraph %"

Ich habe Ladungen über die Einkapselung von Argumenten gelesen, kann aber nicht herausfinden, wie man diese Arbeit macht!

Jede Hilfe, die ihr leisten könnt, wäre sehr geschätzt.

Vielen Dank

War es hilfreich?

Lösung

Versuchen Sie für einen komplexen String -Parameter, das Argument mit PowerShell zu übergeben Hier Damit müssten Sie sich keine Sorgen machen, Single/Double -Zitate zu entkommen

Update1: Ich konnte das Fomrating nicht zum Laufen bringen, also hier ist der Screenshot.alt text

Update2: Ich konnte den Code endlich formatieren.

d:\scripting\smtplogs\logparser\logparser.exe @"
SELECT TOP 50 Receiver, COUNT() 
INTO %TMPOutput%\TopReceiversNDRALL.gif 
FROM %TempDir%\PostAll.log 
WHERE Sender LIKE '' 
      AND Receiver NOT LIKE '%%go-fmtopper%%' 
GROUP BY Receiver 
ORDER BY COUNT() DESC" 
-i:TSV 
-iSeparator:space 
-headerRow:OFF 
-iHeaderFile:"header3.tsv" 
-lineFilter:"+10." 
-o:CHART 
-chartType:ColumnClustered 
-config:MyScript.js 
-chartTitle:"Receivers for NULL messages ALL for %DateGraph%
"@

Stellen Sie sicher, dass Sie eine neue Linie zwischen den hier-String-Monikern hinzufügen @" und "@.

Andere Tipps

Zu Ihrer Information, wenn Sie keine variable PowerShell -Expansion benötigen, sind Sie hier besser dran, wenn Sie eine einzelne hier angegebene Zeichenfolgen verwenden. Zum Beispiel kann die folgende hier zitierte String -String Ihnen eine Trauer verursachen:

@"
$(get-process <some_core_os_process> | stop-process)
"@

wo Folgendes harmlos ist:

@'
$(get-process <some_core_os_process> | stop-process)
'@

Es ist nicht wahrscheinlich, dass Ihre hier etwas so Offensichtliche etwas so Offensichtliches enthält, aber ein einfaches $ f würde sich auf nichts entschließen, dh es würde aus der ursprünglichen Zeichenfolge verschwinden. Es sei denn, $ f wurde natürlich definiert und auf etwas anderes als Null oder Leer eingestellt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top