Windows Server 2016 Hyper-V NAT VirtualSwitch

Hasta ahora cuando configurábamos nuestro Hyper-V en Windows Server 2012 R2 teniamos la posibilidad de configurar tres tipos de Virtual Switch, externo, interno y privado. Microsoft ha incluido en la última preview de Windows Server 2016 la posibilidad de crear un nuevo Virtual Switch de tipo NAT. Por ahora solo podemos crearlo mediante PowerShell.

Vamos a ver que paso tenemos que dar para crear ese virtualswitch.

New-VMSwitch -Name “SwitchContainers” -SwitchType NAT -NATSubnetAddress 172.16.0.0/24

Configuramos el NAT.

New-NetNat -Name ContainersNAT -InternalIPInterfaceAddressPrefix “172.16.0.0/24”

Esto configurara un nuevo adaptador de red de VM en el host utilizando la IP 172.16.0.1. A continuación solo tenemos que utilizar NATSwitch para conectar las máquinas virtuales a ese virtualswitch. Estas VM utilizaran como gateway la dirección IP 172.16.0.1 Continue reading “Windows Server 2016 Hyper-V NAT VirtualSwitch”

System Center Operations Manager 2016 – Parte I

Aprovechando una demo, vamos a montar un nuevo System Center Operations Manager 2016 sobre SQL Server Standard 2016. Para ello vamos a configurar dos servidores demoscom01 y demoscomsql01. El primer servidor será el servidor de System Center Operations Manager 2016 con las características de Servidor de administración, consola del operador y consola web.

Vamos a crear un conjunto de cuentas de usuario y grupos de directorio activo para nuestro entorno de prueba.

  • DIAZANTUNA\OMAA                 OM Server Action Account
  • DIAZANTUNA\OMDAS               OM Config and Data Access Account
  • DIAZANTUNA\OMREAD             OM Datawarehouse Reader Account
  • DIAZANTUNA\OMWRITE            OM Datawarehouse Write Account
  • DIAZANTUNA\OMSQLSVC         SQL Service Account
  • DIAZANTUNA\OMAdmins          OM Administrators security group

El siguiente paso es hacer al grupo OMAdmins, administrador local de las maquinas demoscom01 y demoscomsql01. Del grupo OMAdmins hacemos miembros del mismo a OMAA, OMDAS, OMREAD y OMWRITE,

Tenemos montada una instancia de SQL Server 2016 en el servidor demoscomsql01 bajo la cuenta de servicio OMSQLSVC. Es muy importante que la instancia de SQL Server este configurada bajo la collation SQL_Latin1_General_CP1_CI_AS ya que si no es así la instalación de SCOM dará error.

Una vez montada la instancia de SQL Server nos vamos al servidor demoscom01 que albergará el servidor de administración de SCOM, e instalamos System Center Operations Manager.

Continue reading “System Center Operations Manager 2016 – Parte I”

Actualizando Active Directory desde Windows Server 2008 R2 – Migracion de FSR a DFS – R

Hola en esta entrada vamos a actualizar nuestro dominio desde una versión 2008 R2 a 2016, introduciendo controladores de dominio Windows Server 2016. Lo primero como casi siempre que metemos nuevos controladores de dominio de nuevas versiones, es actualizar el esquema de Directorio Activo. Para ello necesitaremos los derechos dados por los grupos Enterprise Administrators y Schema Administrators.

Nos ponemos en nuestro nuevo Windows Server que va a actuar como controlador de dominio y bajo powershell con credenciales de administrador ejecutamos:

.\adprep /forestprep

A continuación, en cada dominio del bosque ejecutamos

.\adprep /domainprep

Una vez hecho instalamos el rol de Servicios de dominio de Active Directory. Esto es idéntico a cuando trabajábamos con Windows Server 2012 de igual forma que la promoción así que vamos a saltarnos esta parte.

Promocionamos el nuevo DC dentro de un dominio existente

 

Al finalizar el asistente nos muestra un warning por la replicación de archivos de nuestros DC. Estos controladores de dominio venían heredados de Windows Server 2003 y en su momento no se hizo el cambio de FSR a DFS-R.

Como solución vamos a hacer el proceso de migración de FSR a DFS-R

El proceso es sencillo, aunque tardara más o menos tiempo dependiendo del número de controladores y de los tiempos de replicación entre los sites. El proceso consiste en ir poniendo los controladores en el siguiente estado y espera a que ese estado replique. Continue reading “Actualizando Active Directory desde Windows Server 2008 R2 – Migracion de FSR a DFS – R”

Microsoft Summit 2016

Hola, aprovechando el lavado de cara que le hemos realizado al blog, os dejo las diapositivas del Microsoft Summit del pasado día 6 de octubre. Como sabéis la sesión la impartí con mi colega Samuel Lopez Trenado @samuelltr. Como resumen del evento deciros que ha sido un gran evento organizado por Microsoft y que yo recuerde a nivel técnico en España uno de los mayores en cuanto a sesiones y con mayor nivel de las mismas que recuerde. Como sabéis se presentó Windows Server 2016 y para aquellos que aún no habéis probado no dudéis en bajaros la imagen y poneros a instalarla. Continue reading “Microsoft Summit 2016”

Conexión a Office 365 desde Powershell

Hola a todos, hoy os pongo un pequeño script para conectaros a Office 365. A veces es necesario conectarse mediante Powershell a Office 365 y los servicios que tenemos en el mismo, como por ejemplo para consultar o cambiar los límites del buzón de correo.

Como requisito comentar que necesitamos Microsoft.NET Framework 4.5 o posterior y luego Windows Management Framework 3.0 o Windows Management Framework 4.0.

Dicho esto, lo primero es autenticarnos, para ello guardo mis credenciales de O365 en una variable $UserCredential.

$UserCredential = Get-Credential

A continuación configuramos una sesión a O365 con las credenciales

$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection

Por ultimo lanzamos la sesión

Import-PSSession $Session

Una vez dentro trabajamos con el servicio que queramos con Powershell

Powershell Exportación de usuarios Directorio Activo

En este post vamos a exportar mediante Powershell los usuarios de Directorio Activo a un archivo CSV. Este proceso puede seros útil cuando estéis moviendo usuarios de un dominio a otro para lo cual necesitareis un script de importación que os pondré en el próximo post.

Aquí os va el script:

#Path base donde dejar todos los ficheros y realizar la búsqueda de los que se necesiten.

#Aqui debe de residir el script.

#Ejemplo C:\Script\*.*

 

$path
=
Split-Path
-parent
“c:\script\*.*”

 

#Fecha para el TimeStamp del Log.

 

$LogDate
=
get-date
-f
yyyyMMddhhmm

 

#Ubicacion de los ficheros CSV y Log

#Deben de estar en la misma ubicacion que el script.

 

$csvfile
=
$path
+
“\ALLADUsers_$logDate.csv”

 

#Importamos el módulo de Acive Directory

 

Import-Module
ActiveDirectory

 

#Path DN donde residen los usuarios a exportar

#Ejemplo “OU=Usuarios,DC=dominio,DC=local”

 

$SearchBase
=
“DC=dominio,DC=local”

 

#Get Admin accountb credential

 

$GetAdminact
=
Get-Credential

 

#Controlador de dominio

#Ejemplo DC1

 

$ADServer
=
‘DC1’

 

 

#Buscamos todos los usuarios basados en los parámetros anteriores

 

$AllADUsers
=
Get-ADUser
-server
$ADServer `

-Credential
$GetAdminact
-searchbase
$SearchBase `

-Filter
*
-Properties
*

 

#Filtramos atributos mostrar

$AllADUsers
|

Select-Object @{Label =
“Nombre”;Expression = {$_.GivenName}},

@{Label =
“Apellidos”;Expression = {$_.Surname}},

@{Label =
“DisplayName”;Expression = {$_.DisplayName}},

@{Label =
“SAM”;Expression = {$_.sAMAccountName}},

@{Label =
“Direccion”;Expression = {$_.StreetAddress}},

@{Label =
“Ciudad”;Expression = {$_.City}},

@{Label =
“Estado”;Expression = {$_.st}},

@{Label =
“Codigo Postal”;Expression = {$_.PostalCode}},

@{Label =
“Pais/Region”;Expression = {if (($_.Country -eq
‘ES’) ) {‘España’} Else {}}},

@{Label =
“Titulo”;Expression = {$_.Title}},

@{Label =
“Compañia”;Expression = {$_.Company}},

@{Label =
“Descripcion”;Expression = {$_.Description}},

@{Label =
“Departamento”;Expression = {$_.Department}},

@{Label =
“Oficina”;Expression = {$_.OfficeName}},

@{Label =
“Telefono”;Expression = {$_.telephoneNumber}},

@{Label =
“Email”;Expression = {$_.Mail}},

@{Label =
“Administrador”;Expression = {%{(Get-AdUser
$_.Manager -server $ADServer
-Properties
DisplayName).DisplayName}}},

@{Label =
“Estado de cuenta”;Expression = {if (($_.Enabled -eq
‘TRUE’) ) {‘Enabled’} Else {‘Disabled’}}},

@{Label =
“Ultimo inicio de sesion”;Expression = {$_.lastlogondate}} |

 

#Exportamos a CSV

Export-Csv
-Path
$csvfile
-NoTypeInformation


 

Complemento Azure Automatizacion para PowerShell ISE

En esta entrada vamos a ver como instalar el complemento para PowerShell ISE de Automatización de Azure. Con este complemento el desarrollo de runbooks para la automatización de Azure te será más sencilla. Aquí tenéis toda la info

https://github.com/azureautomation/azure-automation-ise-addon

Instalamos el modulo

Install-Module AzureAutomationAuthoringToolkit -Scope CurrentUser

Cargamos el modulo

Import-module AzureAutomationAuthoringToolkit

Si queremos que PowershellISE cargue siempre el modulo

Install-AzureAutomationIseAddOn

El Add-On se cargara en Powershell ISE

Windows Server 2016 Containers – Paso a Paso

En esta entrada vamos a montar Windows Server Containers. En la última reléase de Windows Server ya podemos instalarlo de forma gráfica. En Administrador del servidor en características podéis montar Containers

 

Forzamos el reinicio

 

Vemos que nuestro host tiene la característica instalada

Creamos un virtual switch para que cada contenedor se pueda conectar a la red. En nuestro caso creamos uno de tipo NAT aunque podría ser de tipo Externo.

Configuramos el NAT. Si el switch virtual es de tipo NAT tenemos que crear el objeto NAT.

Ahora vamos a instalar la imagen del SO base de cualquier HyperV o Windows Server containers. Las imágenes de SO Containers pueden sacarse del modulo de powershell can be ContainerProvider.

Sacamos la lista de imágenes

E instalo la de Windows Server Core

Tengo que esperar a que se descargue la imagen

y la instale

Vemos que nos ha instlado la imagen

Y comprobamos el virtualswitch

Creamos un nuevo contenedor basándonos en la imagen y el virtual switch que hemos instalado y creado en los pasos anterirores

Comprobamos que se nos ha creado de forma correcta el contenedor

Iniciamos el contenedor

Entramos en una sesión de powershell dentro del container

Vemos que nos ha dado una IP del pool que marcamos en el Virtualswitch

Descargamos un aplicativo, en este caso el servidor web de NGINX para Windows. Una vez descargado extraemos el paquete

Vemos que nos ha creado un directorio nginx-1.9.3

 

Salimos del Container, y vemos que si hacemos ping al mismo funciona

 

Paramos el container

Ahora vamos a crear una imagen a partir de este contenedor personalizado con NGINX

Vamos a utilizar la imagen creada para generar nuevos contenedores. Creamos un nuevo contenedor con la nueva imagen

Vemos el contenedor

Lo iniciamos

Establecemos una sesión de Powershell en el contenedor, navegamos hasta el directorio de NGINX

Ejecutamos el servicio de servidor web nginx

Vemos que tenemos una ip

Comprobamos que accedemos

Ahora vamos a configurar un segundo container, en el mismo servidor basado en la misma imagen de NGINX

Iniciamos el container

Vemos que accedemos al mismo con la ip que nos ha dado

 

Conclusión dos servidores web NGINX ejecutados de forma aislado como contenedores sobre Windows Server 2016.