¡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. Casos prácticos y otras características
Extrait - Windows PowerShell Administrar puestos cliente Windows (2a edición)
Extractos del libro
Windows PowerShell Administrar puestos cliente Windows (2a edición)
1 opinión
Volver a la página de compra del libro

Casos prácticos y otras características

Conectar una unidad de red

He aquí un ejemplo de script para desplegar mediante un GPO que debe ejecutarse tras el inicio de sesión de los usuarios. Además de conectar una unidad de red personal, este script presenta la particularidad de conectar las unidades de red en función de los grupos de Active Directory de los que sea miembro el usuario.

Conviene, por tanto, disponer de una red empresarial con un dominio Active Directory y puestos de trabajo vinculados a este dominio.

Requisitos previos

Para conectar la unidad de red personal, hay que crear un recurso compartido en el servidor, llamado users. Esta carpeta compartida debe contener subcarpetas cuyo nombre sea el login de los usuarios. No olvide asignar los permisos correspondientes en función de las carpetas. Asegúrese de que el usuario posee permisos de lectura/escritura en su carpeta personal, y de que no pueda acceder a las carpetas de sus colegas.

Respecto a los recursos compartidos en función de los grupos AD de los que es miembro el usuario, siéntase libre de crear los nombres de recursos compartidos que desee. Hay que verificar a su vez que los accesos se han definido correctamente. En el script, hay que declarar el nombre del grupo al que está asociado el nombre del recurso compartido, así como la letra de la unidad de red que se utilizará en el puesto cliente para acceder al recurso compartido.

Esta declaración debe realizarse de la siguiente manera:

"nombre_del_grupo"=@("nombre_del_recurso_compartido", 
"letra_de_la_unidad") 

En el script se proporcionan...

Envío de e-mails

Otra funcionalidad interesante de implementar según los objetivos de sus scripts es la posibilidad de enviar e-mails. Así, por ejemplo, un script ejecutado regularmente mediante una tarea planificada puede advertirle con un mensaje en su buzón de correo electrónico y proporcionarle información acerca de algún problema que se haya detectado.

La función del siguiente script es comprobar, entre una lista de servidores, si el servicio Servidor de Servicios de implementación de Windows (WDSServer) está correctamente iniciado. En caso negativo, o si se ha detectado algún otro problema, se envía un correo electrónico.

Requisitos previos

Una lista de servidores de Windows con el rol Servicios de implementación de Windows instalado. El nombre de estos servidores debe indicarse en la variable $arrayServidores.

Las variables $login, $pwd y $emailFrom contienen las credenciales y la dirección de e-mail de la cuenta con la que se enviará el correo electrónico. Si se trata de una cuenta genérica, no olvide que esta debe poseer un buzón de correo electrónico.

La variable $emailTo contiene la dirección o las direcciones de e-mail de los destinatarios a los que se enviará el mensaje. Y, por último, la variable $smtpServer debe contener la dirección del servidor SMTP.

El script

# Comprueba si el servidor está en línea y el estado del servicio WDS  
# Se envía un e-mail con una explicación del problema detectado  
# Script a incluir en una tarea planificada  
  
#----------------------------------------------------#  
# Funciones  
#----------------------------------------------------#  
# Function eMail (envío de e-mails)  ...

Implementar carpetas compartidas

Esta sección le mostrará cómo implementar carpetas compartidas y cómo administrar los permisos de compartición, abordando también la seguridad NTFS. El script propuesto a continuación no funcionará en Windows 7, pues se utilizan los cmdlets *-SmbShare y *-SmbShareAccess. Debe disponer, por lo tanto, de una versión de Windows superior.

Requisitos previos

No existen requisitos previos particulares para este script. Sin embargo, conviene ejecutarlo como administrador.

Debe definir la ruta de acceso a la carpeta que se compartirá (variable $folderPath), y a continuación el nombre del recurso compartido (variable $shareName), con las siguientes líneas de comando:

$folderPath = $env:SystemDrive + "\Public"  
$shareName = "Public" 

Por último, debe definir los permisos del recurso compartido y los permisos NTFS. Para ello, debe indicar las cuentas AD y el nivel de permisos asociado.

Los permisos NTFS aplicados sobre la carpeta se definen en la siguiente línea de comando, en el array que se pasa como segundo parámetro en la llamada a la función Security:

# Agrega los permisos NTFS (pestaña Seguridad)  
Security $folderPath @{"CONTOSO\Julien"="FullControl";"CONTOSO\ 
Benjamin"="ReadAndExecute"} 

Para los permisos sobre el recurso compartido, hay que introducir también la información presente en la siguiente línea de código, durante la llamada a la función Sharing:

# Compartir la carpeta  
Sharing $folderPath $shareName @{"CONTOSO\Julien"="Full"; 
"CONTOSO\Benjamin"="Read"}...