Local Administrator Password Solution (LAPS) Disponible

martes, 25 de agosto de 2015




Desde hace un tiempo, y desde sus primeras versiones he venido utilizando la herramienta AdmPwd que permita el manejo de la contraseña del usuario administrador local, almacenándola en un atributo de Active Directory, lo cual permite gestionar el tema de manera centralizada y cada usuario tendrá una contraseña diferente en cada uno de los equipos dentro del alcance de la solución. Para ver cómo se instala y funciona la herramienta puede revisar el siguiente artículo que escribí sobre la herramienta: http://www.cesarherrada.com/2015/01/cambiar-contrasena-de-administrador.html

Pero la buena noticia es que desde Mayo de este año la herramienta ya está disponible desde el centro de descargas de Microsoft.

Aquí está el Security Advisory 3062591 donde se anuncia: 

Y aquí tenemos el enlace oficial al centro de descargas de Microsoft:

La herramienta ha sido llamada por Microsoft Local Administrator Password Solution (LAPS) así que en adelante nos referiremos a LAPS cuando de esta herramienta se trate. 

Crear cuenta de servicio local con PowerShell

lunes, 24 de agosto de 2015


En algunas ocasiones podemos tener la necesidad de crear una cuenta de servicio local, donde claramente no tenemos Active Directory para crear una cuenta de servicio de dominio, en estos escenarios es común requerir a técnicas como por ejemplo un adaptador [ADSI], pero el título de este artículo es claro en mencionar que la creación de la cuenta de servicio es con PowerShell, y mejor aún la podemos crear en equipos remotos ¿cómo es posible? veamos a continuación.

Actualmente no disponemos de un módulo de PowerShell que lo permita, pero en el Script Center de TechNet se encuentra una buena solución, un ingeniero de Microsoft ha desarrollado un módulo de PowerShell, que en su interior también hace uso del adaptador [ADSI], pero encapsula todo en el código para que no tengamos que llevar a cabo los complejos pasos que ello involucra, sino que en su lugar usaremos sencillos y amigables command lets o cmdlets.

Para usar el módulo debemos realizar los siguientes pasos:

1. Ingresar a la siguiente URL donde encontraremos el código del Script:
     https://gallery.technet.microsoft.com/scriptcenter/f75801e7-169a-4737-952c-1341abea5823

2. En la página encontraremos el código, seleccione y copie todo el código, el sitio no tiene un botón para descargar un archivo con el código.




3, Abrimos un editor de texto y pegamos el código copiado, en este caso usaré PowerShell ISE



4. Debemos crear un directorio llamado Local_User en el directorio de módulos

Si no conoces la ubicación del directorio de módulos, puedes averiguarlo con el siguiente comando en una consola de PowerShell

$ENV:PSModulePath

Sin embargo, si has trabajado con módulos alguna vez, sabrás que la ruta que siempre exploramos, es la siguiente:

C:\Windows\system32\WindowsPowerShell\v1.0\Modules\


Al final la carpeta de módulos debe tener una apariencia similar a la siguiente:


5. El código que tenemos en el editor debemos guardarlo con el siguiente nombre Local_User.psm1 (Nótese la extensión psm1), debemos guardar este archivo en la carpeta recién creada Local_User



Importante: El módulo y el directorio deben llamarse igual, no poner nombres diferentes.

Y esto es todo, ya estamos listos para usar el módulo, basta con ingresar a una consola de PowerShell e importar el módulo.

Import-Module Local_User


Ahora, creemos una cuenta llamada Service1 en el servidor SERVER02 

 New-LocalUser -userName Service1 -password "P@ssw0rd" -computerName SERVER02


Como podemos apreciar con una sola línea tenemos una cuenta local creada en un equipo remoto, ahora vayamos a SERVER02 a revisar.



La descripción Created by PowerShell sale de forma automática, pero podemos poner nuestra propia descripción usando el parámetro -Description

De manera predeterminada la cuenta recién creada no pertenece a ningún grupo, veamos como podemos agregar esta cuenta al grupo de Administradores por ejemplo. A continuación el comando completo.

Set-LocalGroup Service1 -computerName SERVER02 -add Administrators



El cmdlet Set-LocalGroup sirve para agregar o eliminar miembros de un grupo

Para ver la lista completa de comandos que trae el módulo podemos escribir lo siguiente:

Get-Command *-local*


Podemos excluir el último comando, como podemos ver pertenece a otro módulo.

También incorpora ayuda, así que si deseamos saber la sintaxis y ver ejemplos de cada comando, basta con invocar la ayuda. Por ejemplo podemos consultar la ayuda del cmdlet Set-LocalUserPassword que sirve para cambiar la contraseña de un usuario local.

Get-Help Set-LocalUserPassword


Esto es todo, espero les sea de utilidad. Hasta la próxima.

Conectarse a suscripción de Microsoft Azure con PowerShell

domingo, 23 de agosto de 2015


La conexión con Azure desde PowerShell nos permite administrar como nos gusta, desde la línea de comando todo lo que tengamos en la nube, vamos directo al grano.

Lo primero es descargar e instalar el módulo de PowerShell para Azure mediante el cual podemos realizar prácticamente las mismas cosas que podemos hacer desde el portal, el módulo debemos instalarlo mediante el instalador de plataforma web de Micrtosoft más conocido como (WPI), disponible para descarga a través del siguiente enlace:



Una vez descargado ejecutamos el instalador y veremos la siguiente ventana


Simplemente hacemos clic en el botón Install


Iniciará el proceso de instalación, podemos tomar un café mientras termina la instalación.


Al finalizar ya tendremos el módulo instalado! hacer clic en Finish para terminar



En la última pantalla de la instalación podemos observar que Microsoft Azure PowerShell se encuentra instalado, y de paso podemos ver que se nos ofrece instalar algunas otras herramientas de interés, si vamos a las pestañas Products y Applications encontraremos muchas cosas interesantes.


Para terminar hacemos clic en el botón Exit

Ahora, en el grupo de Apps veremos una nueva:


El módulo de PowerShell para Azure, el cual nos será de bastante utilidad para administrar nuestra infraestructura de nube.

Ahora si, vamos al objetivo de este artículo, conectarnos a la suscripción de Azure, para ello vamos a utilizar el método de autenticación con Azure AD para lo cual debemos tener una cuenta en un tenant de AD, veamos el proceso:

1. Abrimos una consola de Azure PowerShell y escribimos el siguiente comando: Add-AzureAccount

2. Se abrirá la ventana para iniciar sesión en Microsoft Azure, escribimos la cuenta y hacemos clic en Continue



Después de verificar la cuenta solicitará las credenciales de la misma, una vez digitadas hacemos clic en Sign in


3. Micrtosoft Azure realiza la autenticación y cierra la ventana

Nota: A partir de la versión 0.8.6 del módulo de PowerShell para Azure, se puede especificar las credenciales haciendo uso del cmdlet Get-Credential con ello se evitará la ventana emergente, simplemente debemos escribir lo siguiente desde la consola de PowerShell:

$cred = Get-Credential

Add-AzureAccount -Credential $cred

4. Una vez termine la verificación de la cuenta veremos el detalle de la suscripción en la consola de PowerShell


De este modo ya tenemos conexión con la suscripción predeterminada y podemos empezar a lanzar instrucciones, por ejemplo vamos a consultar las instancias de máquina virtual existentes, basta con el cmdlet Get-AzureVM


Bien, como podemos ver la tarea es sencilla, existe otro método para conectarse a la suscripción que es el método con certificados, pero este es el recomendado ahora por Microsoft, el de certificado complica la administración cuando existen varias personas con acceso a la suscripción, por lo cual no hablaré sobre dicho método en este artículo.



Espero esta información sea de utilidad y nos vemos en un próximo artículo.

Cómo cambiar la suscripción por defecto en Azure


En Azure puede ocurrir que tengamos varias suscripciones asociadas a nuestra cuenta, y cuando deseamos administrar desde el módulo de PowerShell para Azure, éste siempre se conectará a la suscripción por defecto, es allí donde nace la necesidad de cambiar a otra suscripción para ejecutar tareas sobre ella, primero veamos cómo se hace para saber cuál es la suscripción que predeterminada, para lo cual bastará con ejecutar el siguiente comando:

Get-AzureSubscription -Default


Nótese la propiedad IsDefault en True

Si utilizamos el cmdlet Get-AzureSubscription se listarán todas las suscripciones


Ye teniendo en mente sobre cual suscripción vamos a trabajar y por ende deseamos conectarnos, ejecutamos el siguiente comando:

Select-AzureSubscription "Nombre de la suscripción"

Luego, podemos verificar si la suscripción que seleccionamos es la actual, para ello ejecutamos el sigueinte comando:

Get-AzureSubscription -Current

Veamos el resultado de los dos comandos anteriores en una sola imagen:


Podemos ver que efectivamente estamos conectados a otra suscripción.

Importante: Los parámetros -Current -Default muestran el mismo resultado en las últimas versiones del módulo, ya que el cmdlet Get-AzureSubscription ya marca estos parámetros como depreciados, tal como se muestra a continuación.


El archivo JSON donde se almacena esta información es llamado AzureProfile y se encuentra en la siguiente ubicación:

%userprofile%\AppData\Roaming\Windows Azure Powershell

Espero esta información les sea de utilidad. Hasta la próxima.

Cómo crear cuenta de almacenamiento en Azure


Cuando estamos trabajando en Azure uno de los primeros recursos a crear debe ser una cuenta de almacenamiento, que es básicamente el lugar donde vamos a guardar nuestras máquinas, datos de aplicación o cualquier otro tipo de información, veamos lo sencillo que resulta en Azure hacerlo:

1. Ingresamos al portal de administración de Azure y en el panel de la izquierda seleccionamos Almacenamiento


2. En la parte inferior izquierda de la pantalla hacemos clic en Nuevo


3. Desplegamos hasta llegar a los datos de la cuenta, tal como se indica a continuación:



A. Seleccionar Almacenamiento
B. Seleccionar Creación rápida
C. En Dirección URL elegimos el nombre que llevará la cuenta (debe ser un nombre único), el cual llevará la extensión core.windows.net
D. E, ubicación grupo de afinidad seleccionamos un grupo previamente creado o elegimos la región (datacenter) donde se aprovisionará el almacenamiento.
E. En replicación elegimos si deseamos que la cuenta sea replicada en otros centros de datos o localmente.

Al terminar hacemos clic en Crear cuenta de almacenamiento


Esperamos un par de segundos hasta que finalice la creación, y al final tendremos nuestra cuenta lista para usar.


Al hacer clic sobre el nombre de la cuenta de almacenamiento, en este caso azurecloudla tendremos acceso a un menú superior con varias opciones, por ahora vamos a explorar solo la opción Contenedores


Al ingresar veremos un anuncio que indica que no tenemos ningún contenedor, hacemos clic en Crear contenedor


Nos pedirá un nombre y un tipo de acceso, voy a ponerle backup pues pienso usar este contenedor para almacenar copias de seguridad, nótese que los contenedores podemos verlos como una especie de "carpeta" en la cual guardaremos algún tipo de información, y el tipo de acceso es quién podrá tener acceso al contenedor.



Para este caso cree el contenedor de tipo Privado (solo puede acceder el propietario de la cuenta).

Ya con esto tenemos nuestro contenedor, observe la URL que se le ha asignado para poder tener acceso al mismo desde Internet.


Si hacemos clic en el nombre del contenedor, éste se abrirá y se podrá observar su contenido, que en este caso no tenemos, dado que lo acabamos de crear.

Nota: En Azure los blobs son cualquier tipo de archivo, es decir allí podemos almacenar texto, imágenes, vídeo, sonido, etc.

Una cuenta de almacenamiento puede tener múltiples contenedores.

De este modo hemos aprendido cómo crear una cuenta de almacenamiento, en futuros artículos utilizaremos esta misma cuenta y mostraré cómo poner información allí.

Hasta la próxima.

Copiar archivos en Azure desde PC con AzCopy


En esta entrada vamos a explorar un poco la forma de copiar información desde nuestro equipo local hacia una cuenta de almacenamiento en Azure, es bastante común tener que transmitir datos bien sea entre servidores on-premise y Azure e incluso entre cuentas de almacenamiento y contenedores del mismo Azure, la herramienta AzCopy es una buena opción cuando se trate de pasar información a gran escala y se espere un rendimiento óptimo, es algo así como un Robocopy para Azure, la herramienta tiene bastantes parámetros y muchas utilidades, las cuales a medida que vaya probando trataré de postear en este blog, sin embargo, el propósito de esta entrada es mostrar cómo se usa la herramienta para copiar un archivo desde un equipo local hacia una cuenta de almacenamiento en Azure

Lo primero es descargar la última versión de AzCopy desde la siguiente URL:

Una vez descargado ejecutamos el paquete .msi MicrosoftAzureStorageTools


Y seguimos los pasos del asistente para la instalación. Clic en Next para continuar



Aceptamos los términos de la licencia y hacemos clic en Next


Seleccionamos la ubicación donde se instalará la herramienta, clic en Next


Por último, clic en Install para que inicie el proceso de instalación.


Cuando termine la instalación hacemos clic en el botón Finish


Ahora que tenemos instalada la herramienta, si revisamos el grupo de Apps de Azure, veremos una nueva llamada Microsoft Azure Storage Command Line


Al abrir, veremos la consola  sobre la cual ejecutaremos los comandos para copiar información desde nuestro PC local hacia un contenedor en Azure.


Para iniciar la prueba, voy simplemente a crear un archivo con tamaño de 1GB, el cual subiré a un contenedor en Azure, para la creación utilicé el comando fsutil como se muestra a continuación:

fsutil file createnew c:\temp\file.txt 1073741824

Lo anterior, crear un archivo llamada file.txt en la ruta C:\temp

Uno de los parámetros de AzCopy es la la llave en el destino, es decir, en la cuenta de almacenamiento de Azure, para obtenerla debemos ingresar al portal, y al ubicarnos sobre la cuenta de almacenamiento en la parte inferior hacemos clic en la opción Administrar claves de acceso


Hacemos clic en el icono que aparece junto a la clave para que la llave se copie de manera automática al portapapeles.

Podemos guardar la clave en algún archivo de texto o mantenerla en memoria para pegarla en la consola de AzCopy.

Escribimos lo siguiente para copiar el archivo file.txt que generamos al contenedor en Azure.

AzCopy /Source:C:\temp /Dest:https://azurecloudla.blob.core.windows.net/backup /DestKey:key /Pattern:file.txt

La información en negrilla es la que debe reemplazar por sus propios datos.


Como se puede apreciar en la imagen, se indica que ha finalizado la copia de 0 archivos y muestra la tasa de transferencia (a esa velocidad ya imaginarán cuando tardaré subiendo 1GB), aquí solo resta esperar hasta que la herramienta suba el archivo de 1GB que generamos.

Al finalizar el proceso de copia, se mostrará en pantalla el resumen de la operación.


Ahora, me voy a conectar al portal y navegaré hasta el contenedor backup para observar el archivo desde allí.

Y efectivamente, aparece nuestro archivo file.txt de 1GB de tamaño.

Espero esta información les sea de utilidad, y si voy descubriendo cosas de AzCopy las pondré por aquí.

Hasta la próxima.

Evento: Active Directory automatización y mejores prácticas

miércoles, 29 de julio de 2015



Termina el mes de Julio, y con él esta serie de eventos sobre Active Directory durante todos los martes del mes. Agradezco mucho a las personas que me acompañaron, noté mucho el interés por el tema, y trataré de plasmar en este espacio varios de los temas que se trataron durante las 4 sesiones.
Un abrazo gigante, y nos vemos en futuros eventos.



 

Lo más visto

Comunidad

Comunidad
Comunidad Técnica

Visitas