Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWünsch Dir wasWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Powershell: Unterstützung bei Start-Job benötigt im Hinblick auf Ein- und Ausgabeparameter

Mitglied: Herbstengel

Herbstengel (Level 1) - Jetzt verbinden

04.04.2020 um 21:45 Uhr, 285 Aufrufe, 4 Kommentare

Hallo Community,

ich bräuchte bitte mal wieder etwas "Nachhilfe" zum Thema Start-Job bei Powershell.

Ich habe dazu folgende Aufgabe "konstruiert": Es handelt sich um einen Prozess (Division mit Restwertvorgabe) der vier Eingabe- und zwei Rückgabewerte verwertet.

Eingabewerte: Nummernbereich 0...100, Divisor, Divisionsrest, Quotient; Ausgabe: Ergebnis und Merker für Schleifenabbruch, d.h. erstem Treffer

verbale Formulierung:
Aus dem vorgegebenen Nummernbereich soll diejenige Zahl gefunden werden, bei welcher der vorgegebene Divisionsrest erreicht wird, sobald der vorgegebene Quotient den
angegebenen ganzzahligen (Mindest)wert erreicht hat. Als Ergebnis soll die gefundene Zahl und ein Merker für den Treffer ausgegeben werden:

zunächst die Variante ohne Start-Job:

Funktioniert soweit einwandfrei:
....
97
98
99
100

Fertig mit ForEach-Object über den Bereich 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 zum
Bestimmen der Zahl aus diesem Bereich mit einem Divisionsrest von 7, wenn die Division mit 42 mindestens groesser/gleich 1 ist

Ergebnis: 49
FinishLoop hat den Wert True



Nun habe ich den Prozessablauf auf Start-Job umgebaut. Um die Suche im Hintergrund ablaufen zu lassen und ggf. einen Warteablauf ablaufen zu lassen.
Leider ist da mindestens ein entscheidender Fehler drin, denn die while-Schleife wird nicht verlassen: Endlosschleife.
Ich habe natürlich so gut es ging recherchiert, komme aber leider nicht weiter und benötige die Unterstützung von euch, vielen Dank schon mal.

Grüsse, Roger


Mitglied: 143728
LÖSUNG 05.04.2020, aktualisiert um 09:17 Uhr
Bitte warten ..
Mitglied: Herbstengel
05.04.2020 um 14:41 Uhr
Hallo caprinha,

danke für Deine Antwort. Hat mir gezeigt dass ich nicht ganz falsch lag. Du hast mir aber die while-Schleife und das Foreach-Object herausgestrichen. Das sollte schon drin bleiben. Ich habe nun eine Lösung gefunden, die nach meinen Vorstellungen funktioniert, s.u.

Eine Spezialfrage noch: kann man in der Argumenten- und Parameterliste von Start-Job auch Referenztypen übergeben? z.B.
[ref]$result (argumentlist) bzw. [ref]$p_result (param_liste). Im Scriptblock könnten man dann mit $p_result.value eine Wertzuweisung
machen und diesen Wert dann im Hauptlauf mit $result weiterverarbeiten...

Bisher meckert mir das powershell aber an

Bitte warten ..
Mitglied: 143728
LÖSUNG 05.04.2020, aktualisiert um 15:21 Uhr
Zitat von Herbstengel:

Hallo caprinha,
Also für eine Caprisonne bin ich dann doch schon zu alt .
Du hast mir aber die while-Schleife und das Foreach-Object herausgestrichen.
Macht aber genau das selbe ohne das überflüssige Gedöhns

Eine Spezialfrage noch: kann man in der Argumenten- und Parameterliste von Start-Job auch Referenztypen übergeben? z.B.
Nein, ein Job wird in einem anderen Thread ausgeführt.
Für separate Threads nutzt man heutzutage aber eher Runspaces anstatt Jobs (Jobs sind ja ehrlich gesagt ziemlich lahm ...) und nutzt dann eine synced Hashtable die zwischen den Threads synchronisiert wird.
Alternativ wenn Parallelisierung gewünscht ist kann man auch mit Powershell Workflows arbeiten.
Du kannst auch in dem Job ein PSObject mit allen deinen Werten als Eigenschaften zurückgeben und dann im Hauptthread aus dem Object abfragen.
Bitte warten ..
Mitglied: Herbstengel
05.04.2020, aktualisiert um 21:12 Uhr
Hallo cabrinha,

erneut danke für Deine Antwort. Da ich noch ein ziemlich blutiger Powershell-Anfänger bin, habe ich mich für den Weg mit einem PSObject , worin meinen beiden "Return-Werte" als Eigenschaften enthalten sind, die beide dann im Hauptthread aus dem Object abgefragt werden. Code: s.u.

In der while-Schleife läuft im eigentlichen Projekt dynamisch eine Progressbar in einer GUI. Die brauche ich dann schon.

Ich musste mir ein diesem konstruiertem Beispiel erstmal mein Verständnis für die Anwendung von Start-Job schärfen.

Ich denke das ist mir nun soweit klar. Vielleicht kann jemand anderes auch noch was damit anfangen...

Anfrage hiermit aus meiner Sicht gelöst

viele Grüsse, Roger

Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Powershell - LastExitCode aus Job?
gelöst Frage von Markus2016Batch & Shell7 Kommentare

Hallo zusammen, über einen Job starte ich eine vbs und versuche über $LastExitCode auf Fehler zu reagieren. Ich dachte, ...

Batch & Shell
Powershell start-process
gelöst Frage von Cougar77Batch & Shell4 Kommentare

Guten Morgen, ich habe da ein kleines Problem, das ich nicht ganz verstehe. Es geht um ein kleines Powershell-Skript, ...

Batch & Shell

An "Start" anheften - Powershell

Frage von today12Batch & Shell9 Kommentare

Hallo Leute, ich versuche mittels Powershell einen Ordner in Start anzuheften. Ich verfolge gerade die Methode über das "Kontextmenü" ...

Batch & Shell

Powershell start-process cmd mit Parametern

gelöst Frage von mschaedler1982Batch & Shell4 Kommentare

Hallo zusammen, wahrscheinlich wieder nur ein kleines Problem Ich will aus PowerShell einen start-process Befehl abschicken unter cmd funktioniert ...

Neue Wissensbeiträge
Windows Netzwerk

SCOM ( System Center Operations Manager ) um eine E-Mailschnittstelle erweitern

Anleitung von Juanito vor 1 StundeWindows Netzwerk

Einleitung System Center Operations Manager (SCOM) ist Microsoft's Lösung zum Überwachen von Servern. Dazu zählt die generelle Erreichbarkeit, Festplattenspeicher, ...

Humor (lol)
BioShield gegen 5G
Information von magicteddy vor 1 TagHumor (lol)3 Kommentare

Moin wer sich gegen die hochgefährlichen 5G schützen möchte wird hier fündig: 5GBioShield "gegen 5G-Strahlung" Ich glaube, ich sollte ...

Windows Server

ScheduledTasks mit einem Group-Managed-Service-Account (GMSA) ausführen

Anleitung von ToniHo vor 1 TagWindows Server

Hallo zusammen, wer schonmal versucht hat ein Group-Managed-Service-Account (GMSA) auf einem bestehenden ScheduledTask einzutragen, ist an der GUI vermutlich ...

Humor (lol)
Anti 5G USB Stick
Information von Ex0r2k16 vor 1 TagHumor (lol)14 Kommentare

Perfekt für den Freitag, findet sich hier ein Businesspartner der mit mir zusammen einen Anti 6G Esoterik Stick rausbringt? ...

Heiß diskutierte Inhalte
Windows 10
Win 10 Problem Intergeschwindigkeit aber LAN OK
Frage von helpmikeWindows 1021 Kommentare

Hallo, versuche mal das Problem zu beschreiben. Der PC (i5 9600 / 16 GB / H370M / Intel 1 ...

Festplatten, SSD, Raid
WD My Book Platine tauschen?
gelöst Frage von WandaStaabFestplatten, SSD, Raid19 Kommentare

Schönen guten Abend! Eine Bekannte bat mich, ihre externe Festplatte, eine WD My Book 4TB (wdbfjk0040hbk-04), anzuschauen, die sich ...

Router & Routing
Portfreigabe NAS Fritzbox
gelöst Frage von dbox3Router & Routing14 Kommentare

Hallo zusammen, ich habe ein Netzwerk eingerichtet (s.Bild) bei dem ich auf dem NAS der FB7490 mit der IP ...

Exchange Server
Windows Exchange Server 2010 ablösen durch neuen Exchange Server 2016 - Was beachten
Frage von server0815Exchange Server14 Kommentare

Hallo, ich habe die Aufgabe bekommen unseren nun schon etwas in die Jahre gekommenen Exchange Server 2010 (Version 14.03.0487.000) ...