Category Archives: Powershell

Administración Powershell

Windows Management Framework V5 Preview.

Published by:

Aprovechando las presentaciones de Cortana, Windows 8.1 Update, Visual Studio 2013 Update 2, Windows Universal Apps, etc., etc, la semana pasada se anunció la nueva versión de Windows Management Framework 5.0 Preview, con una serie de considerables mejoras:

  • Mejoras en PowerShell Desired State Configuration (DSC).
  • Mejoras en Windows PowerShell ISE
  • Windows PowerShell OneGet
  • Network Switch Cmdlets

Esto es algo que me suele ocurrir, cuando publico un post sobre un Update Rollup de Exchange, al día siguiente aparece uno nuevo. Bueno pues la semana pasada hablaba sobre la versión 4 de Powershell, incluida en el Windows Management Framework v4 y bang! version 5.

OneGet.

Es una nueva forma de descubrir e instalar paquetes de software. Podemos hacer lo siguiente:

  • Administrar una lista de repositorios de software donde los paquetes pueden ser buscados, adquiridos e instalados.
  • Buscar y filtrar en los repositorios para encontrar los paquetes que necesitamos.
  • Instalar y desinstalar paquetes desde uno o mas repositorios con un solo comando de Powershell.

Requerimientos.

Recordamos que el único requerimiento necesario es Microsoft .NET Framework 4.5 (lo podemos descargar desde aqui).

Se soportan los siguientes sistemas operativos:

  • Windows Server 2012 R2.
  • Windows 8.1 Pro
  • Windows 8.1 Enterprise

Tenemos los mismos problemas que con WMF v4 para la instalación de este Framework en los siguientes programas:

  • System Center 2012 Configuration Manager (no incluido SP1).
  • System Center Virtual Machine Manager 2008 R2 (incluyendo SP1)
  • Microsoft Exchange Server 2007
  • Windows Small Business Server 2011 Standard

Sin embargo si podemos instalarlo sobre los siguientes servidores:

  • Microsoft Exchange Server 2013 SP1.
  • Microsoft Exchange Server 2010 SP3 con Update Rollup 3.
  • Microsoft Sharepoint Server 2013 con SP1
  • Microsoft Sharepoint Server 2010 con la Actualización Acumulativa de Febrero 2014

Comprobacion.

Probaremos a lanzar la instalación de algún paquete con OneGet y lo mostraremos la semana que viene. Un saludo,

Post Relacionados:

Windows Server Blog.

– Thomas Maurer (1) y (2)

PowerShell Task Force

Powershell

Instalar Powershell 4.0 en nuestros clientes y servidores. Windows Management Framework 4.0.

Published by:

Buenos dias a todos,

Quiero empezar este nuevo camino publicando bajo el sello de ITPro hablando de Powershell, el amigo desconocido. La última versión, 4.0, disponible para su descarga desde finales del año pasado. En un post anterior ya hablamos sobre la versión 3.0 (lo podeis ver aqui) para instalarla sobre Windows 7 y Windows Server 2008 y 2008 R2,

En este caso, Microsoft ha puesto a nuestra disposición el Windows Management Framework 4.0 (WMF) que contiene un montón de caracteristicas/herramientas, ademas de PowerShell:

  • Windows PowerShell
  • Windows PowerShell ISE
  • Windows PowerShell Web Services
  • Windows Remote Managment (WinRM)
  • Windows Management Instrumentation (WMI)
  • Server Manager WMI provider
  • Windows Powershell Desired State Configuration (DSC)

Requerimientos

Necesitamos tener instalado .NET Framework 4.5 (lo podemos descargar desde este link .NET Framework 4.5)

Plataformas soportadas

  • Windows 7 con SP1
  • Windows 7 Embedded
  • Windows Server 2008 R2 con SP1
  • Windows 8
  • Windows Server 2012

En las siguientes plataformas ya viene instalada de serie:

  • Windows 8.1
  • Windows Server 2012 R2

Link de Descarga: Windows Management Framework 4.0

Comprobación

Como me dijo Juan Carlos Ruiz (Microsoft gurú de Powershell), el primer día de clase, «Podemos saber qué versión tenemos de PowerShell de cualquiera de las siguientes maneras»:

PS400000004

Seguro que se me olvida alguna. Os dejo esta ppt de una presentación que realizó este gran maestro, aunque sea de PowerShell 3.0 para Windows Server 2012 (descargar ppt)

Warning – Cuidado

Para terminar, tenemos que tener cuidado de instalar este Framework en determinados entornos en los que Microsoft, de momento, no lo recomienda, como pueden ser:

  • Microsoft Exchange 2013, Microsoft Exchange 2010 y Microsoft Exchange 2007.
  • Microsoft SharePoint 2013 y Microsoft SharePoint 2010.
  • Windows Small Business Server 2011 Standard
  • System Center Virtual Machine Manager 2008 R2 (incluyendo SP1).
  • System Center 2012 Configuration Manager (sin incluir SP1)

Seguiremos trabajando con Powershell en próximos post, con Windows Powershell Desired State Configuration (DSC) y Windows PowerShell Web Services. Y como dice LazyWinADmin, no os olvides de hacer un:

Update-Help -Verbose -Force

PS400000003

A ver si termino de configurar el WordPress y las iFeature Options. Este post está dedicado a mi compañero y responsable John.

Bibliografia interesante

LazyWinAdmin.

Windows PowerShell Blog.

DZone.

Hyper-V Powershell Windows 2012

Afinar la configuración de nuestro Cluster Hyper-V Windows 2012. Reglas de Afinidad y Antiafinidad a traves de Powershell.

Published by:

Sigo cerrando posts sobre Hyper-V y Windows 2012 que tenía pendientes. En este caso afinación de configuración.

Como continuación al Post sobre la afinación en la configuración de nuestro Cluster Hyper-V Windows 2012 (este), dejamos pendiente la configuración a través de Powershell dividida en las siguientes partes, Preferred Owners, Proceso de Failover, Mejoras en el Orden de arranque de las VM y Reglas de Afinidad y Antiafinidad.

AFINIDAD Y ANTI-AFINIDAD

Para empezar debemos entender que son y cómo funcionan este tipo de reglas.

  • Reglas de afinidad VM – VM  ==> Mantener ejecutándose juntas en el mismo Host.
  • Reglas de anti-afinidad VM – VM ==> Mantener ejecutándose siempre separadas en distintos Hosts.

Parace complejo pero con un ejemplo claro lo vais a ver. ¿Queremos que los Controladores de Dominio se ejecuten todos en el mismo Host de virtualización? ¿Qué pasaría si se nos cae dicho host? Adios dominio. Otro ejemplo, tenemos dos servidores que consumen mas del 50% de la memoria RAM de un Host ¿Queremos tenerlos trabajando juntos sobre el mismo hosts? ¿Podemos?

Centrándonos sobre todo en reglas de Anti-afinidad, para Hyper-V utilizaremos la propiedad AntiAffinityClassNames (paradójicamente existe desde Windows Server 2003). A dicha propiedad no se puede acceder desde la consola de gestión de Failover Cluster pero si desde nuestro gran amigo y ya compañeros Powershell. La forma de interactuar sobre dicha propiedad nos va a dar diversas posibilidades. Yo os las ordeno de mas fácil a más complicada, según mi criterio.

Script de Powershell Configure-AntiAffinity.ps1.

Michel de Rooij, para facilitarnos el trabajo, ha escrito el siguiente scritp de powershell que nos permite configurar la anti-afinidad, Configure-AntiAffinity.ps1. Como ejemplo, no queremos que ninguno de los controladores de nuestro dominio, robezno.com, estén en el mismo Host de virtualización:

Configure-AntiAffinity.ps1 -Cluster Hyper-VCluster.robezno.com -Groups dc01.robezno.com, dc01.robezno.com, dc01.robezno.com -Class DCAntiAffinity -Verbose

Explicamos los parámetros a configurar:

  • Cluster.- especificamos el cluster en el que queremos crear la regla.
  • Groups.- especificamos los Cluster Groups (o sea, las VM) que queremos configurar.
  • Class.- Podemos poner un nombre a la regla.

Resto de opciones.-

Repetimos nuestro ejemplo con los controladores de dominio.

  • Cluster.exe.- Esta opción fue despreciada desde Windows Server 2008 R2. Lo que hacemos es configurar la propiedad AntiAffinityClassNames. Sería:

cluster.exe group «dc01.robezno.com» /prop AntiAffinityClassNames=»DCAntiAffinity»

cluster.exe group «dc02.robezno.com» /prop AntiAffinityClassNames=»DCAntiAffinity»

cluster.exe group «dc03.robezno.com» /prop AntiAffinityClassNames=»DCAntiAffinity»

  • Powershell.- Nuevamente configuraremos la propiedad AntiAffinityClassNames directamente. Os dejo unos ejemplos, el nuestro de los Controladores de dominio y otro de un grupo de Anti-Afinidad cuando tenemos varios servidores de ficheros formando un cluster:

(Get-ClusterGroup dc01.robezno.com).AntiAffinityClassNames = «Domain Controlers»

(Get-ClusterGroup fs03.robezno.com).AntiAffinityClassNames = «File Servers»

(Get-ClusterGroup dc01.robezno.com).AntiAffinityClassNames += «File Servers»

  • Hyper-V Server o Server Core.- Os dejo diversos ejemplos, el de Controladores de dominios, el de poder incluir una VM en varios grupos de anti-afinidad, o el de restablecer o resetear dicha anti-afinidad.

DISM /ONLINE /ENABLE-FEATURE /FEATURENAME:FailoverCluster-CmdInterface

cluster group dc01.robezno.com /prop AntiAffinityClassNames = «Domain Controlers»

cluster group xxxx /prop AntiAffinityClassNames = «Domain Controlers»,»Critical Servers»

cluster group xxxx /prop AntiAffinityClassNames = «»

  • System Center Virtual Machine Manager 2012 con Service Pack 1.- Lo realizaremos desde la consola de gestión. Hardware Configuration ==> Advanced and Availability. Pulsaremos el botón de Manage availability sets y crearemos nuestra regla:

  • Windows Server 2012 R2 con Hyper-V.- Tengo que comprobar cómo está configurado este parámetro para Hyper-V 2012 R2…… ¿tal vez ya esté integrado en la consola de Hyper-V?

Hasta la vista, babe.

Bibliografia

EighTwOne #821.

The things that are better left unspoken.

Blog de Altaro.

Hyper-V Powershell Windows 2012 R2

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

Published by:

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.

Hyper-V Powershell Windows 2012

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

Published by:

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.

Exchange 2010 Powershell

Exchange Environment Report – Informe de nuestra Infraestructura de correo.

Published by:

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.

Directorio Activo Powershell

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

Published by:

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.

Directorio Activo Powershell

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

Published by:

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,

Directorio Activo Powershell

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

Published by:

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,

Directorio Activo Powershell

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

Published by:

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.