java - scripts - ¿Cómo ejecutar el script de PowerShell incluso si Set-ExecutionPolicy está prohibido?
script powershell ejemplos (4)
Esto es lo que usamos para ejecutar scripts de powershell desde Java (funciona independientemente de la política de la ejecutiva):
powershell.exe -ExecutionPolicy Bypass -NoLogo -NonInteractive -NoProfile -WindowStyle Hidden -File <script_name>
El comando Set-ExecutionPolicy de PS está prohibido, por lo que NO puedo ejecutarlo así:
PS> ./script.ps1 (enter)
Me gustaría saber si existe alguna otra forma de ejecutar el script ps excepto desde el "Windows PowerShell ISE".
ps. Pude usar ProccessBuilder de Java para ejecutar un solo comando ps, pero no sé cómo ejecutar todo el script.
Gracias
La forma más fácil de simplificar esto es simplemente gc ./script.ps1 | iex
gc ./script.ps1 | iex
Esto funciona en Powershell y no le importa ExecutionPolicy
, solo asegúrese de tener cuidado con las nuevas líneas. Mantenga {}
sy similares en la misma línea, usando ;
s donde sea necesario.
Oisin Grehan tiene una publicación interesante en su blog que proporciona otra forma de eludir la política de ejecución. Abra un shell y ejecute esto:
function Disable-ExecutionPolicy {
($ctx = $executioncontext.gettype().getfield(
"_context","nonpublic,instance").getvalue(
$executioncontext)).gettype().getfield(
"_authorizationManager","nonpublic,instance").setvalue(
$ctx, (new-object System.Management.Automation.AuthorizationManager
"Microsoft.PowerShell"))
}
Disable-ExecutionPolicy
Esto elimina el administrador de autorización de host predeterminado que le permitirá llamar a los scripts desde ese shell. Tendría que ejecutar esto para cada shell que abra, ya que la política de ejecución solo se reemplaza en el shell que se ejecuta.
15 formas de eludir la política de ejecución de PowerShell
No tengo un favorito, los odio a todos.