¡Ayuda al desarrollo del sitio, compartiendo el artículo con amigos!

Introducción a PowerShell Remotesigned

PowerShell tiene alguna política que determina la situación en la que PowerShell puede ejecutar scripts y archivos de configuración. Esto evita que PowerShell ejecute o ejecute código o software malicioso. Se puede establecer una política de ejecución en una máquina con Windows para un usuario, para la máquina o para una sesión. También se puede crear una política de grupo para un conjunto específico de usuarios. Las políticas de ejecución para el sistema y el usuario actual se mantienen en el registro. La política de ejecución de una sesión se mantiene en la memoria y se pierde tan pronto como se cierra la sesión.Las políticas de ejecución disponibles son Todas firmadas, Omitir, Predeterminadas, Firmadas remotas, restringidas, indefinidas y sin restricciones. La política predeterminada es firmada remotamente. Este artículo cubrirá en detalle la política de ejecución remota firmada en PowerShell. En este tema, aprenderemos sobre Powershell Remotesigned.

Características de la política de ejecución firmada remotamente

La política de ejecución remota firmada es la predeterminada. Bajo esta política de ejecución, se pueden ejecutar scripts. Necesita firmas digitales para ejecutar scripts y archivos de configuración que se descargan de Internet. No requiere firmas digitales para ejecutar archivos que se desarrollan en la máquina local. Para ejecutar archivos sin firma digital, se debe usar un cmdlet unlock-File. Ejecutar scripts sin una firma digital puede ser fatal.

La política de ejecución se establece mediante el cmdlet Set-ExecutionPolicy.

Sintaxis:

NOMBRE
Establecer-ExecutionPolicy
SINTAXIS
Set-ExecutionPolicy (-ExecutionPolicy) {Sin restricciones - Firmado remoto - TodosFirmados - Restringido - Predeterminado - Derivación - Indefinido} ((-Ámbito) {Proceso - UsuarioActual |
Máquina local - Política de usuario - MachinePolicy}) (-Force) (-WhatIf) (-Confirm) () ALIASES
Ninguno
Para configurar la política como firmada de forma remota, se utiliza el siguiente cmdlet

Establecer-ExecutionPolicy -ExecutionPolicy RemoteSigned

Para ver la configuración de la política de ejecución, se puede usar el siguiente cmdlet.
Política de ejecución del alcance
----- ---------------
MachinePolicy indefinido
Política de usuario indefinida
Proceso Indefinido
UsuarioActual Indefinido
Máquina local sin restricciones

1. Alcance de la política de ejecución

Es posible establecer políticas para un determinado alcance. Los valores permitidos de alcance son Política de máquina, Política de usuario, Proceso, máquina local y usuario actual. La política de ejecución predeterminada es la máquina local.

2. Política de máquina

Se utiliza para aplicar la política a todos los usuarios del sistema.

3. Política de usuario

Crea una política de grupo para el usuario actual.

4. Proceso

Esto es aplicable solo para la sesión actual, su valor se almacena en la variable de entorno y no en el registro. La variable y el valor correspondiente se eliminan una vez que se cierra la sesión de PowerShell.

5. Usuario actual

Esto se aplica solo al usuario actual. Está disponible en la clave HKEY_CURRENT_USER en el registro.

6. Equipo local:

Se utiliza para establecer la política para todos los usuarios del sistema. Está disponible en HKEY_LOCAL_MACHINE en el registro.

Establecer una política para una sesión

Es posible establecer una política de ejecución para una sesión y sus sesiones secundarias.Para eso se puede usar pwsh.exe. Esto se almacena en la variable de entorno, "$env: PSExecutionPolicyPreference". Este valor se borra una vez que se cierra la sesión. Dentro de la sesión, esta política de ejecución tiene una prioridad más alta que la establecida en el registro. Nunca puede tener prioridad sobre la política de ejecución de grupo.

Ejemplo:

pwsh.exe -ExecutionPolicy LocalMachine

Entrada:

"Write-Host Ejemplo de política firmada remota"
"Write-Host Establecer la política en remoto firmado
"Establecer-ExecutionPolicy -ExecutionPolicy RemoteSigned
"La política de host de escritura cambió a remota firmada
""write-host Configuración de equipos locales desde un control remoto
"Invoke-Command -ComputerName testerver1 -ScriptBlock { Get-ExecutionPolicy } - Establecer-ExecutionPolicy
"Política de host de escritura establecida en Máquina local
""Write-Host Establecer el alcance para el usuario actual en remoto firmado
"Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
"Política de host de escritura establecida en remota firmada para usuario local
""Write-Host Eliminación de la política de usuario
"Set-ExecutionPolicy -ExecutionPolicy Undefined -Scope CurrentUser
"Se eliminó la política de ejecución de usuarios actuales de Write-Host
""Write-Host Configuración de la política de sesiones actual en remoto firmado
"Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Alcance Proceso
"Política Write-Host establecida para la sesión actual
""Write-Host Ejecutando un script sin firma digital
"Desbloquear archivo c:\vignesh\test.ps1
"El archivo Write-Host se ejecutó con éxito
""Write-Host Establecer la política en remoto firmado para la máquina local
"Establecer-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
"Política de host de escritura establecida para máquina local
""Write-Host Establecer la política en remoto firmado para el grupo de usuarios
"Establecer-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope UserPolicy
"Conjunto de políticas Write-Host para el grupo de usuarios
""Write-Host Establecer la política en remota firmada para todos los usuarios
"Establecer-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope MachinePolicy
"La política Write-Host establece todos los usuarios"

Salida:

Otras características de las políticas de ejecución firmadas remotamente de Powershell

1. Todos firmados

Esto permite la ejecución de todos los scripts pero requiere una firma digital para todos los scripts, incluso los desarrollados en la máquina local. Se le pedirá un aviso antes de ejecutar los scripts.

2. Por pase

No se muestran advertencias ni indicaciones para ejecutar scripts.

3. Predeterminado

La política predeterminada para los clientes de Windows está restringida y, para Windows, los servidores están firmados de forma remota

4. Restringido

Solo permite comandos y no la ejecución de scripts. Ninguno de los archivos de configuración, archivos ps o scripts de módulos están permitidos.

5. Sin restricciones

La política para computadoras que no son de Windows no se puede cambiar. Se pueden ejecutar todos los scripts sin firmar.

Características de la política de grupo

Si la ejecución del script de activación está desactivada, los scripts no se ejecutarán. Esto es como una política de ejecución restringida. Para habilitar la política de ejecución, la política de grupo de ejecución de secuencias de comandos debe estar habilitada. Para permitir todos los scripts, la política debe establecerse como sin restricciones. Para permitir la ejecución de scripts con firmas digitales, debe estar firmado de forma remota; si solo se van a ejecutar scripts firmados, la política debe estar firmada por todos.

Las políticas se ejecutan en el siguiente orden. La prioridad más alta se le da a la política de Máquina, luego a la política de usuario seguida por el proceso, luego al usuario actual y finalmente a la máquina local.

Conclusión: firma remota de Powershell

Por lo tanto, el artículo trata en detalle la política de ejecución remota firmada en PowerShell. Explicó las características de la política firmada remota junto con la sintaxis. El artículo mostró varios ejemplos de cómo establecer la política en firma remota para varios ámbitos. También dio una breve introducción a otras políticas de ejecución disponibles. Para aprender más en detalle es recomendable escribir programas de muestra y practicarlos.

¡Ayuda al desarrollo del sitio, compartiendo el artículo con amigos!