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

Poweshell – Conexión y uso de SSH

Ahora en los nuevos Windows 10 puedes utilizar Powershell para SSH utilizando una solución de terceros llamadas Posh-SSH. Como muchos módulos de Powershell lo primero que debemos de hacer es instalarlo.

Install-Module -Name Posh-SSH -RequiredVersion 1.7.4

Una vez instalado vamos a probarlo. Para establecer una sesión utilizamos el cmdlet New-SSHSession

New-SSHSession -ComputerName “diazantuna1.azure.cloudapp.net” -Credential (Get-Credential)

Para ejecutar un comando utilizamos el cmdlet Invoke-SSHCommand

Invoke-SSHCommand -Index 0 -Command “pwd”

Si queréis mas info aquí os dejo un enlace donde podéis obtener scripts de uso de Posh-SSH.

Evento EMS dia 9 de Mayo

Hola a todos, mañana estaremos en Madrid dando una charla sobre Enterprise Mobility Suite en la sede de Microsoft.

 

Estaremos hablando de administración de aplicaciones así como realizando algún LAB para todos los asistentes. Espero veros allí. #InnovateIT

 

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.

Windows Server 2016 Containers

 

Aprovechando el evento de Madrid sobre Windows Server os voy a explicar de qué va a ir la charla que daremos el próximo día 31. En ella hablaremos de Hyper-V Containers.

Aquí vamos a realizar una introducción a los contenedores. El concepto de contenedores no es nuevo y es una tecnología proveniente de Linux en donde el concepto de containers es muy utilizado.

¿Qué es un container?

Os podría dar la definición “oficial”, pero prefiero explicaros poco a poco en que consiste. Vamos a empezar por ver la evolución de los sistemas operativos y las aplicaciones.

Al principio de los tiempos (parece en la edad media) teníamos un servidor físico con un sistema operativo y sobre el mismo montábamos una aplicación.

Host Físico

Esto evoluciono a virtualizar maquinas bajo un servidor físico con un sistema de virtualización. Instalamos el sistema operativo invitado en cada máquina y luego instalamos la aplicación en cada VM.

Máquinas virtuales

 

Los contenedores son un paso delante de este concepto. Los contenedores nos permiten utilizar virtualización a nivel de sistema operativo que crea entornos aislados para diferentes aplicaciones. Es decir, un contenedor con una aplicación es el equivalente a una máquina virtual en un host de Hyper-V, permitiendo ejecutar múltiples aplicaciones sin que unas afecten a otras. Esto se denomina Windows Server Containers, pero vamos en esta versión de Windows Server 2016 se va mas allá llevando los contenedores a las máquinas virtuales montadas con Hyper-V.

Contenedores sobre Windows Server Host Fisico


Contenedores sobre Windows Server en VM de Hyper-V

En próximas entradas hablaremos de Hyper-V Containers y la diferencia con Windows Server Containers.

Windows Server Roadshow

 

El próximo día 31 de marzo estaremos en Madrid en el evento “Windows Server Roadshow” dando la charla “Hyper-V y Contenedores, una nueva forma de virtualización”

El ritmo de evolución de Hyper-V como plataforma de evaluación no se detiene con esta nueva edición de Windows Server. No solo encontraremos mejoras en la gestión de la red, la memoria o el almacenamiento sino nuevas características como los checkpoints de producción, el soporte a políticas de QoS sobre el almacenamiento, las rolling updates en nuestros clústeres o el soporte a la virtualización basada en contenedores.

 

Y también dedicaremos una pequeña parte para hablar de “Datacenters definidos por software, más allá de la computación: Software Defined Networking (SDN) y Software Defined Storage (SDS)”.

La página de registro del evento es http://aka.ms/communityroadshowes.

 

¡Os espero ver a todos en Madrid!!!! #innovateit

Azure AD – 1 identidad 2500 aplicaciones

Hola, el pasado jueves estuvimos en dando un webinar sobre gestión de identidad en Azure. Hablando de ello vamos a ver cómo hacer para habilitar la autenticación con Azure AD de aplicaciones SaaS / aplicaciones Web con Azure AD.

Azure AD es la gestión de identidad y control de acceso para Azure y todas aquellas aplicaciones SaaS proporcionando un SSO y sincronizado a tu directorio activo onpremise. Azure AD viene integrado en Office 365, en Intune y en todas aquellas aplicaciones SaaS que Microsoft sirve a sus clientes.

Vamos a explicar cómo una vez yo tenga mi Azure AD sincronizado con Windows Server Active Directory mediante ADConnect hacemos que la autenticación de las aplicaciones SaaS y Web sean a través de Azure AD.

Entramos en nuestra suscripción de Azure, y bajamos hasta Active Directory

Continue reading “Azure AD – 1 identidad 2500 aplicaciones”