Ps2exe kennt -AsArray nicht
Hallo zusammen,
ich hoffe, ihr könnt mir weiter helfen.
Mein PowerShell-Skript funktioniert (PowerShell 7.3.9 / .NET 7) Nun wollte ich alles in eine *.exe packen, damit der Code weder direkt sichtbar, noch editierbar ist.
Nach einer Recherche bin ich auf ps2exe (Version 1.0.13) gestoßen. Das hat auch super funktioniert, nur bricht die Ausführung beim Programmteil ab, bei dem ich "-AsArray" nutze (siehe Bild):
"Es wurde kein Parameter gefunden, der dem Parameternamen "AsArray" entspricht.
Benutzt wird es nur an dieser Stelle:
Ich bin mir nicht sicher, welche .NET Version ps2exe nutzt, aber eigentlich doch die Version, welche auch mein Skript nutzt.
AsArray gibt es scheinbar ja noch nicht so lange...
Kennt jemand das Problem bzw. eine Lösung?
Einen Workaround ohne "-AsArray" habe ich leider bisher nicht finden können.
Vielen Dank im Voraus, für Lösungen wäre ich seeehr dankbar!
Grüße
ich hoffe, ihr könnt mir weiter helfen.
Mein PowerShell-Skript funktioniert (PowerShell 7.3.9 / .NET 7) Nun wollte ich alles in eine *.exe packen, damit der Code weder direkt sichtbar, noch editierbar ist.
Nach einer Recherche bin ich auf ps2exe (Version 1.0.13) gestoßen. Das hat auch super funktioniert, nur bricht die Ausführung beim Programmteil ab, bei dem ich "-AsArray" nutze (siehe Bild):
"Es wurde kein Parameter gefunden, der dem Parameternamen "AsArray" entspricht.
Benutzt wird es nur an dieser Stelle:
$value_Json = $value_Base64Array | ConvertTo-Json -AsArray
Invoke-RestMethod -Uri $url -Method Put -Body $value_Json -ContentType 'application/json' -UseDefaultCredentials
Ich bin mir nicht sicher, welche .NET Version ps2exe nutzt, aber eigentlich doch die Version, welche auch mein Skript nutzt.
AsArray gibt es scheinbar ja noch nicht so lange...
Kennt jemand das Problem bzw. eine Lösung?
Einen Workaround ohne "-AsArray" habe ich leider bisher nicht finden können.
Vielen Dank im Voraus, für Lösungen wäre ich seeehr dankbar!
Grüße
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 23084184646
Url: https://administrator.de/forum/ps2exe-kennt-asarray-nicht-23084184646.html
Ausgedruckt am: 12.05.2025 um 12:05 Uhr
12 Kommentare
Neuester Kommentar

Hi.
Gruß schrick
Einen Workaround ohne "-AsArray" habe ich leider bisher nicht finden können.
Das packt ja alles nur in Square-Brackets für ein Array. Einfach stattdessen so schreiben, kommt das selbe bei raus, dann brauchst du -AsArray nicht (den gibt es erst ab PS Version 7):$value_Json = $value_Base64Array | ConvertTo-Json
Invoke-RestMethod -Uri $url -Method Put -Body "[$value_Json]" -ContentType 'application/json' -UseDefaultCredentials
Nun wollte alles in eine *.exe packen, damit der Code weder direkt sichtbar, noch editierbar ist.
Du bist dir bewusst, dass dieser Schutz nicht existent ist, oder? Wenn man die exe mit dem Parameter -u (wenn ich mich nicht irre) startet, dann entpackt sich das Ganze zu der ursprünglichen .ps1Edit: siehe @mbehrens: es ist -extract:<FILENAME>
Zitat von @DerWoWusste:
Nun wollte alles in eine *.exe packen, damit der Code weder direkt sichtbar, noch editierbar ist.
Du bist dir bewusst, dass dieser Schutz nicht existent ist, oder? Wenn man die exe mit dem Parameter -u (wenn ich mich nicht irre) startet, dann entpackt sich das ganze in zu der ursprünglichen .ps1-extract:<FILENAME>

Zitat von @North89:
Es werden Daten auf Geräte in der industriellen Produktion geschrieben - das soll nicht jeder machen können
Und wenn jemand das Skript recht einfach manipulieren kann, würde ich es schon gerne verhindern - zumindest so gut es geht...
Es werden Daten auf Geräte in der industriellen Produktion geschrieben - das soll nicht jeder machen können
Und wenn jemand das Skript recht einfach manipulieren kann, würde ich es schon gerne verhindern - zumindest so gut es geht...
Skript signieren und nur signierte Skripte erlauben. Credentials gehören auch niemals in Skripten gespeichert. Lass es dann über einen entsprechenden Service-Account ausführen je nach Aufgabe.