¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
  1. Libros
  2. Windows PowerShell
  3. Scripting
Extrait - Windows PowerShell Administrar puestos cliente Windows (2a edición)
Extractos del libro
Windows PowerShell Administrar puestos cliente Windows (2a edición)
2 opiniones
Volver a la página de compra del libro

Scripting

Seguridad

1. ¿Por qué es importante la seguridad?

Con el desarrollo de las redes de área local, y más adelante de Internet, la seguridad en el conjunto de equipos se ha convertido en un aspecto esencial. No basta con atar su equipo de trabajo con un cable de seguridad e implementar algún método de identificación en el inicio de Windows. En la actualidad, los fallos de seguridad provienen principalmente de las redes (programas malintencionados, personas malintencionadas o también incompetentes), de los dispositivos de almacenamiento (llaves USB y discos duros externos, smartphones), etc.

Por este motivo es importante implementar políticas de seguridad en los puestos de trabajo, principalmente en aquellos dedicados a los colaboradores de la empresa. Pero conviene también tener precaución cuando se es administrador: en cualquier momento puede aparecer un error...

2. ¿Cuáles son los riesgos?

Ha visto a lo largo de los distintos capítulos del libro las posibilidades que ofrece Windows PowerShell para la administración de los puestos de trabajo en Windows. Imagine un script PowerShell malintencionado que circule por la empresa: el resultado podría tener graves consecuencias. De modo que hay que estar atento principalmente a los dos aspectos siguientes:

  • El origen del script: puede provenir de Internet o haber sido desarrollado por alguna persona malintencionada.

  • El método de difusión: e-mails, dispositivos de almacenamiento o las redes son los métodos de difusión más comunes.

Conviene, por tanto, implementar una política de seguridad sobre la ejecución de scripts PowerShell en los puestos de trabajo, y también sobre las interfaces por las que pueden transitar los scripts.

Por supuesto, la elección de la política de seguridad depende en gran medida del contexto de la empresa, de las restricciones de seguridad que pueden imponer los clientes, etc.

3. Optimizar la seguridad de ejecución de los scripts

Por defecto, Windows PowerShell está configurado de manera segura. Es necesario comprender bien los dos siguientes aspectos que describen la seguridad en Windows PowerShell.

En primer lugar, el programa por defecto asociado a los archivos con extensión .ps1 (script Windows PowerShell) juega un papel importante en la seguridad. En efecto, ¿qué...

Windows PowerShell ISE

El editor de scripts Windows PowerShell ISE provee un entorno completo para el desarrollo de scripts de Windows PowerShell. El autocompletado de cmdlets y parámetros o la depuración son funcionalidades que le permitirán ahorrar tiempo en la escritura de scripts.

1. Las buenas prácticas del scripting

Para garantizar un buen seguimiento del desarrollo de un script, es conveniente respetar algunas buenas prácticas.

La legibilidad es un aspecto esencial en la escritura de scripts. Permite una lectura y una comprensión más rápida en caso de que otro administrador deba retomar un script, y también a uno mismo si ha olvidado el contenido del script.

Retomar un script al cabo de meses o años es algo habitual, y para facilitar esta tarea no hay nada mejor que respetar los siguientes puntos:

  • Incluir comentarios:

  • Comentarios monolínea: se incluye un carácter # al comienzo de la línea.

  • Comentario multilínea: para comentar un bloque completo, se abre con los caracteres <# y se cierra a continuación con los caracteres #>.

  • Asignar nombres explicativos a las variables; por ejemplo, $tabUsuarios para una tabla que represente una lista de usuarios.

  • Insertar tabulaciones: cuando se utilizan funciones, bucles, condiciones, etc., es conveniente incluir tabulaciones para marcar bien a qué bloque pertenecen los comandos. He aquí un ejemplo:

Function abc ($a, $b, $c)  
{  
   If ($a -eq $b)  
   {  
       Write-Host "¡Las 2 variables son idénticas!"  
   }  
   Else  
   {  
       $a = $c  
   }  
} 
  • Utilizar funciones: estas resultan prácticas para ejecutar tareas repetitivas, y también para estructurar el código y facilitar su comprensión.

Por último, cuando tenga que realizar modificaciones en un script, asegúrese de:

  • Realizar de una copia del script antes de su modificación.

  • Copiar y pegar la línea o el bloque de script que se va a modificar e incluirlo dentro de un comentario.

Estas recomendaciones permiten la marcha atrás fácilmente en caso de que las modificaciones tengan algún error, o consultar...

Ejecutar y desplegar los scripts

El desarrollo de un script PowerShell puede ser largo y tedioso, pero a cambio se verá recompensado ampliamente con el tiempo que se ahorrará con cada ejecución del script. Por regla general, cuando un administrador escribe un script, este tiene el objetivo de ejecutarse varias veces (tarea repetitiva) o bien desplegarse y ejecutarse sobre un número indefinido de puestos de trabajo, o una combinación de ambos.

Así, en esta sección veremos cómo ejecutar un script simplemente a través de la consola de Windows PowerShell, y también un método de despliegue de scripts a través de GPO.

1. Por línea de comandos

Es posible ejecutar un script PowerShell por línea de comandos simplemente escribiendo la ruta de acceso absoluta o relativa al archivo del script Windows PowerShell (.ps1):

PS C:\Temp> .\debug.ps1  
** ¡Inicio del script! **  
Hello World!  
  
domingo 19 de octubre de 2014 15:19:03  
** ¡Fin del script! ** 

Si debe ejecutar un script desde el símbolo del sistema, debe precisar el motor de script Windows PowerShell, que no es sino powershell.exe, seguido de la ruta absoluta o relativa al archivo del script.

images/11EIT08.png

Ejecución de un script PowerShell desde la consola de comandos

En ambos casos, tiene la posibilidad de introducir parámetros indicándolos tras el nombre del script, separados por un espacio. Por ejemplo:

PS C:\Temp> .\myScript.ps1 myParameter1 myParameter2 

2. Por GPO

El despliegue de un script PowerShell por GPO es la manera más práctica de desplegar un script en la empresa. Esto no requiere más que un controlador de dominio (DC) y que los puestos de trabajo estén vinculados al dominio de la empresa.

Así, desde un DC, puede configurar la ejecución de un script PowerShell en el conjunto de puestos de trabajo que haya determinado en función de la ubicación de la directiva de grupo.

La ejecución de un script PowerShell por GPO puede hacerse:

  • En el arranque de Windows.

  • En la parada de Windows.

  • En el inicio de una sesión de usuario.

  • En el cierre de una sesión de usuario.

En el caso de que un script PowerShell interactúe con una sesión de usuario (con las claves de registro HKCU o con el perfil del usuario, por ejemplo), conviene lanzar...