Powershell Set-Executionpolicy klappt nicht
Hallo,
ich versuche die Executionpolicy automatisch an einem neuen Rechner zu setzen und ein Skript auszuführen.
Während das Programm läuft sind Skripte auch erlaubt, aber die Executionpolicy steht im Powershell Fenster weiterhin restricted.
C++ Programm frägt nach Adminrechten und soll das umsetzen:
danach wird das Powershell-Skript aufgerufen:
Das Powershell-Skript selbst versucht auch noch die ExecutionPolicy zu setzen (level:Verzweiflung):
Am Ende ist hier die ExecutionPolicy tatsächlich gesetzt:
Aber nicht da wo es soll:
mit RunAs habe ich es probiert, aber mit NoNewWindow verträgt es sich nicht. Jedenfalls nicht so wie ich es probiert habe. Tipps?
Danke.
ich versuche die Executionpolicy automatisch an einem neuen Rechner zu setzen und ein Skript auszuführen.
Während das Programm läuft sind Skripte auch erlaubt, aber die Executionpolicy steht im Powershell Fenster weiterhin restricted.
C++ Programm frägt nach Adminrechten und soll das umsetzen:
system("reg add \"HKLM\\SOFTWARE\\Microsoft\\PowerShell\\1\\ShellIds\\Microsoft.PowerShell\" /t REG_SZ /v ExecutionPolicy /d unrestricted /f 2>NUL >NUL");
danach wird das Powershell-Skript aufgerufen:
system("powershell.exe -command \"& \"$($env:TEMP + '\\exec.ps1')\" ");
Das Powershell-Skript selbst versucht auch noch die ExecutionPolicy zu setzen (level:Verzweiflung):
Set-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell -Name ExecutionPolicy -Value unrestricted -Type "String" -Force -ErrorAction silentlycontinue
Set-ExecutionPolicy unrestricted -Force
Set-ExecutionPolicy unrestricted -Scope Process -Force
Set-ExecutionPolicy unrestricted -Scope CurrentUser -Force
Am Ende ist hier die ExecutionPolicy tatsächlich gesetzt:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\ScriptedDiagnostics
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell
mit RunAs habe ich es probiert, aber mit NoNewWindow verträgt es sich nicht. Jedenfalls nicht so wie ich es probiert habe. Tipps?
Danke.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 299050
Url: https://administrator.de/forum/powershell-set-executionpolicy-klappt-nicht-299050.html
Ausgedruckt am: 03.04.2025 um 05:04 Uhr
5 Kommentare
Neuester Kommentar

Wozu fest in die Registr eintragen wenn es doch hiermit auch ohne geht:
Was auch zu beachten ist ob ein Command in einer 32- oder 64Bit Powerhell läuft! Mit obiger Zeile aber kein Problem solange der Befehl mit Admin-Rechten ausgeführt wird.
Gruß fk
powershell -Executionpolicy ByPass -command "deinCommand"
Gruß fk

Mit obiger Zeile doch kein Problem. Dein Fehler ist das du schon vor der Freischaltung eine PS1 ohne Bypass nutzt!!
Ebenfalls per GPO doch kein Problem...
Und in einer elevated Session ebenfalls problemlos freischaltbar.
Ebenfalls per GPO doch kein Problem...
Und in einer elevated Session ebenfalls problemlos freischaltbar.

Dein Fehler ist das du schon vor der Freischaltung eine PS1 ohne Bypass nutzt!! Das kann ja nicht funktionieren.
Also mach in der Zeile ein Bypass rein und setze per Set-Executionpolicy die Policy ohne PS1 direkt in den Command, und fertig ist der Lack!!
Also mach in der Zeile ein Bypass rein und setze per Set-Executionpolicy die Policy ohne PS1 direkt in den Command, und fertig ist der Lack!!