Mostrando entradas con la etiqueta Powershell. Mostrar todas las entradas
Mostrando entradas con la etiqueta Powershell. Mostrar todas las entradas

martes, 9 de julio de 2013

Que tiene de nuevo Hyper-V en Windows Server 2012 R2?



Bueno, despues de haber visto videos y presentaciones del TechEd del pasado mes en Madrid, os dejo estos links sobre "Qué tiene de nuevo Hyper-V (What's New in...), Failover Cluster y Powershell 4.0.

Os dejo este video de Channel9 y la  PPT de rigor.

Espero que os gusten.

Saludos robeznos.

jueves, 4 de julio de 2013

Afinar la configuración de nuestro Cluster Hyper-V Windows 2012. Preferred Owners o Nodos preferidos a traves de Powershell.

Como continuación al Post del viernes pasado (este), sobre la afinación en la configuración de nuestro Cluster Hyper-V Windows 2012, dejamos pendiente la configuración a través de Powershell.

Allá vamos. Lo dividiremos en varias partes, debido a su amplitud,, Preferred Owners, Proceso de Failover, Mejoras en el Orden de arranque de las VM y Reglas de Afinidad y Antiafinidad.

.

PREFERRED OWNERS

Partimos desde el punto de que ya tenemos instalado nuestro Cluster de Windows Server 2012 con el Rol de Hyper-V, por lo tanto, al instalar la RSAT, nos cargaría el módulo de PowerShell para FailoverCluster:

HVCluster000011.- Ordenamos los elementos del Cluster.-

Get-ClusterGroup

2.- Ordenamos los elementos del Cluster dependiendo del propietario.-

Get-ClusterGroup | Get-ClusterOwnerNode

TunningHyper-V000100005

Donde vemos los Host preferidos para las VMA y VMB, así como los recursos del Cluster Group y Available Storage .

3.- Asignamos un propietario preferido, el Host A, a una VM por ejemplo a la VMA:

Get-ClusterGroup VMA | Set-ClusterOwnerNode HOST_A

y comprobamos que el recuros VMA tiene su Owner en el Host A:

TunningHyper-V000100006

Si queremos volver a quitar los Preferred Owners de la máquina virtual VMA, sin ningún problema:

Get-ClusterGroup VMA | Set-ClusterOwnerNode ""

 

Bibliografia

Altaro.

viernes, 18 de enero de 2013

Exchange Environment Report - Informe de nuestra Infraestructura de correo.

Hace tiempo implanté en mi infraestructura de correo la ejecución del siguiente script 'Exchange Environment Report' para que cuando llegue a primera hora vea el estado de todos mis servidores de correo, exactamente la siguiente información:
  • Servidores Exchange, con su versión y Service Pack.
  • Total de buzones por Exchange.
  • Total de servidores Exchange por rol y por Site.
  • Buzones por Site.
  • Roles instalados en cada servidor.
  • Bases de datos, espacio ocupado, espacio disponible, espacio en blanco.
  • Tamaño de los ficheros Logs de transacciones.
  • Número de buzones, 
  • DAGs
  • Backups, etc., etc.,

Este es un ejemplo de la pinta que tiene:


Lo podeis descargar desde aqui.
Espero que os guste.

Bibliografia
Esteve Goodman's Exchange Blog.

lunes, 31 de diciembre de 2012

Top 10 en tareas de Directorio Activo solucionadas con Powershell. Tarea X. Encontrar equipos por tipo.

Para finalizar esta serie rápida y concisa de diez tareas habituales de un administrador de sistemas realizadas con Powershell vamos a encontrar equipos en Directorio Activo por tipo, tal como Servidor, portatil, sistema operativo, etc.,

Cuando un equipo entra en dominio, se vuelca cierta información sobre Directorio Activo, como por ejemplo y sirviendonos para este Post, el Sistema Operativo


Si ejecutamos el siguiente cmdlet nos mostrará todos los sistemas operativos que tenemos en nuestro Directorio Activo. No extrañaros de lo que aparece:

Get-ADComputer -filter * -Properties OPeratingSystem | Select OperatingSystem -unique | Sort OperatingSystem


Por otro lado, si lo que queremos es saber qué equipos tienen un determinado sistema operativo, ejecutamos el siguiente cmdlet:


Poco mas que contaros, que tengo que actualizar estos equipos obsoletos que me han aparecido.
Saludos y feliz año 2013

Bibliografía:
WindowsITPro.

Top 10 en tareas de Directorio Activo solucionadas con Powershell. Tarea IX. Deshabilitar cuentas de equipo.

Penúltima entrega de esta serie de Post.... y allá vamos.

¿Cómo deshabilitamos una cuenta de equipo?

Disable-ADAccount -Identity 'RobeznoDC$' -whatif (ya sabeis que lo del whatif):


Otra forma de hacerlo es mediante un entubado:


Y, enlazándolo con el post anterior, donde hablamos de cuentas de equipo obsoletas, entubamos la salida para deshabilitar todas aquellas cuentas de equipo que estén obsoletas a partir de una fecha:


Ya nos queda solo uno.
Saludos,

Top 10 en tareas de Directorio Activo solucionadas con Powershell. Tarea VIII. Encontrar cuentas obsoletas.

Ya nos queda poquito, de tareas y de año 2012.

Según Jeffery Hicks, autor del artículo y blog en el que me baso para esta serie de Posts sobre tareas habituales de un administrador de Directorio Activo ejecutadas con Powershell, surgen dudas de cómo considerar obsoletas las cuentas de Directorio Activo.

Bien, seguiremos su criterio y definamos que son aquellas cuentas de equipo que la password no ha sido modificado en los últimos 90 dias, asumiendo que si un equipo está mas de 90 dias sin contactar con sus controladores de dominio, deja de poder acceder a los recursos de dicho dominio.

Ejecutando el siguiente cmdlet entubado nos proporciona aquellas cuenta de equipo obsoletas:


Poco mas que decir al respecto.
Un saludo,

Top 10 en tareas de Directorio Activo solucionadas con Powershell. Tarea VII. Enumerar miembros de un grupo.

Otra tarea bastante habitual, en mi caso, la de descubrir qué usuario pertenecen a un grupo.

Get-ADGroupMember 'nombre del grupo' nos mostrará todos sus componentes:


Y ¿Qué ocurre cuando hay usuarios anidados? me explico, y ¿si en un grupo tenemos otro grupo que contiene a otros usuarios? En estos casos añadiremos el parámetro -Recursive mostrándonos el siguiente resultado:


En este ejemplo, el grupo SuperUsers está formado por el usuario Ronin y el Grupo Usuarios de Zaragoza. Este último grupo está a su vez formado por el usuario prueba.
Nos vemos.

viernes, 28 de diciembre de 2012

Top 10 en tareas de Directorio Activo solucionadas con Powershell. Tarea VI. Encontrar grupos vacios.

Ya hemos pasado el ecuador de esta extensa lista de tareas habituales de un administrador y vamos a buscar en Directorio Activo aquellos grupos que no tienen contenido.

Ejecutamos el siguiente cmdlet entubado:


Como veis, nos aparecen grupos creados en Directorio Activo por defecto que, en este caso, no contienen ningún usuario.

Pero, ya sabeis que nos gusta complicarnos un poquito. Aqui os dejo otro ejemplo en el que podemos especificar la OU y el tipo de Grupo, en este caso, Universal, independientemente de si es un grupo de seguridad o una Lista de Distribución:


Que poco nos queda de 2012.
Un saludo

Top 10 en tareas de Directorio Activo solucionadas con Powershell. Tarea V. Añadir miembros a un grupo.

Otra tarea ardua del administrador es la inclusión de usuarios en grupos o listas de distribución. Vamos a añdir a nuestro querido usuario "ronin" al grupo"SuperUsers":


Comprobamos la inclusión en dicho grupo:


Como veis es muy sencillo, podemos incluir cientos de usuarios a un grupo, independientemente de si es de seguridad o Lista de distribución.

Pongamos un ejemplo mas complejo. Vamos a meter a todos los usuarios que tengan el parámetro "Ciudad"="Zaragoza" en un grupo denominado "SuperUsers". Este campo de Directorio Activo se puede ver en la siguiente captura:



Ejecutamos el siguiente cmdlet:

Finiquitado por hoy.
Besos y abrazos.

Top 10 en tareas de Directorio Activo solucionadas con Powershell. Tarea IV. Borrar una cuenta.

Sabemos que desde la consola de ADU&C borrar una cuenta es muy sencillo, pero y ¿si tenemos que borrar múltiples cuentas?

En este caso con Powershell ejecutariamos Remove-ADUser <usuario>
(Aqui he sido un valiente borrando la cuenta que tengo de pruebas)

Pero, ¿si queremos borrar un grupo de usuarios, como por ejemplo, si queremos borrar todas las cuentas que están deshabilitadas dentro de la OU Staging que no han tenido cambios en los últimos 180 dias?

Get-ADUser -filter "enabled -eq 'false'" -property Whenchanged -SearchBase "OU=Staging,DC=ROBEZNO,DC=com" | where {$_.WhenChanged -le (Get-Date).addDays(-180)} | Remove-ADUser
Como podeis comprobar, el uso de tuberias nos aporta una mayor potencia a Powershell. En este caso primero hemos entubado el resultado de la búsqueda en la OU Staging de aquellas cuentas con "Enabled"=False, vamos, desabilitadas, en un segundo tubo que nos buscará aquellas cuentas que no hayan sido modificadas en los últimos 180 dias, para, finalmente, eliminar el resultado.

Hasta la proxima.

jueves, 27 de diciembre de 2012

Top 10 en tareas de Directorio Activo solucionadas con Powershell. Tarea III. Desbloquear una cuenta.

Hoy toca desbloquear una cuenta. Nuevamente una tarea fácil desde la consola de Active Directory User & Computers (ADUC), pero vamos con Powershell.

Ya sabeis que cuando un usuario introduce n-veces mal su password se bloquea la cuenta, todo depende de la politica que hayamos definido para Directorio Activo. en este caso, yo tengo definido que si introduces 10 veces mal la password (para asegurar, que los lunes son muy malos), el usuario se bloquea automáticamente durante 10 minutos.


Para desbloquearlo, ejecutamos Unlock-ADAccount <usuario>


Con este cmdlet si tenemos la opción de los parámetros -Whatif o -Confirm como se puede ver en la imagen.
Nos vemos.

miércoles, 26 de diciembre de 2012

Top 10 en tareas de Directorio Activo solucionadas con Powershell. Tarea II. Habilitar/deshabilitar cuenta.

Continuamos con estas breves lecciones de Powershell. Hoy Habilitar o Deshabilitar cuentas en Directorio Activo.

Para deshabilitar una cuenta, utilizaremos el cmdlet Disable-ADAccount. Sirva como ejemplo el de nuestro usuario de pruebas 'ronin':


A diferencia del cmdlet del post anterior, éste si nos deja introducir el parámetro -Whatif, que nos permitirá ver el resultado de nuestra acción antes de hacerlo en producción.

Comprobamos el resultado:


 Si queremos habilitarlo, pues ejecutamos Enable-ADAccount:


¿Cómo sacar partido a este cmdlet? Pues ejecutándolo mediante un entubado (pipe). Ejemplo, queremos deshabilitar todas las cuentas de un departamento, Recursos Humanos, pues nada ejecutamos el siguiente cmdlet, el cúal, primero nos buscará todos los componentes de un departamento, entubando el resultado a la deshabilitación de la cuenta:


Interesante.
Nos vemos.

lunes, 24 de diciembre de 2012

Top 10 en tareas de Directorio Activo solucionadas con Powershell. Tarea I. Restablecer password.

Como os iba diciendo, Powershell lleva con nosotros un tiempo y no nos hemos metido a fondo con él. Comenzamos con esta serie de diez Post con un clásico en la administración cotidiana de Directorio Activo, reestablecer la pasword de un usuario.

La manera mas sencilla de realizar esta tarea es con el cmdlet Set-ADAccountPassword como puede verse en la imagen:


Y ya tendríamos la contraseña cambiada. Sencillo ¿verdad?

Pero vamos a complicarnos un poquito guardando la password como una cadena sergura, de manera que se almacene encriptada en memoria durante toda nuestra sesión, permitiéndonos, por ejemplo, utilizarla para reinicializar password de múltiples usuarios.

Para empezar creamos una variable, denominado new en nuestro caso, que contenga la Password:
 

para luego, asignarla a una cuenta de directorio activo, por ejemplo al usuario 'ronin', como ejemplo:


Una buena práctica es fijar que el usuario cambie la password que le hemos asignado en el pirmero Logon:


Comprobamos que sea así,


Facil y seguro.

Nos vemos,

viernes, 21 de diciembre de 2012

Top 10 en tareas de Directorio Activo solucionadas con Powershell. Introduccion.

Todos los dias escuchamos que Powershell es impresionante, util e indispensable, que es el futuro para realizar tareas simples y complejas, etc. Bueno, pues pongámos remedio. En esta serie de Post voy a contaros 10 tareas habituales de un administrador de sistemas solucionadas utilizando Powershell.

Requerimientos:

Tener instalado Powershell y ejecutar los cmdlets desde Windows 7 o superior, o desde un Controlador de Dominio Windows Server 2008 R2 o superior.

Tener instaladas las Remote Server Administation Tools (RSAT).
Cargar el modulo de powershell para Directorio Activo ¿cómo?


Podemos listar todos los cmdlets que componen este módulo:


Como veis, unos cuantos.
Hasta el próximo Post.

Bibliografía:
Windows ITPro.

miércoles, 28 de noviembre de 2012

Powershell version 3.0. Ya disponible.

Hola,
Ya está disponble desde hace unas semanas la versión 3.0 de Powershell, para Windows 7 y/o Windows Server 2008 y 2008 R2.

Se puede descargar desde Aqui.

Una vez instalada, podemos comprobar con un simple comando qué versión tenemos:


Suerte y a empezar a realizar todas nuestras tareas con Powershell.

miércoles, 21 de noviembre de 2012

RBAC Manager R2 - Para ver nuestra configuración RBAC.

La semana pasada varios compañeros estuvieron en un Workshop de Exchange 2010 Troubleshooting en Microsoft. De ahí me han traido esta relíquia, desconocida por mi, un gestor de roles de Exchange 2010, o sea, RBAC Manager R2.

En principio solo nos hace falta conexión mediante http al servidor. Si ejecutamos la herramienta, nos da la opción de conectarnos a nuestra versión On-Premises u Office 365:


Una vez introducidas nuestras credenciales, realizamos la conexión y .... tachán:


Este es un ejemplo sobre los permisos en los grupos que se generan en Directorio Activo cuando instalamos Exchange 2010.

Os dejo el link de Codeplex para descargaros esta herramienta: Aqui.


Como añadido, encontré esta semana un script de Powershell, ya en 3.0, que genera un reporte en formato HTML sobre las entradas existentes en la configuración de RBAC.

Lo podeis descargar desde Aqui.
Gracias Jopuma por la info.
Nos vemos.

martes, 7 de agosto de 2012

Scripts básicos de Powershell para administradores de Exchange 2010. Parte IV.

Finalizamos con este post los scripts básicos para administrar Exchange 2010:

10.Install-AntispamAgents.ps1.- Uno de los trabajos habituales de los servidores con el rol EDGE Transport es realizar la higiene de mensages, chequeando tanto la entrada como la salida de correos de virus y spam.

En cuanto a los servidores con el rol HUB Transport, pueden realizar los mismos trabajos de higiene que los EDGE, pero los agentes AntiSpam no están instalados por defecto. Con este script activamos dichos agentes en nuestro servidores:



Una vez reiniciado el servicio (Restart-Service MSExchangeTransport), podemos ver todos los agentes Anti-Spam que se han cargado y habilitado en nuestros servidores HUB Transpot:



Para desintalar dichos agentes, .\Uninstall-AntispamAgents.ps1.

11. Move-TransportDatabase.ps1.- De este ya hemos hablado en los Posts de Instalación del rol Hub Transport. Os resumo, una vez instalado el rol HUB Transport o EDGE Transport en un servidor, las bases de datos y logs de transacciones se instalan por defecto en el disco de sistema. Tenemos dos formas de moverlos a otros discos (que es lo recomendado), y una de ellas es usando este script:
.\Move-TransportDatabase.ps1 -QueueDatabasePath <ruta de destino> -QueueDatabaseLoggingPath <ruta de destino>

Ubicación por defecto:
 Una vez ejecutado el script:

12. ActiveSyncReports.ps1.- Genera informes sobre los dispositivos que se conectan a nuestro servicio de ActiveSync. Lo podemos descargar de este Link. y tiene esta pinta: 
Necesitaremos tener instalado tanto Powershell v2 como LogParser 2.2


13. Get-ADSchemaReport.ps1.- Este Script nos genera un informe con la historia de las actualizaciones realizadas en el Schema de Directorio Activo. Por fin podemos conocer el BigBang de nuestro AD. Lo podemos descargar desde este link.
.\Get-ADSchemaReport.ps1 > ADSchemaReport.txt

Se que ha sido un poco duro todo esto de los Scripts pero ..... son muy utiles.


Bibliografia:
Technet.