real_tarantoga 11 Geschrieben 26. Dezember 2019 Melden Geschrieben 26. Dezember 2019 Hallo Board, ich hoffe, Eure Weihnachtstage waren schmackhaft und freundlich. ;) Für eine PoSh-Scriptlösung suche ich nach einer "Schleifenoptimierung" - aktuell dauert die Abfrage ewig (etwa 900 Serverobjekte). Ich frage mich, wie der Code dazu gebracht werden könnte, parallel/asynchron verarbeitet zu werden statt mittels foreach Scheibchen für Scheibchen ... Foreach ($i in $BI_VMs.Name) { $coc = Test-Connection -Quiet -Count 2 -ComputerName $i if ($coc -eq $false) { [array]$BI_Offline += $i Write-Host $i } } Vielen Dank für eure Ideen! Und allen einen sanften Rutsch nach 2020! Gruß, r_t
MurdocX 1.004 Geschrieben 26. Dezember 2019 Melden Geschrieben 26. Dezember 2019 Nutze die Jobs :) https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/start-job?view=powershell-6
testperson 1.866 Geschrieben 26. Dezember 2019 Melden Geschrieben 26. Dezember 2019 Hi, ForEach -Parallel: https://docs.microsoft.com/en-us/powershell/module/psworkflow/about/about_foreach-parallel?view=powershell-5.1 Gruß Jan
MurdocX 1.004 Geschrieben 26. Dezember 2019 Melden Geschrieben 26. Dezember 2019 Der Befehl ist tatsächlich Workflow fähig. schau mal hier: https://devblogs.microsoft.com/scripting/use-powershell-workflow-to-ping-computers-in-parallel/
BOfH_666 586 Geschrieben 26. Dezember 2019 Melden Geschrieben 26. Dezember 2019 Eine kleine Beschleunigung ohne großen Aufwand könntest Du bereits dadurch erreichen, jeden Server nicht 2 mal anzupingen, sondern nur einmal. $Result = Foreach ($VMName in $BI_VMs.Name) { [PSCustomObject]@{ Name = $VMName Online = Test-Connection -Quiet -Count 1 -ComputerName $VMName } } $Result
daabm 1.434 Geschrieben 26. Dezember 2019 Melden Geschrieben 26. Dezember 2019 vor 3 Stunden schrieb testperson: ForEach -Parallel: https://docs.microsoft.com/en-us/powershell/module/psworkflow/about/about_foreach-parallel?view=powershell-5.1 Und ich Noob hab mir da extra einen abgewurstelt, um das in Jobs laufen zu lassen - ok, ich teste auch nicht nur einen Port, sondern alle AD-relevanten, und das Ergebnis soll dann auch noch "schön" in einem Gridview aussehen. Ich werd echt alt, ich kann kaum noch Schritt halten mit dem ganzen neuen Zeugs... :-(
real_tarantoga 11 Geschrieben 27. Dezember 2019 Autor Melden Geschrieben 27. Dezember 2019 (bearbeitet) hui, so viele antworten. DANKE! an die jobs hatte ich zwar gedacht. aber nur dran denken, hatte noch nicht gereicht ... ^^ das wird wohl die lösung werden - der foreach -parallel klingt aber auch gut. den kannte ich noch nicht . @bofh_666 & daabm - ich hab das nur exemplarisch geschrieben. im eigentlichen script passiert noch einiges mehr - aber ich wollte nur die haupthürde "foreach" klar machen. nochmals, dank an euch! gruß, r_t bearbeitet 27. Dezember 2019 von real_tarantoga
BOfH_666 586 Geschrieben 27. Dezember 2019 Melden Geschrieben 27. Dezember 2019 (bearbeitet) vor 2 Stunden schrieb real_tarantoga: ich hab das nur exemplarisch geschrieben. im eigentlichen script passiert noch einiges mehr Oh ... Du hast also ein Problem, nur ein ganz anderes, als Du uns hier beschrieben hast ... hmmmm bearbeitet 27. Dezember 2019 von BOfH_666
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden