Windows 7 Powershell-Profil funktioniert nicht, nachdem Sie die Einstellungen uneingeschränkt festgelegt haben

2128
Paul Nathan

Ich habe gerade ein Upgrade auf Windows 7 durchgeführt und möchte mein Powershell-Profil zum Laufen bringen.

Ich lade PS und setze die Ausführungsrichtlinie mit meinen "als Administrator ausführen" - Befehlen auf "uneingeschränkt" und platziere mein Profil an der entsprechenden Stelle. Ich lade PS und es wird fehlerhaft.

Die Get-Execution-Richtlinie wird eingeschränkt zurückgegeben.

Die Registrierungsprüfung gibt jedoch uneingeschränkt zurück.

Nach einem Neustart bleibt die Situation unverändert.

Beim weiteren Überprüfen stelle ich fest, dass ich im Admin-Modus uneingeschränkte Befugnisse habe, aber als normaler Benutzer habe ich eingeschränkte Befugnisse.

Nachdem ich heute einige Powershell-Arbeit in XP gemacht hatte, fiel mir auf, dass sich Powershell unter XP immer im Admin-Modus befindet. Offenbar wurde es unter Win7 in den Usermode umgewandelt. Aargh!

Wie kann ich mein Profilskript im normalen Benutzermodus ausführen lassen?

2

5 Antworten auf die Frage

1
Jay Bazuzi

Ich habe keine Probleme damit. Folgendes habe ich auf einem ziemlich sauberen Windows 7-Computer getestet:

  • Melden Sie sich als Administrator an
  • Führen Sie PowerShell höher aus ("als Administrator").
  • Set-ExecutionPolicy RemoteSigned
  • Melden Sie sich als Gast an
  • Führen Sie PowerShell aus
  • Get-ExecutionPolicy

Kehrt zurück RemoteSigned

0
Theo Belaire

Ich würde mit der rechten Maustaste auf Powershell klicken, zu den Kompatibilitätsoptionen gehen und "Dieses Programm als Administrator ausführen" auswählen.

Wenn Sie ein Skript verwenden, können Sie die Sudo-Implementierung von start ++ verwenden . Es gibt eine Möglichkeit, dies ohne das Tool zu tun, aber es ist einfacher, das Tool zu verwenden, und es fügt ohnehin weitere nützliche Tools hinzu.

Ja, aber ich möchte es nicht als Administrator ausführen. Als root standardmäßig auszuführen ist nicht meine Art zu rollen. Paul Nathan vor 14 Jahren 0
0
SztupY

Führen Sie es über die Befehlszeile oder über das Startmenü aus. Für mich bekomme ich die "uneingeschränkte" Richtlinie nur, wenn ich Powershell über den Startmenü-Link starte.

Beim Starten von der Befehlszeile oder von einem anderen Programm aus konnte ich nur die "eingeschränkte" Richtlinie erhalten. Es wurde keine Problemumgehung für dieses Problem gefunden, es sei denn, PowerShell wurde über den Startmenü-Link ausgeführt ...

0
Helvick

Bei Windows 7 (Ultimate für den Fall, dass es nicht relevant ist, kann ich nicht sehen, wie), muss ich mich im Administratormodus befinden, um die Richtlinie festzulegen. Sobald sie jedoch festgelegt ist, gilt sie für mein normales Benutzerprofil (get-executionpolicy gibt "Unrestricted" zurück). Wenn Sie sagen, dass Sie Ihr Profil an den "üblichen Ort" verschieben, was genau meinen Sie damit?

0
djangofan

Dies funktioniert für mich vorübergehend, bis ich die Maschine neu starte. Zu diesem Zeitpunkt muss ich das Skript erneut ausführen. Ich kenne den Geltungsbereich CurrentUser und LocalMachine, um Registrierungseinträge zu schreiben, und daher würden Sie denken, dass die Einstellung dauerhaft / dauerhaft ist. Nach dem Neustart in meiner Domäne scheint es jedoch, dass sie auf den Standardwert von AllSigned zurückgesetzt wird.

# SetExecutionPolicyToRemoteSigned.ps1 # Not persistent. Need to run this after every server reboot. Write-Output "Setting local Powershell policy to RemoteSigned" Write-Output ""  Set-ExecutionPolicy -scope CurrentUser Undefined -Force #Set-ExecutionPolicy -scope Process Undefined -Force Set-ExecutionPolicy -scope LocalMachine Undefined -Force  Set-ExecutionPolicy -scope CurrentUser RemoteSigned -Force #Set-ExecutionPolicy -scope Process RemoteSigned -Force Set-ExecutionPolicy -scope LocalMachine RemoteSigned -Force  Write-Output "Finished."  Get-ExecutionPolicy -list Start-Sleep -s 10