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 IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

PowerShell Variablen zwischen Skripten übergeben

Mitglied: BeyondHell

BeyondHell (Level 1) - Jetzt verbinden

25.03.2020 um 15:09 Uhr, 308 Aufrufe, 13 Kommentare, 6 Danke

Hallo,

ich hoffe ich bin hier richtig.
Mit PowerShell habe ich erst vor kurzem angefangen. Derzeit stehe ich vor folgendem Problem:

Skript 1: Grafische Oberfläche zur Abfrage einer ID, Prüfung dieser ID, Ausführen von Skript 2 wenn Abfrage der ID erfolgreich

Skript 2: Grafische Oberfläche zur Auswahl verschiedener durchführbarer Prozesse (weitere PowerShell Skripte)

Skript 3: Grafische Oberfläche für in Skript 2 gewählte Prozesse, falls für die Durchführung der Prozesse noch spezifische Daten angegeben werden müssen.

Skript 4 und mehr: die ganzen Skripte, die im Hintergrund ausgeführt werden sollen, wenn der Nutzer sie über Skript 1-3 auswählt.

Von Skript 1 muss ich zu Skript 2 also die ID übergeben. Von Skript 2 muss ich die ID den ausgewählten Skripten übergeben. Falls weitere Daten angegeben werden müssen wird die ID also auch in Skript 3 benötigt, von wo aus die ID und die dort angegebenen Daten an das letztendlich auszuführende Skript übergeben werden muss.

Ich hoffe ich konnte einigermaßen verständlich erklären um was es geht. Könnte mir wer erklären wie ich die Variablen am besten übergebe? Im Idealfall einfach bei der Übergabe der ID von Skript 1 zu Skript 2. Ich habe zwar Anleitungen gelesen, aber da waren mir die Beispiele zu abstrakt. Wenn ich es ein mal konkret bei meinem Problem korrekt angewendet sehe, dann kann ich es i.d.R. in Zukunft auch selbstständig selbst einsetzen. Dann macht es auch bei mir Klick.

Vielen lieben Dank!
Mitglied: Kraemer
25.03.2020 um 15:24 Uhr
Moin,

Parameter (param) ist dein Freund: https://www.script-example.com/powershell-skript

Gruß
Bitte warten ..
Mitglied: BeyondHell
25.03.2020 um 15:30 Uhr
So wie ich das bisher verstanden habe muss man die Parameter am Anfang deklarieren. Das wäre dann nicht möglich, denn die ID bekomme ich erst zur Laufzeit. Oder ist mit "am Anfang" wie es in vielen Anleitungen genannt wird, lediglich vor der Übergabe gemeint?
Danke für die schnelle Antwort!
Bitte warten ..
Mitglied: Kraemer
25.03.2020 um 15:35 Uhr
Zitat von BeyondHell:

So wie ich das bisher verstanden habe muss man die Parameter am Anfang deklarieren.
wo denn auch sonst? Du willst ja schließlich abhängig von dem Wert arbeiten

Das wäre dann nicht möglich, denn die ID bekomme ich erst zur Laufzeit.
die ist schon klar, das dein Script 1 keinen param braucht? Eben genau aus den von dir genannten Gründen

BTW: 2 kleine Testscripte hätte man in 2 Minuten geschrieben und könnte daraus eine Menge lernen und ableiten

Gruß
Bitte warten ..
Mitglied: erikro
25.03.2020 um 15:56 Uhr
Moin,

Zitat von BeyondHell:

So wie ich das bisher verstanden habe muss man die Parameter am Anfang deklarieren. Das wäre dann nicht möglich, denn die ID bekomme ich erst zur Laufzeit. Oder ist mit "am Anfang" wie es in vielen Anleitungen genannt wird, lediglich vor der Übergabe gemeint?
Danke für die schnelle Antwort!

Am Anfang heißt am Anfang. Vor dem PARAM-Block darf nichts stehen. So mal auf die Schnelle in Pseudocode:

Guckst Du auch hier:
https://www.msxfaq.de/code/powershell/psparam.htm

hth

Erik
Bitte warten ..
Mitglied: mayho33
25.03.2020 um 16:08 Uhr
Zitat von BeyondHell:

So wie ich das bisher verstanden habe muss man die Parameter am Anfang deklarieren.

Also! Du hast 2 Möglichkeiten. Entweder übergibst du einem Script die Argumente außerhalb einer Function:


oder innerhalb einer Function:

Im Beispiel 1 kannst du das Script und seine Parameter direct ansprechen:
Im Bespiel 2 geht das so:
Functions machst du, weil du so mehrere Methoden in einem File anlegen kannst und diese dann auch einzeln ansprechen kannst. Sprich: Bessere Steuerung.
Außerdem dient es der Lesbarkeit des Codes. Eine einzelne Function ist besser zu verstehen als 4 km Würstelcode.

Grüße!
Bitte warten ..
Mitglied: BeyondHell
25.03.2020 um 16:35 Uhr
So langsam machts Klick bei mir. Gerade das, was du hier geschrieben hast bringt mich ein ganzes Stück weiter. Vielen Dank dafür!
___

Ich hoffe ihr interpretiert die Fragen hier nicht einfach als Faulheit. Anleitungen, YT Videos,... Da war echt so vieles dabei und ich habe es wirklich nicht verstanden.
Bei C# wars recht ähnlich. Klassen erstellen und Aufrufen mit Parameterübergabe war für mich eine Katastrophe. Da habe ich die Anleitungen auch erst verstanden nachdem mir das bei meinem Code gezeigt wurde, obwohl es da komplizierter war. Danach war es mir auch unbegreiflich wie ich das nicht verstehen konnte. Bei meinen Scripten denke ich immer ein wenig mit "Gegenständen". Da habe ich alles bildlich vor mir, damit kann ich arbeiten. Sobald ich keinen effektiven Nutzen dahinter sehe und damit nichts bildliche habe wirds problematisch.
Ich werde das Ganze jetzt erst mal in abgespeckter Version ohne die GUI testen, falls es klappt dann auch im eigentlichen Script und mich so oder so nochmal melden.
Bitte warten ..
Mitglied: mayho33
25.03.2020 um 16:57 Uhr
Zitat von BeyondHell:

So langsam machts Klick bei mir. Gerade das, was du hier geschrieben hast bringt mich ein ganzes Stück weiter. Vielen Dank dafür!

Sehr gut! Zum Scripten in PS verwendest du am besten die ISE. Ist on Board und wirklich nicht schlecht. Du kannst mit F9 Haltepunkte setzen und schauen was in der Variablen so abläuft.

Hat mir anfangs sehr geholfen und ich verwende sie auch jetzt noch zum Entwickeln.
Bitte warten ..
Mitglied: BeyondHell
25.03.2020 um 18:59 Uhr
Ich habe definitiv einen Fehler beim Aufrufen von Script 2. Start-Process führt zum Öffnen der entsprechenden Textdatei.

Wie setze ich den Pseudo-Code von erikro an der Stelle "Skript.ps1 -id $ID" korrekt um?
Bitte warten ..
Mitglied: erikro
25.03.2020 um 19:02 Uhr
Wie wäre es, wenn Du uns mal zeigst, was Du hast? Bitte um das Skript < code> und </ code> (ohne die Leertasten) schreiben.
Bitte warten ..
Mitglied: BeyondHell
26.03.2020 um 07:40 Uhr
Eine 3/4 Nacht und 1h Schlaf später hab ichs gebacken bekommen. Jetzt stellt sich wie üblich die Frage, was daran so schwer war. An einigen anderen Stellen konnte ich es schon erfolgreich anwenden. Bei einer bastel ich gerade noch rum. Eine foreach-Schleife zur dynamischen Erstellung der Button-Click-Events. Mal sehen wie es da läuft. Ich muss jetzt weiter arbeiten, das Projekt müsste schon längst fertig sein.
Danke für eure Hilfe!
Bitte warten ..
Mitglied: mayho33
26.03.2020 um 10:24 Uhr
Zitat von BeyondHell:

Bei einer bastel ich gerade noch rum. Eine foreach-Schleife zur dynamischen Erstellung der Button-Click-Events.

Ich frage mich warum du unbedingt schon in der mittlerern Liga mitspielen willst, wenn du noch nicht mal die Grundlagen verstanden hast. So nagelst du dir nur selbst Bretter an den Kopf.

BSP:
  • Was ist ein Verb?
  • was ist ein Noun?
  • Wie setzen sich die Befehle in PS zusammen?
  • Was ist Piping und wie funktioniert es?
  • Was sind die Grund-Befehle in PS?
  • Das Dot.Net-Framework: Wie spreche ich es an?
  • Wie erstelle ich mir ein Objekt aus XY des Framework?

und wenn du von den Fragen oben einmal wenigstens eine Ahnung hast, dann kannst du dich mit dynamische Ereignissen befassen.
Schau dir nochmal die Grundlagen an. Bastel ein paar kleine Scripts und Methoden. Kombiniere sie, binde DLLs ein.

Nicht falsch verstehen! Ich will auch lieber die Lösung anstatt mich damit befassen zu müssen. Gegen Ende der Entwicklung musste ich aber meistens erkennen, dass es entweder..

  • schon ganz einfache Lösungen gab
  • PS, C#, sogar VBS in ihren Tiefen die Lösung auch schon liefern. Man muss sie nur kennen.

Grüße!
Bitte warten ..
Mitglied: BeyondHell
26.03.2020 um 15:08 Uhr
Anweisung von oben, da kann ich leider nichts machen. Mir wäre es auch lieber ich würde Grundlagen zuerst lernen.
Das ist nicht nur im Bereich PowerShell so.
Ich versuche außerhalb der Ausbildung Wissen zu erlangen, aber da komme ich im Prinzip nicht hinterher. Es heißt nur "mach mal, Google ist dein Freund, bis dahin muss das Ding fertig sein". In dem Fall unter der Anforderung dynamischer Aufbau wo es nur geht
Bitte warten ..
Mitglied: erikro
26.03.2020 um 15:22 Uhr
Zitat von BeyondHell:

Anweisung von oben, da kann ich leider nichts machen. Mir wäre es auch lieber ich würde Grundlagen zuerst lernen.
Das ist nicht nur im Bereich PowerShell so.
Ich versuche außerhalb der Ausbildung Wissen zu erlangen, aber da komme ich im Prinzip nicht hinterher. Es heißt nur "mach mal, Google ist dein Freund, bis dahin muss das Ding fertig sein". In dem Fall unter der Anforderung dynamischer Aufbau wo es nur geht

Hmmmmm, alle jammern über den Fachkräftemangel aber keiner will vernünftig ausbilden.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Powershell Skript fehlerhaft?
Frage von SpeakerSTBatch & Shell3 Kommentare

Hallo, ich habe mir ein Powershell Skript geschriebe was bisher auch immer funktioniert hat aber unter einem Windows Server ...

Batch & Shell
Powershell CHAT Skript
gelöst Frage von xpxy15Batch & Shell5 Kommentare

Hallo Zusammen Ich möchte gerne ein Skript schreiben. Mit dem man in Lokalen Netz verschlüsselt "chatten" kann. Meine Frage ...

Batch & Shell
Powershell Skript unsichtbar starten
gelöst Frage von paupau90Batch & Shell1 Kommentar

Hallo zusammen, im Augenblick rufe ich Batch Skripte wie folgt auf: invisible.vbs Leider habe ich es noch nicht hinbekommen ...

Windows Server
Powershell Skript Resize Disk
Frage von winlinWindows Server20 Kommentare

Ich habe folgenden Zweizeiler und versuche über einen Task Scheduler meine Disk nach dem ersten Neustart zu "resizen". Leider ...

Neue Wissensbeiträge
Internet

Aktuelle Netzauslastung in Deutschland durch die Covid-19-Pandemie

Information von Frank vor 6 StundenInternet4 Kommentare

Viele Bürger fragen sich, ob die Telekommunikationsnetze während der Covid-19-Pandemie der verstärkten Internetnutzung durch Home Office, eLearning, Videostreaming und ...

iOS

iOS-Bug unterbindet vollständiges VPN-Tunneling

Information von transocean vor 2 TageniOS

Moin, seit dem letzten Update hat iOS für iPhone und iPad ein Problem mit der Verschlüsselung. Lest selbst. Grüße ...

Sicherheit
Corona Malware über manipulierte Router
Information von sabines vor 2 TagenSicherheit

Heise berichtet über Malware, die in Zusammenhang zum Suchethema Corona steht und über DNS Einstellungen bei D-Link und Linksys ...

Windows 10
Windows 10 Update KB4535996 fehlerhaft
Information von Frank vor 2 TagenWindows 101 Kommentar

Laut Microsoft ist das Update KB4535996 die Ursache für aktuelle Verbindungsprobleme bei Virtual Private Networks (VPNs). Microsoft arbeitet bereits ...

Heiß diskutierte Inhalte
KVM
Best Practice für Fileserver auf Proxmox Cluster
gelöst Frage von maichelmannKVM17 Kommentare

Hallo, derzeit laufen in einer Firma, dessen Netzwerk ich betreue, zwei Windows Server Hyper-V Hosts, jeweils mit einem recht ...

Windows Server
DNS Problem Server 2019 unter Win10 Host
Frage von Ketme10Windows Server13 Kommentare

Guten Tag zusammen. Ich bräuchte mal Hilfe. Ich habe Win 10 und Hyper V laufen. Hier habe ich 4 ...

TK-Netze & Geräte
Netphone APP nimmt kein Kontakt auf
Frage von Finchen961988TK-Netze & Geräte12 Kommentare

Hallo, ich kämfpe mit einem Problem im Bereich Netphone und der Mobil APP. Bei einem Kunden habe ich eine ...

SEO
Was ist die neueste SEO-Technik, um eine Webseite zu bewerten?
gelöst Frage von clscomputerSEO11 Kommentare

Hallo Leute , Ich habe ein ernstes Problem mit der SEO für meine Website. Ich habe viele Leute ausprobiert ...