Powershell File cannot be loaded because running scripts is disabled on this system

By | 04/05/2022

Powershell cannot be loaded because running scripts is disabled on this system

Problém:

File <script> cannot be loaded because running scripts is disabled on this system. For more information, see about_Execution_Policies at https:/g
o.microsoft.com/fwlink/?LinkID=135170
, je hláška, která se může objevit při spustěni scriptu v Powershell ve Windows 10. Toto přesněji ukazuje hláška níže:

PS C:\Windows\system32> PowerShell C:\pingbeep.ps1
C:\pingbeep.ps1 : File C:\pingbeep.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
+ C:\pingbeep.ps1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : SecurityError: (:) [], PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess

Vysvětlení:

Řešením může moct změnit konfiguraci PowerShell Execution Policy, což jsou spouštěcí politiky v PowerShellu. Ty definují, zda je vyžadováno pro spouštění skriptů, aby byly digitálně podepsány či nikoliv.

Windows 10 definuje politiku Restricted a ve Windows Server zase politiku RemoteSigned.

Jednotlivé typy Execution policy jsou definované zde [2].

Řešení:

1. Otevřít Powershell jako administrátor:

powershell administrator

2. Aplikovat příkaz níže, který ukáže aktuální konfiguraci PowerShell Execution Policy:

Get-ExecutionPolicy -List

Výstup příkazu Get-ExecutionPolicy -List ukazuje, že aktuální okno Powershellu pro uživatele je nastaveno na Restricted, díky kterému nebylo možné spustit script:

        Scope ExecutionPolicy
        ----- ---------------
MachinePolicy       Undefined
   UserPolicy       Undefined
      Process       Undefined
  CurrentUser      Restricted
 LocalMachine    RemoteSigned

Pro změnu Aplikovat příkaz níže:

Set-ExecutionPolicy Unrestricted

Je možné že po tomto příkazu vyskočí chyba níže:

Execution Policy Change
The execution policy helps protect you from scripts that you do not trust. Changing the execution policy might expose
you to the security risks described in the about_Execution_Policies help topic at
https:/go.microsoft.com/fwlink/?LinkID=135170. Do you want to change the execution policy?
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "N"): Y
Set-ExecutionPolicy : Windows PowerShell updated your execution policy successfully, but the setting is overridden by a
 policy defined at a more specific scope.  Due to the override, your shell will retain its current effective execution
policy of Restricted. Type "Get-ExecutionPolicy -List" to view your execution policy settings. For more information ple
ase see "Get-Help Set-ExecutionPolicy".
At line:1 char:1
+ Set-ExecutionPolicy Unrestricted
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : PermissionDenied: (:) [Set-ExecutionPolicy], SecurityException
    + FullyQualifiedErrorId : ExecutionPolicyOverride,Microsoft.PowerShell.Commands.SetExecutionPolicyCommand

3. V tomto případě zadat příkaz níže, který vypne Execution Policy pro uživatele

Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force

4. Znovu spustit script:

PS C:\Windows\system32> PowerShell C:\pingbeep.ps1
01/19/2022 17:20:28 Unreachable: 192.168.0.8

Zdroj:

[1] https://stackoverflow.com/questions/27753917/how-do-you-successfully-change-execution-policy-and-enable-execution-of-powershe

[2] https://www.michalzobec.cz/powershell-jak-deaktivovat-powershell-execution-policy-8149

Dobrovolný dar

Pokud Vám tento článek pomohl a rádi byste podpořili tento web a mou tvorbu, můžete tak provést zasláním libovolné částky na číslo účtu 1558701011/3030

Nebo můžete dar poslat kliknutím na tento odkaz Podpořit tento WEB , který Váš přesměruje na mou platební bránu Revolut.

Dar je také možné poslat ve formě Bitcoinu na BTC peněženku bc1qqdf5fp42a7srwwhh2rut8zr9x4jm5c8fqc9qw6

Veškeré peněžní prostředky budu používat na zlepšení kvality své webové tvorby a na psaní nových technických návodů. Za každý dar předem děkuji.

Leave a Reply

Your email address will not be published. Required fields are marked *