mayho33
Goto Top

Powershell Zeile in Command-Line löschen

Hi @ All

Ich möchte meine Ausgabe in der PS-Shell (Command-Line, das "blaue" Fensterchen) anpassen und suche nach Lösungsansätzen.
Für eure Unterstützung wäre ich, wie immer, sehr dankbar!

Was mache ich:
Ich habe einige CmdLets erstellt die Installationen und Deinstallationen via SCCM durchführen und formatiert loggen. Läuft normalerweise alles Silent, aber in speziellen Fällen nicht.

Um das Logging gehts.

Mein CmdLet (Write-Log) schreibt gestaffelt je nach Need in das Log und gleichzeitig in die Ausgabe. Das ganze via NLog
Bsp: Write-Log -Header, Write-Log -Block, Write-Log -Enty, Write-Log -FinishBlock, usw.

Weil einige Installation sehr lange laufen gebe ich ein paar Sternchen als eine Art Fortschrittsbalken aus.
ps-1

Das passiert zwischen Write-Log -Enty und Write-Log -FinishBlock

Was will ich tun:
Um die im Bild rot umrandete Ausgabe gehts. Die möchte ich löschen bevor ich Write-Log -FinishBlock schreibe damit die Formatierung schön aussieht.

Die Frage ist:
Wie stelle ich das an?

Danke für eure Hilfe!

Grüße!

mayho

Content-ID: 632190

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

Ausgedruckt am: 23.11.2024 um 22:11 Uhr

146707
146707 16.12.2020 aktualisiert um 16:25:45 Uhr
Goto Top
Kann man, wenn man muss
1..10 | %{
    write-host "*" -NoNewline  
    sleep -Milliseconds 200
}
write-host "`r$(' '*$host.UI.RawUI.WindowSize.Width)" -NoNewline  
Read-Host
Aber wieso nutzt du nicht dass CMDLet das für solche Anzeigen extra geschaffen wurde: Write-Progress ?

1..100 | %{write-progress -Activity "Working on XXXX" -Status "Currently doing something" -PercentComplete $_; sleep -Milliseconds 20}  
mayho33
mayho33 16.12.2020 um 16:44:52 Uhr
Goto Top
Zitat von @146707:

Kann man, wenn man muss
> 1..10 | %{
>     write-host "*" -NoNewline  
>     sleep -Milliseconds 200
> }
> write-host "`r$(' '*$host.UI.RawUI.WindowSize.Width)" -NoNewline  
> Read-Host
> 
Aber wieso nutzt du nicht dass CMDLet das für solche Anzeigen extra geschaffen wurde:

Wenn ich mich recht erinnere hat dieses CmdLet ein Problem mit Aufrufen aus der %Comspec% Es wirft dann einen Fehler. Kann aber auch eine Verwechslung sein. Muss es ausprobieren.

Danke für den Tipp!
146707
Lösung 146707 16.12.2020 aktualisiert um 16:48:54 Uhr
Goto Top
Zitat von @mayho33:
Wenn ich mich recht erinnere hat dieses CmdLet ein Problem mit Aufrufen aus der %Comspec% Es wirft dann einen Fehler.
Kann ich nicht bestätigen klappt hier auch beim Aufruf aus der CMD problemlos.
mayho33
mayho33 22.12.2020 um 02:27:24 Uhr
Goto Top
Konnte es jetzt endlich mal ausprobieren. Funkt tatsächlich und schaut auch schön aus.

Danke für den Tipp.