Warum führt Powershell keine Angular-Befehle aus?

Lesezeit: 5 Minuten

Benutzer-Avatar
Emir Makram

Ich habe angefangen, Angular zu lernen, aber ich stelle fest, dass Powershell in Windows mir einen Fehler gibt, wenn ich einen eckigen Befehl mache wie:

ng new new-app

oder

ng serve

das ist der Fehler was ich bekommen habe:

ng : File C:\Users\< username >\AppData\Roaming\npm\ng.ps1 cannot be loaded because 
running scripts is disabled on this system. For more information, see 
about_Execution_Policies at https:/go.microsoft.com/fwlink/?LinkID=135170.
At line:1 char:1
+ ng serve
+ ~~
    + CategoryInfo          : SecurityError: (:) [], PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess

PS Ich versuche diese Befehle in cmd und es funktioniert.

  • Kannst du Rennen Get-ExecutionPolicy und die Ausgabe liefern? Zusätzlich können Sie zu laufen C:\Users\< username >\AppData\Roaming\npm und öffnen Sie die Eigenschaften für ng.ps1um zu sehen, ob es ein Kontrollkästchen gibt, das “blockiert” anzeigt, wenn ja, deaktivieren Sie es.

    – Jacob

    21. September 2019 um 0:31 Uhr

  • Ich denke, der beste Weg ist, ng.ps1 zu entfernen, wenn alles wieder funktioniert hat

    – Amir Makram

    21. September 2019 um 11:32 Uhr

  • @TheFabio Eigentlich werde ich es nie erfahren, nach dem Löschen von ng.ps1 lief alles perfekt.

    – Amir Makram

    5. November 2019 um 18:04 Uhr

  • Meine Ausführungsrichtlinie war nicht das Problem, sondern wie ich die Argumente übermittelte. Wenn Sie im selben Boot sitzen, sehen Sie sich Executing Angular Serve From Powershell With Parameters Fail an

    – ΩmegaMan

    14. Juni 2021 um 16:11 Uhr

Benutzer-Avatar
Emir Makram

Entfernen ng.ps1 aus dem Verzeichnis C:\Users\%username%\AppData\Roaming\npm\ Versuchen Sie dann, den npm-Cache unter zu löschen C:\Users\%username%\AppData\Roaming\npm-cache\

  • FYI das Löschen des Caches war für mich nicht notwendig.

    – Edwin Lambregts

    1. November 2019 um 13:59 Uhr

  • Toll, aber warum? Ist es von einer früheren Angular-Installation übrig geblieben und wird nicht mehr korrekt aufgerufen? Warum funktioniert es nicht mehr?

    – Patrick

    20. November 2019 um 4:55 Uhr

  • Eigentlich weiß ich es nicht. Ich habe nirgendwo eine Erwähnung für diese Datei gefunden, also dachte ich, dass diese Datei wirklich nicht notwendig ist, also lösche ich sie einfach

    – Amir Makram

    20. November 2019 um 13:22 Uhr

  • Ich habe die Ordner „ng.ps1“ (und „ng.cmd“ und „ng“ und „node_modules“) in C:\Users[username]\AppData\Roaming\npm-Ordner. Sie wurden vor 2 Tagen (neu) erstellt, als ich ng update ausführte (ich überprüfte das Änderungsdatum). Nach diesem Update (aktuell 8.3.21, vorher: 8.3.xx) funktioniert das ng nicht mehr mit Powershell. Das Löschen (umbenannt) löste das Problem. Es ist keine Cache-Bereinigung erforderlich, aber in VS Code müssen Sie das Terminal beenden und erneut öffnen. Vielleicht hat Angular den “ng”-Befehl direkt als Powershell-Skript-Let eingeführt, aber das führte zu diesem allgemeinen Berechtigungsproblem?!

    – Alex 75

    23. Dezember 2019 um 0:24 Uhr


  • Für alle, die sich fragen, warum das funktioniert: Windows blockiert standardmäßig die Ausführung unsignierter Powershell-Skripte aufgrund von Sicherheitsbedenken. Seltsam ist, warum das Angular-Team dieses Skript beibehält, obwohl es eigentlich das Standardverhalten dafür ist, Angular CLI zu beschädigen, und Systeme mit aktivierter unsignierter Skriptausführung sind eine Minderheit. Durch das Entfernen dieses Powershell-Skripts wird Powershell nur daran gehindert, die .ps1-Datei auszuführen und auf das alte cmd-Skript zurückzugreifen, das ebenfalls funktioniert, aber nie von Microsoft eingeschränkt wurde.

    – Dominik Szymanski

    9. Februar um 20:02 Uhr


Ich habe mein Problem gelöst, indem ich den folgenden Befehl ausgeführt habe

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

  • für weitere Informationen … go.microsoft.com/fwlink/?LinkID=135170

    – ahmednabil88

    11. Februar 2020 um 19:05 Uhr

  • Dies sollte die richtige Antwort für Neuinstallationen sein.

    – Chris

    1. April 2020 um 12:06 Uhr

  • Das scheint richtig zu sein, aber ziemlich unzuverlässig.

    – Joghurtu

    3. Juni 2020 um 4:33 Uhr

  • Nach diesem Kommentar gebe ich ‘a’ ein, um alle Richtlinien anzuwenden. Danke!

    – Meysam Bagheri

    22. Juni 2020 um 18:43 Uhr

  • Dies schlägt in einigen Unternehmensumgebungen fehl, in denen wir diese Berechtigungen nicht festlegen können.

    – Adam Hughes

    3. September 2020 um 14:23 Uhr

Benutzer-Avatar
Hozaifa

script1.ps1 kann nicht geladen werden, da das Ausführen von Skripts auf diesem System deaktiviert ist. Weitere Informationen finden Sie unter about_Execution_Policies unter
http://go.microsoft.com/fwlink/?LinkID=135170

Dieser Fehler tritt aufgrund einer Sicherheitsmaßnahme auf, die verhindert, dass Skripte auf Ihrem System ausgeführt werden, ohne dass Sie dem zugestimmt haben. Öffnen Sie dazu eine Powershell mit Administratorrechten (suchen Sie im Hauptmenü nach Powershell und wählen Sie im Kontextmenü Als Administrator ausführen) und geben Sie Folgendes ein:

set-executionpolicy remotesigned

  • Warum muss ich das speziell tun, wenn andere Leute nicht das gleiche Problem haben wie ich mit der gleichen Version?

    – Joghurtu

    9. November 2021 um 15:49 Uhr

Schritt 1

Zuerst müssen Sie die Eingabeaufforderung öffnen und diesen Befehl ausführen.

set-ExecutionPolicy RemoteSigned -Scope CurrentUser

Schritt 2

Jetzt müssen Sie den zweiten Befehl auf Ihrem System ausführen. Dieser Befehl lautet:

Get-ExecutionPolicy

Schritt 3

Um ihre Richtlinie anzuzeigen, müssen Sie diesen Befehl in Ihrer Eingabeaufforderung ausführen:

Get-ExecutionPolicy -list

https://www.c-sharpcorner.com/article/how-to-fix-ps1-can-not-be-loaded-because-running-scripts-is-disabled-on-this-sys/

Öffnen Sie Windows Powershell, führen Sie es als Administrator und die SetExecution-Richtlinie als Unrestricted aus, dann wird es funktionieren.

  • Willkommen bei SO, vervollständigen Sie Ihre Antwort, indem Sie die Befehle angeben, die die Arbeit erledigen

    – Saeed Zhiany

    4. November 2019 um 7:23 Uhr

  • Dies ist ein ziemlich schlechter Ratschlag, da er die Tür öffnet, um jedes PowerShell-Skript auf Ihrem System auszuführen.

    – 1internet

    15. Juni 2021 um 10:20 Uhr

  • Wie in einer vorherigen Antwort angegeben Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser ist ein besserer Weg, da es weniger anfällig dafür ist, Ihr System für die Ausführung eines bösartigen Skripts zu öffnen. RemoteSigned 1) Das Skript muss von einem vertrauenswürdigen Herausgeber signiert werden. 2) Der Geltungsbereich wird auf den aktuellen Benutzer anstelle des Standardwerts LocalMachine festgelegt. Weitere Einzelheiten finden Sie in der Microsoft-Dokumentation. docs.microsoft.com/en-us/powershell/module/…

    – 1internet

    4. Oktober 2021 um 13:03 Uhr

  • Willkommen bei SO, vervollständigen Sie Ihre Antwort, indem Sie die Befehle angeben, die die Arbeit erledigen

    – Saeed Zhiany

    4. November 2019 um 7:23 Uhr

  • Dies ist ein ziemlich schlechter Ratschlag, da er die Tür öffnet, um jedes PowerShell-Skript auf Ihrem System auszuführen.

    – 1internet

    15. Juni 2021 um 10:20 Uhr

  • Wie in einer vorherigen Antwort angegeben Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser ist ein besserer Weg, da es weniger anfällig dafür ist, Ihr System für die Ausführung eines bösartigen Skripts zu öffnen. RemoteSigned 1) Das Skript muss von einem vertrauenswürdigen Herausgeber signiert werden. 2) Der Geltungsbereich wird auf den aktuellen Benutzer anstelle des Standardwerts LocalMachine festgelegt. Weitere Einzelheiten finden Sie in der Microsoft-Dokumentation. docs.microsoft.com/en-us/powershell/module/…

    – 1internet

    4. Oktober 2021 um 13:03 Uhr

1312430cookie-checkWarum führt Powershell keine Angular-Befehle aus?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy