Как да коригираме „Изпълнението на скриптове е деактивирано в тази система“ Грешка в Powershell?

Powershell е рамка за автоматизация и управление на задачите, разработена и публикувана от Microsoft. Състои се от обвивка на командния ред и асоцииран език. Потребителите могат да изпълняват множество командлети в програмата. Въпреки това, съвсем наскоро се появиха много отчети, в които потребителите не могат да стартират скрипт и „ Работещият скрипт е деактивиран в тази система “ или „ изпълнението на скриптове е деактивирано в тази система “ се появява грешка в Powershell,

Грешка „Изпълнението на скриптове е деактивирано на този компютър“

В тази статия ще обсъдим причината, поради която тази грешка може да бъде задействана, и някои жизнеспособни решения, които да я отстранят за постоянно. Не забравяйте да следвате стъпките внимателно и точно, за да избегнете конфликт.

Какво причинява грешката „Изпълнението на скриптове е деактивирано в тази система“ Грешка?

След като получихме множество доклади от множество потребители, решихме да разгледаме въпроса и нашите изследвания предполагат, че грешката е причинена поради следния проблем.

  • Деактивирани скриптове: Всеки скрипт, който стартирате в Powershell, трябва да има някакво ниво на проверка от надеждни източници, за да работи. В някои случаи, дори ако скриптът има проверка, той все още е спрян от изпълнение поради ограничен достъп. Работата е там, че Windows има „Политика за изпълнение“, която скриптът трябва да заобиколи, за да може да бъде изпълнен. Ако Политиката за изпълнение е зададена на „Ограничен“, тогава на компютъра не може да се изпълнява никакъв скрипт.

Сега, когато имате основно разбиране за същността на проблема, ще преминем към решенията.

Решение 1: Добавяне на код

Ако искате да стартирате определен скрипт на вашия компютър, без да преживявате неприятностите за промяна на политиката за изпълнение, винаги можете да добавите парче код към командата, която ще предостави на скрипта достъп чрез политиката. За това:

  1. Натиснете “ Windows ” + “ R ”, за да отворите подкана за изпълнение.
  2. Въведете „ Powershell “ и натиснете едновременно „ Shift “ + „ Ctrl “ + „ Enter “, за да предоставите административен достъп.

    Въведете „Powershell“ и натиснете „Shift“ + „Alt“ + „Enter“
  3. Въведете командата, за да изпълните определен скрипт като следната команда.
     c: \> powershell -ExecutionPolicy ByPass -File script.ps1 
  4. Натиснете „ Enter “ и проверете дали проблемът продължава.

Решение 2: Промяна на политиката за изпълнение

Тъй като политиката за изпълнение осигурява достъп до Powershell за изпълнение на определен скрипт, ако е настроен на ограничен, той ще блокира изпълнението на всички скриптове. Има различни режими, на които можете да настроите политиката в зависимост от вашата ситуация. Тези режими са:

  • Ограничен: Този режим не позволява на компютъра да се пуска скрипт.
  • AllSigned: Избирайки този режим, на компютъра могат да се изпълняват само политики, които са подписани от доверен издател.
  • RemoteSigned: Всички изтеглени скриптове трябва да бъдат подписани от надежден издател.
  • Неограничен: Изобщо няма ограничение за нито един скрипт.

Сега, когато знаете нивата, на които може да се зададе политиката за изпълнение, можете лесно да изберете най-доброто за вас в зависимост от вашите изисквания. За да промените правилата за изпълнение:

  1. Натиснете “ Windows ” + “ R ”, за да отворите подкана за изпълнение.
  2. Въведете „Powershell“ и натиснете едновременно „ Shift “ + „ Ctrl “ + „ Enter “, за да предоставите административен достъп.

    Въведете „Powershell“ и натиснете „Shift“ + „Alt“ + „Enter“
  3. Въведете следната команда и натиснете „Enter“, за да я изпълните.
     Set-ExecutionPolicy Remotesigned 

    Забележка: Думата „ RemoteSigned “ трябва да бъде заменена с нивото на защита, което искате, както е посочено по-горе.

  4. Натиснете " Y ", за да посочите Да и това ще промени груповата политика до желаното ниво.

    Промяна на груповата политика
  5. Проверете дали проблемът продължава.

Интересни Статии