Escribí un archivo por lotes simple como un script de PowerShell y recibo errores cuando se ejecutan.
Está en un directorio de scripts en mi ruta. Este es el error que obtengo:
No se puede cargar porque la ejecución de scripts está deshabilitada en este sistema. Consulte "Obtenga ayuda sobre la firma".
Busqué la ayuda, pero es menos que útil.
powershell
DesarrollandoChris
fuente
fuente
Necesitas ejecutar
Set-ExecutionPolicy
:fuente
Restricted
es la política predeterminada. Leer másUtilizar:
Utilice siempre el comando anterior para habilitar la ejecución de PowerShell en la sesión actual.
fuente
Pude evitar este error invocando PowerShell de esta manera:
Es decir, agregué el
-executionpolicy bypass
a la forma en que invoqué el script.Esto funcionó en Windows 7 Service Pack 1. Soy nuevo en PowerShell, por lo que podría haber advertencias para hacer eso que no conozco.
[Editar 2017-06-26] Seguí usando esta técnica en otros sistemas, incluidos Windows 10 y Windows 2012 R2, sin problemas.
Esto es lo que estoy usando ahora. Esto evita que ejecute accidentalmente el script haciendo clic en él. Cuando lo ejecuto en el programador, agrego un argumento: "programador" y eso pasa por alto el indicador.
Esto también pausa la ventana al final para que pueda ver la salida de PowerShell.
fuente
El comando anterior funcionó para mí incluso cuando ocurre el siguiente error:
fuente
También vale la pena saber que es posible que deba incluirlo
.\
delante del nombre del script. Por ejemplo:fuente
El comando
set-executionpolicy unrestricted
permitirá que cualquier script que cree se ejecute como el usuario que inició sesión. Solo asegúrese de volver a establecer la configuración de la política de ejecución en firmado con elset-executionpolicy signed
comando antes de cerrar la sesión.fuente
set-executionpolicy signed
da,Cannot bind parameter 'ExecutionPolicy'
etc.En Windows 10: haga clic en cambiar la propiedad de seguridad de myfile.ps1 y cambie "permitir acceso" haciendo clic con el botón derecho en / properties en myfile.ps1
fuente