Benutzer mit den meisten Antworten
Progressbar bei get-service abfrage

Frage
-
Hallo zusammen
Ich bin noch kein Profi mit Powershell deshalb suche ich Hilfe:
Ich möchte das mein Progressbar solange die ForEach Schleife läuft im Loop immer läuft bis ich aus der Schleife bin, also es sollte immer von Anfang bis ans Ende hin und her im Loop Laufen könnt Ihr mir da helfen?
Hier ist mein Skript:
function checkinfo {
$outputBox.Clear()
$outputBox.Refresh()
$Progressbar.Clear()
$Progressbar.Referesh()$servers = $objListBox.text;
write host $servers
$OFS = “`r`n”
$Progressbar.Maximum = $servers.Count
$Progressbar.Step = 1
$Progressbar.Value = 0ForEach ($server in $servers) {
$objservices = Get-service -ComputerName $server -Name IBM*;
$ProgressBar.Value = $ProgressBar.Value + 1
$Progressbar.PerformStep()
$textboxentry = “”ForEach ($objservice in $objservices) {
$textboxentry = $textboxentry + $objservice.DisplayName + “:” + ‘ ‘ + $objservice.Status + $OFS}
}
$Check=$textboxentry
$outputBox.text=$Check}
- Verschoben Yavor TanevMicrosoft contingent staff Mittwoch, 11. Oktober 2017 09:46
Antworten
-
Hallo, bitte lies zuerst mal hier.
Ansonsten fällt mir spontan folgendes auf:
Das:
$ProgressBar.Value = $ProgressBar.Value + 1 $Progressbar.PerformStep()
ist doppeltgemoppelt und nicht gut.
Ersetze die beiden Zeilen mal durch:
$Progressbar.PerformStep() $Progressbar.Update()
Da ich mal annehme das dein Problem ist, das die Progessbar nicht den Fortschritt anzeigt.
Das Problem ist oft, das Code den GUI-Thread blockiert. Hier kann man versuchen, noch nach dem $Progressbar.Update()ein:
$meinFormName.Update()
hinzuzufügen. Wenn das nicht nutzt, wird komplizierter, aber probier das erstmal.
Grüße, Denniver
Blog: http://bytecookie.wordpress.com
Kostenloser Powershell Code Manager v5: Link
(u.a. Codesnippets verwalten + komplexe Scripte graphisch darstellen)
Hilf mit und markiere hilfreiche Beiträge mit dem "Abstimmen"-Button (links) und Beiträge die eine Frage von dir beantwortet haben, als "Antwort" (unten).
Warum das Ganze? Hier gibts die Antwort.- Bearbeitet Denniver ReiningMVP, Moderator Donnerstag, 12. Oktober 2017 08:13
- Als Antwort vorgeschlagen Denniver ReiningMVP, Moderator Dienstag, 17. Oktober 2017 23:33
- Als Antwort markiert Denniver ReiningMVP, Moderator Mittwoch, 25. Oktober 2017 21:35
Alle Antworten
-
Moin,
1. Bitte nutze den Codeblock im Editor, wenn Du Code postest! Dann werden nämlich auch die Einzüge, die Du hoffentlich gemacht hast, ordentlich wiedergegeben.
2. Es ist nicht ersichtlich, wie die Variablen definiert sind. Ich nehme an, das sind irgendwelche
3. Was erlebst Du denn jetzt, wenn Du die Funktion aufrufst?
Evgenij Smirnov
I work @ msg services ag, Berlin -> http://www.msg-services.de
I blog (in German) @ http://it-pro-berlin.de
my stuff in PSGallery --> https://www.powershellgallery.com/profiles/it-pro-berlin.de/
Exchange User Group, Berlin -> http://exusg.de
Windows Server User Group, Berlin -> http://www.winsvr-berlin.de
Mark Minasi Technical Forum, reloaded -> http://newforum.minasi.com -
Hallo, bitte lies zuerst mal hier.
Ansonsten fällt mir spontan folgendes auf:
Das:
$ProgressBar.Value = $ProgressBar.Value + 1 $Progressbar.PerformStep()
ist doppeltgemoppelt und nicht gut.
Ersetze die beiden Zeilen mal durch:
$Progressbar.PerformStep() $Progressbar.Update()
Da ich mal annehme das dein Problem ist, das die Progessbar nicht den Fortschritt anzeigt.
Das Problem ist oft, das Code den GUI-Thread blockiert. Hier kann man versuchen, noch nach dem $Progressbar.Update()ein:
$meinFormName.Update()
hinzuzufügen. Wenn das nicht nutzt, wird komplizierter, aber probier das erstmal.
Grüße, Denniver
Blog: http://bytecookie.wordpress.com
Kostenloser Powershell Code Manager v5: Link
(u.a. Codesnippets verwalten + komplexe Scripte graphisch darstellen)
Hilf mit und markiere hilfreiche Beiträge mit dem "Abstimmen"-Button (links) und Beiträge die eine Frage von dir beantwortet haben, als "Antwort" (unten).
Warum das Ganze? Hier gibts die Antwort.- Bearbeitet Denniver ReiningMVP, Moderator Donnerstag, 12. Oktober 2017 08:13
- Als Antwort vorgeschlagen Denniver ReiningMVP, Moderator Dienstag, 17. Oktober 2017 23:33
- Als Antwort markiert Denniver ReiningMVP, Moderator Mittwoch, 25. Oktober 2017 21:35