Habilitar la ejecución de scripts para Powershell

En ocasiones nos podemos encontrar con una sorpresa al intentar ejecutar un script en un servidor. El problema/restricción más común es que se nos lance una excepción indicando que:

«No se puede cargar el archivo XXXX porque en el sistema está deshabilitada la ejecución de scripts. Vea «get-help about_signing» para obtener más información».

Captura2

Por tanto, el error es que en el sistema esta deshabilitada la ejecución de scripts o esta «Restringido». Si abrimos el Windows PowerShell como administrador y ejecutamos el comando «Get-ExecutionPolicy» nos tendría que devolver «Restricted» o lo que es lo mismo «Restringido». Para cambiar esta configuración basta con ejecutar «Set-ExecutionPolicy Unrestricted» y indicar Si[S].

Captura1

En ese momento ya se pueden ejecutar scripts sin problemas. Nuevamente si vuelves a ejecutar «Get-ExecutionPolicy» verás que ya aparece como «Unrestricted».

83 comentarios en «Habilitar la ejecución de scripts para Powershell»

  1. Buenas. Segui tu ejemplo, pero no me toma el cambio, vuelvo a ejecutar Get-ExecutionPolicy y me sale <Unrestricted>. Tengo permisos como administrador.
    Al ejecutar el comando Set-ExecutionPolicy Unrestricted me sale el mensaje de las opciones de si, si a todo y no, pero me dice que el valor predeterminado es NO. Como cambio eso?

    Responder
    • Ya resolvi como cambiarlo
      1-Ejecutar windows + R –> gpedit.msc
      2-Ir a Plantillas administrativas> Componentes de Windows> Windows PowerShell>
      3-Seleccionar Activar la ejecución de scripts, click derecho, editar
      4-Seleccionar Habilitada y Permitir todos los scripts, Aplicar

      Responder
  2. Hay un error de traducción en el artículo. Y es que pone: «nos tendría que devolver «Unrestricted» o lo que es lo mismo «Restringido»». No es «Unrestricted» sino «Restricted».

    Si directamente nos saliese «Unrestricted» es que no está restringido y por tanto sí que podríamos ejecutar scripts usando powershell.

    Responder
  3. mi no me funciona me dice «Set-ExecutionPolicy» no se reconoce como un comando interno o externo, programa o archivo por lotes ejecutable. Para el Get lo mismo. ¿Qué podría hacer?

    Responder
  4. AYUDA A MI ME SALE ESTO
    Set-ExecutionPolicy : Se denegó el acceso a la clave de Registro ‘HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\Sh
    ellIds\Microsoft.PowerShell’.

    Responder
  5. hola que tal yo tengo una duda, no puedo actualizar ni activar el Windows Update, siempre que intento me sale error y quize hacerlo por Powershell y me vota este mensaje. Quiza puedan ayudarme. Gracias de antemano

    Install-WindowsUpdate : El comando ‘Install-WindowsUpdate’ se encontró en el módulo ‘PSWindowsUpdate’, pero el módulo
    no pudo cargarse. Para obtener más información, ejecute ‘Import-Module PSWindowsUpdate’.
    En línea: 1 Carácter: 1
    + Install-WindowsUpdate
    + ~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : ObjectNotFound: (Install-WindowsUpdate:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CouldNotAutoloadMatchingModule

    Responder
  6. A MI NO ME FUNCIONO SALE LO SIGUIENTE:
    set-ExecutionPolicy : Windows PowerShell actualizó la directiva de ejecución correctamente, pero el valor queda
    invalidado por una directiva definida en un ámbito más específico. Debido a esta invalidación, el shell mantendrá la
    directiva de ejecución efectiva actual: AllSigned. Escriba «Get-ExecutionPolicy -List» para ver la configuración de la
    directiva de ejecución

    Responder

Deja un comentario