Forum: PC-Programmierung Powershell-Skript ausführen


von Uhu U. (uhu)


Lesenswert?

Ich habe für einen Bekannten ein Skript geschrieben und habs ihm gezippt 
geschickt, in der Hoffnung, das würde ausreichen, um es ohne Klimmzüge 
auszuführen. Das hat leider nicht funktioniert.

Nun steht er vor dem Problem, ohne Windows-Kenntnisse die 
Windows-Sicherheitsrichtlinien so zu ändern, dass das Skript laufen 
kann. Ich möchte sein System aber nicht so einstellen, dass alle Skripte 
ausgeführt werden können.

Eine gangbare Alternative wäre die Sicherheitsrichtlinie AllSigned, die 
die Ausführung auf dem System geschriebener Skripte erlaubt.

Wie schafft man es, dem System ein fremdes Skript als selbst geschrieben 
unterzuschieben?

Reicht es, es in einen Editor zu laden, irgendwo ein Leerzeichen 
zuzufügen und wieder weg zu löschen und das Ganze dann zu speichern?

von Felix U. (ubfx)


Lesenswert?

Uhu U. schrieb:
> Eine gangbare Alternative wäre die Sicherheitsrichtlinie AllSigned, die
> die Ausführung auf dem System geschriebener Skripte erlaubt.

Hä? Es steckt doch schon im Namen drin, dass da eine Signatur 
erforderlich ist. Jetzt kannst du natürlich ein Zertifikat installieren 
und den Kram dann signieren, wo das Skript geschrieben wurde ist für 
AllSigned unerheblich.

Du meinst wahrscheinlich "RemoteSigned", das bezieht sich wiederum auf 
eine Markierung als "aus dem Internet heruntergeladen" im Alternate Data 
Stream.

Ob das jetzt der Sicherheit tatsächlich zuträglich ist oder einfach eine 
Spielerei ist, sei mal dahingestellt. Es scheint ja nicht so schwer zu 
sein, an entsprechende Zertifikate zu kommen.

: Bearbeitet durch User
von Uhu U. (uhu)


Lesenswert?

Felix U. schrieb:
> Du meinst wahrscheinlich "RemoteSigned", das bezieht sich wiederum auf
> eine Markierung als "aus dem Internet heruntergeladen" im Alternate Data
> Stream.

Ja, so war es gedacht.

> Es scheint ja nicht so schwer zu sein, an entsprechende Zertifikate
> zu kommen.

Kannst du mir einen Tipp geben? Meine Windowskenntnisse sind auf dem 
Stand XP eingefroren ;-)

von Felix U. (ubfx)


Lesenswert?

Uhu U. schrieb:
> Kannst du mir einen Tipp geben? Meine Windowskenntnisse sind auf dem
> Stand XP eingefroren ;-)

Damit war gemeint: Es ist für jemanden, der es übel meint nicht schwer, 
an ein Zertifikat zu kommen und damit trotz "RemoteSigned" Dinge bei 
deinem Bekannten auszuführen.

Für dich als wohlmeinenden ist es natürlich noch viel einfacher, du 
generierst ein Zertifikat ("makecert" oder openssl) und importierst das 
als vertrauenswürdig auf seinem Rechner. Dann signierst du damit dein 
Skript (Set-AuthenticodeSignature). Fertig

: Bearbeitet durch User
von WIRO (Gast)


Lesenswert?

Schicke ihm das Skript und eine solche Batch, die das Skript aufruft:
1
powershell.exe  set-executionpolicy remotesigned
2
powershell.exe -command "& '.\skript_x.ps1'"
3
powershell.exe  set-executionpolicy restricted
Er muss dann die Batch starten, um das Skript auszuführen.

Gruß
WIRO

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.