Powershell-Skript ausführen

OP #6359819
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?
#6359833
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.
OP #6359868
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 ;-)
#6359889
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
Gast #6360509
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren