Vejledninger

Sådan løses 'Kørende scripts er deaktiveret på dette system' Fejl på Powershell?

Powershell er en opgaveautomatiserings- og styringsramme, der er udviklet og offentliggjort af Microsoft. Den består af en kommandolinjeskal og et tilknyttet sprog. Brugere kan udføre adskillige cmdlets i programmet. For nylig er der imidlertid kommet mange rapporter, hvor brugerne ikke er i stand til at køre et script, og "Kørende script er deaktiveret på dette system" eller den "udførelse af scripts er deaktiveret på dette system”Fejl vises i Powershell.

I denne artikel vil vi diskutere årsagen til, at denne fejl kan udløses, og nogle bæredygtige løsninger til at løse det permanent. Sørg for at følge trinene nøje og præcist for at undgå konflikt.

Hvad forårsager fejlen "Kørende scripts er deaktiveret på dette system"?

Efter at have modtaget adskillige rapporter fra flere brugere besluttede vi at undersøge sagen, og vores forskning tyder på, at fejlen skyldes det følgende problem.

  • Deaktiverede scripts:Hvert script, du kører på Powershell, skal have et vist niveau af verifikation fra pålidelige kilder, for at det kan fungere. I nogle tilfælde, selvom scriptet har verifikation, stoppes det dog stadig fra udførelse på grund af begrænset adgang. Sagen er, at Windows har en "udførelsespolitik", som scriptet skal omgå for at det skal udføres. Hvis udførelsespolitikken er indstillet til "Begrænset", kan intet script køres på computeren.

Nu hvor du har en grundlæggende forståelse af problemets art, vil vi gå videre mod løsningerne.

Løsning 1: Tilføj kode

Hvis du vil køre et bestemt script på din computer uden at skulle gå igennem besværet med at ændre udførelsespolitikken, kan du altid tilføje et stykke kode til kommandoen, som giver scriptet adgang gennem politikken. For det:

  1. Tryk på “Windows” + “R”For at åbne køreprompten.
  2. Indtaste "Powershell”Og tryk“Flytte” + “Ctrl” + “Gå ind”Samtidig for at give administrativ adgang.
  3. Indtast kommandoen for at udføre et bestemt script som følgende kommando.
    c: \>powershell -ExecutionPolicy ByPass -Fil script.ps1
  4. Tryk på “Gå ind”Og kontrollere for at se, om problemet fortsætter.

Løsning 2: Ændring af udførelsespolitikken

Da udførelsespolitikken giver adgang til Powershell til at køre et bestemt script, vil det, hvis det er indstillet til begrænset, blokere for, at alle scripts udføres. Der er forskellige tilstande, som du kan indstille politikken til afhængigt af din situation. Disse tilstande er:

  • Begrænset:Denne tilstand tillader ikke, at der køres noget script på computeren.
  • AllSigned:Ved at vælge denne tilstand kan kun de politikker, der er underskrevet af en betroet udgiver, køres på computeren.
  • Fjerntegnet:Alle downloadede scripts skal underskrives af en betroet udgiver.
  • Ubegrænset:Der er slet ingen begrænsninger for noget script.

Nu hvor du kender de niveauer, som eksekveringspolitikken kan indstilles til, kan du nemt vælge den bedste for dig afhængigt af dine krav. For at ændre udførelsespolitikken:

  1. Tryk på “Windows” + “R”For at åbne køreprompten.
  2. Indtast "Powershell", og tryk på "Flytte” + “Ctrl” + “Gå ind”Samtidig for at give administrativ adgang.
  3. Indtast følgende kommando, og tryk på "Enter" for at udføre den.
    Set-ExecutionPolicy Remotesigned

    Bemærk:Ordet "Fjerntegnet”Skal erstattes med det ønskede sikkerhedsniveau som angivet ovenfor.

  4. Tryk på “Y”For at angive Ja, og dette vil ændre gruppepolitikken til det ønskede niveau.
  5. Kontrollere for at se, om problemet fortsætter.
$config[zx-auto] not found$config[zx-overlay] not found