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”

Reflexión Tecnológica – Desarrollando infraestructura

Hola a todos, parece mentira que este sea mi primer post del año, pero la verdad es que no he tenido tiempo hasta hoy de hacer algo que me apasiona, y es escribir en el blog y compartir mis cosas con vosotros.

Hoy voy a hablaros no “de un paso a paso” o un “how to”, voy a hablaros de mis impresiones en los últimos meses de la tecnología que utilizo en mi trabajo y sobre mis impresiones respecto a las mismas.

Como sabéis estoy especializado en tecnologías Microsoft y como no podía ser menos, he estado trabajando en el diseño arquitecturas y sistemas sobre Microsoft Azure.

Sin lugar a duda, lo que más me ha hecho cambiar mi forma de ver las cosas, es el trabajar con la API de Microsoft Azure directamente, olvidándome en parte, de consolas graficas o powershell y centrándonos en la programación de infraestructura con JSON y Azure CLI. Todo el mundo se centra en lo potente que es Azure, lo que se puede hacer, su versatilidad, pero nunca nos hemos parado a pensar en llevar esa versatilidad y potencia, a la implantación, y sin duda los JSON son “supercool y sexys” para este punto, tanto que los sistemas no dejan de ser puras programaciones sobre el API de Azure, que podemos utilizar una y otra vez. Cuando digo utilizar una y otra vez, digo parametrizar el código de tal forma que tan solo introduciendo los valores de los parámetros me permita crear infraestructuras complejas en segundos, esta es la verdadera potencia de Microsoft Azure, reduciendo el Time To Market drásticamente. Como todo en este mundo tiene sus “peros”, y el más grande somos nosotros mismos, la gente de sistemas; ¿Cuántos estáis dispuestos a programar, a convertiros en un developer de sistemas?, probablemente muchos diréis que no, pero desde mi punto de vista estaréis cometiendo un gran error, ya que el presente es el API. Esta forma de implantar en Azure tiene su periodo de aprendizaje, como prácticamente cualquier cosa a nivel de TI, y como os podéis imaginar los primeros despliegues no se hacen en segundos, sino que se hace en días, pero en la implantación de los siguientes proyectos reduciréis el tiempo de implantación drásticamente, debido primero a la curva de aprendizaje, y segundo al reaprovechamiento del código realizado anteriormente.

Con todo esto lo que quiero deciros es que debemos avanzar en la misma medida que avanza la tecnología, tenemos avanzar nosotros los técnicos, y deben de avanzar los CEOs y directores IT de las empresas, no buscando aquello en lo que se encuentren mas cómodos, sino aquello que les permita obtener un mayor rendimiento de los recursos invertidos.

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


 

Instalación de Azure Powershell

En esta entrada vamos a instalar y usar el módulo de Azure PowerShell. Si trabajas con Azure sabes que Powershell es básico más cuando realizas tareas de automatización. Tened en cuenta y supongo que para todos los que utilizamos Azure esto no es nuevo, tenemos dos módulos de Powershell, el del nuevo portal y el del clásico.

Si estamos con el nuevo, para instalarlo

Install-Module AzureRM

Si utilizamos powershell a través del portal clásico

Install-Module Azure

Para iniciar sesión en el nuevo portal

Login-AzureRmAccount


En el portal clásico

Add-AzureAccount

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