Script nur mit Zusatzparameter ausführen
Hallo liebe Community,
Heute gibt es meinerseits mal eine Frage zur gesicherten Ausführung von Powershell-Scripten:
Szenario:
Durch ein Programm soll bei einem Ereignis ein Powershell script gestartet werden.
Damit das Script nur durch das Programm gestartet werden kann, soll dem programminternen Script-Aufruf ein Parameter mitgegeben werden.
Beispiel:
programm X startet C:\nurduallein\startemich.ps1 mit Zusatzparameter -"nurichdarfdasstarten" C:\nurduallein\startemich.ps1 -"nurichdarfdasstarten"
Das ps1 soll seinerseits prüfen, ob sein Aufruf mit oder ohne mitgelieferten parameter -"nurichdarfdasstarten" gestartet wurde.
Quasi eine Notbremse, damit man nicht zufällig das Script ausführt, falls man doppelt drauf klickt.
unter BAT ging das Problemfrei mit einfügen der Zeilenam Start und Ende:
Frage:
wie kann ich dem Powershell eine Notbremse verpassen?
Gesucht habe ich schon vermehrt in GGL und üblichen Verdächtigen Foren auch MS, aber richtig fündig werde ich nicht.
LG Dom-Escher
Heute gibt es meinerseits mal eine Frage zur gesicherten Ausführung von Powershell-Scripten:
Szenario:
Durch ein Programm soll bei einem Ereignis ein Powershell script gestartet werden.
Damit das Script nur durch das Programm gestartet werden kann, soll dem programminternen Script-Aufruf ein Parameter mitgegeben werden.
Beispiel:
programm X startet C:\nurduallein\startemich.ps1 mit Zusatzparameter -"nurichdarfdasstarten" C:\nurduallein\startemich.ps1 -"nurichdarfdasstarten"
Das ps1 soll seinerseits prüfen, ob sein Aufruf mit oder ohne mitgelieferten parameter -"nurichdarfdasstarten" gestartet wurde.
Quasi eine Notbremse, damit man nicht zufällig das Script ausführt, falls man doppelt drauf klickt.
unter BAT ging das Problemfrei mit einfügen der Zeilenam Start und Ende:
Code Start:
if not **%1xx==nurichdarfdasstartenxx** goto @@+++Notbremse@@
...
...Befehle...
...
Code Ende:
:@@+++**Notbremse**@@
Frage:
wie kann ich dem Powershell eine Notbremse verpassen?
Gesucht habe ich schon vermehrt in GGL und üblichen Verdächtigen Foren auch MS, aber richtig fündig werde ich nicht.
LG Dom-Escher
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 1739088592
Url: https://administrator.de/forum/script-nur-mit-zusatzparameter-ausfuehren-1739088592.html
Ausgedruckt am: 22.04.2025 um 08:04 Uhr
5 Kommentare
Neuester Kommentar
Hi,
"-nurichdarfdasstarten" als notwendigen (mandatory) Switch-Parameter angeben?
Siehe z.B. https://www.krausmueller.de/2015/11/26/powershell-parameter/
Vor dem "[switch]" noch ein "[Parameter(Mandatory=$true)]" müsste es richten.
E.
"-nurichdarfdasstarten" als notwendigen (mandatory) Switch-Parameter angeben?
Siehe z.B. https://www.krausmueller.de/2015/11/26/powershell-parameter/
Vor dem "[switch]" noch ein "[Parameter(Mandatory=$true)]" müsste es richten.
E.
Moin,
nein, das würde so nicht funktionieren.
Wenn man Mandatory=$true setzt und das ohne diesen Parameter ausführt, würde das Skript anlaufen auf Eingabe eines Wertes warten (bei einem Switch auf Eingabe eines [bool]-Wertes). Wenn das Skript im Hintergrund läuft, bleibt der Prozess so aktiv!
Der bessere Weg ist hier, Mandatory wegzulassen (oder auf false zu setzen), und das Skript enden zu lassen, wenn der Switch auf false steht.
Gruß Thomas
nein, das würde so nicht funktionieren.
Wenn man Mandatory=$true setzt und das ohne diesen Parameter ausführt, würde das Skript anlaufen auf Eingabe eines Wertes warten (bei einem Switch auf Eingabe eines [bool]-Wertes). Wenn das Skript im Hintergrund läuft, bleibt der Prozess so aktiv!
Der bessere Weg ist hier, Mandatory wegzulassen (oder auf false zu setzen), und das Skript enden zu lassen, wenn der Switch auf false steht.
if (!$nurichdarfdasstarten) { return }
Gruß Thomas
Siehe Antwort in deinem zweiten Beitrag
Powershell-Script-Verknüpfung mit Parameter "-emergency" in ZIEL als Schutz vor falscher Ausführung
Ich schließe diesen hier deshalb (Doppelpost).
Grüße @colinardo (Mod)
Powershell-Script-Verknüpfung mit Parameter "-emergency" in ZIEL als Schutz vor falscher Ausführung
Ich schließe diesen hier deshalb (Doppelpost).
Grüße @colinardo (Mod)