miércoles, 7 de diciembre de 2016

Segundo Webcast de la serie sobre Azure

Hola.

Os dejo el link del segundo Webcast de la serie sobre Azure. En este WEbcast, David Carrasco y yo, hablamos sobre Máquinas virtuales.

Haga clic aquí para unirse al seminario web.


Saludos.

jueves, 1 de diciembre de 2016

Getting GPOS and GPO Links

Hello.

This script creates a txt file with the next information:

- GPOName
- LinksTo
- Enabled
- NoOverride
- CreatedDate
- ModifiedDate


Script:

$names=get-gpo -all
        $output= foreach ($name in $names) {
            get-gpolink -name $name.DisplayName
            }
         $output | out-file C:\temp\GpoandLinks.txt



martes, 29 de noviembre de 2016

Webcast sobre máquinas virtuales en Azure

Hola.

Este próximo Viernes, realizaremos el segundo Webcast de la serie sobre Azure.

Aquí os dejo el link.

Saludos.

Primer Webcast de la serie sobre Azure

Hola.

El pasado Viernes, David Carrasco y yo realizamos el primer Webcast sobre Azure de una serie de ellos que estamos haciendo para Microsoft.

Aquí tenéis el enlace de la grabación del primer webcast:

https://t.co/EoDK4avAL1

Saludos.

martes, 4 de octubre de 2016

Problema de validación en IIS / Ftp (evitar validación dominio\usuario)

Hola.

He estado lidiando con un problema que me gustaría repotar y dejar (dejarme a mi también) documentado para futuras "apariciones".

Escenario

Un FTP configurado con IIS, el cual publica, como es normal, una carpeta local del servidor.

La característica principal de este FTP, también relacionada con la incidencia, es que tengo configurado el dominio en la opción "Basic Authentication Settings" para evitar tener que validarme con dominio\usuario o usuario@dominio ya que algunos periféricos, en mi caso los Cisco, quienes quiero que dejen ahí un backup de la configuración, con cada cambio, no se llevan bien con @ y /.


 

A la carpeta publicada mediante FTP, tiene permiso de escritura y lectura un grupo de seguridad del dominio.


Problema

Solo por añadir a un nuevo usuario creado en el grupo citado al final del anterior párrafo, puede validar si utilizo dominio\usuario o usuario@dominio en mis tests con Filezilla, pero no puede validar usando solo el usuario.

Este problema no sucede en un usuario que fue creado cuando monté el FTP.



Solución

A la vez que simple (como suele suceder) la solución es rebuscada ya que se te ha de ocurrir hacer lo siguiente.


Cada vez que creas un usuario nuevo para el FTP y quieres que este se valide sin usar "Dominio\usuario" y solo "Usuario", has de deshabilitar la opción "Basic Authentication" y volverla a habilitar.

Saludos.



martes, 20 de septiembre de 2016

Delete files in a path with more than 248 characters.


Whether if you are using the graph. interface or powershell You'll see an error (image1) if you try to delete files located in a path with more than 248 characters.

Image1


Solution

The solution that I've found is:

1. Download 7-zip
2. Open this as administrator.
3. Go to the disk of the folder or to the file that you'd like to erase.
4. Press Shift key + Click on using the right button.
5. Click on Delete.



:)

lunes, 12 de septiembre de 2016

Event id 20 - Borrado de actualizaciones durante el reinicio.

Hola.

Un par de servidores míos me han estado dando problemas al ser reiniciados. Estos tomaban mucho tiempo ya que encontraban gran número de updates que no se terminaban de instalar bien y por ello, estas eran desinstaladas en cada reinicio.

El error en el servidor es claro y llegamos a el al echarlo en falta durante bastante tiempo tras el reinicio.

En el Event log, tenemos errores de este tipo:

EVENT # 11791
EVENT LOG System
EVENT TYPE Error
SOURCE Windows Update Agent
CATEGORY Installation
EVENT ID 20
COMPUTERNAME SERVER01
TIME 11/2/2009 12:43:49 AM


MESSAGE Installation Failure: Windows failed to install the following update with error 0x3173427….


De tenerlos, tomaremos nota del o de los KB problemáticos.

Tras ello, abriremos un CMS como Administrador

Lanzaremos el comando: dism /online /get-packages, quien nos mostrará los KB instalados en nuestro equipo.



Borraremos los KB problemáticos con el comando: dism /online /remove-package /packagename:  y el número del paquete.

Por ejemplo:

Saludos.

jueves, 1 de septiembre de 2016

Clúster con CNO borrado en Directorio Activo. - Cluster where the CNO has been erased in AD.

Hola.

A continuación os voy a detallar una solución a un problema grave, como es encontrarnos que se ha borrado el equipo (CNO) objeto de clúster en el directorio activo.

La solución oficial la podéis seguir aquí:

Aunque en mi caso, esta solución o es válida porque me he encontrado que el objeto, no es recuperable con ADRestore y por tanto, he tenido que comprender e intentar suplantar el objeto borrado a base de prueba y error.

Pasos:

1. Lo primero va a ser crear un objeto con el mismo nombre que el que debería existir, en la misma OU donde están los nodos del clúster. En mi cas este es el objeto con nombre "Exchange".


2. Vamos a dar permisos en la OU aud contiene el objeto, tanto a el, como a los nodos del clúster.
    - Permiso a añadir el de crear objetos: Create all child objects.



3. Vamos a copiarnos la clave Hexadecimal del atributo ObjectGUID


4. Vamos a ver la clave "ClústerNameResource" que encontramos en uno de los nodos del clúster en la ruta HKEY_LOCAL_MACHINE/Cluster


5. A continuación vamos a ir a la clave HKEY_LOCAL_MACHINE\Cluster\Resources\9fde1b55-c399-4485-bfe6-048d8711da45\Parameters  . Dentro veremos el OBJECTGUID que tenía el objeto que se creó en su día.

6. Cambiaremos la clave ObjectGUID anterior por el código hexadecimal que copiamos en el punto 3.


7. Repetiremos los pasos 5 y 6 en todos los nodos del clúster.

8. A continuación resetearemos la cuenta que creamos en el primer punto.



Testeando la solución:

Iremos el clúster y haciendo click derecho sobre el recurso del nombre del clúster, elegiremos "More Actions - Repair".





Saludos.

jueves, 27 de agosto de 2015

Crear máquina virtual con Wserver 2016 tp3 lista para ser host de containers

 

Hola.

En esta ocasión veremos el proceso que ha dispuesto Microsoft para que tengamos una máquina virtual, con Windows server 2016 tp3 lista para servir containers.

Los requisitos son:

  • Disponer de un host Wserver 2016 o Sindows 10
  • Ser administrador de ese Host

Empezamos:

1. Lanzar un powershell como administrador : start-process powershell -Verb runAs

2. Descargar el script que nos facilitará la tarea: wget -uri http://aka.ms/newcontainerhost -OutFile New-ContainerHost.ps1  (se habrá descargado en Windows\system32)

3. lanzar el script completando el comando: .\New-ContainerHost.ps1 –VmName <containerhost> -Password <password>

Ej.: .\new-containerhost.ps1 –vmname VMcontainers –Password P@ssw0rd

En el proceso descargará los componentes necesarios, montará la unidad que será el C: de nuestra VM y añade los roles correspondientes.

En mi caso la unidad la ha montado en G:

image

 

Powershell del proceso:

image

 

Link de referencia:

https://msdn.microsoft.com/en-us/virtualization/windowscontainers/quick_start/container_setup

martes, 25 de agosto de 2015

Como activar Windows Server Containers en W. Server 2016 tp3

 

Hola.

Desde hace un tiempo habréis oido hablar algo, pero me da que desde la salida de Windows Server 2016 Tp3 en adelante vais a oir hablar mucho sobre Windows Server containers e Hyper-V Containers, los cuales describe Russinovich en este artículo:

https://azure.microsoft.com/blog/2015/08/17/containers-docker-windows-and-trends/

En este artículo os quiero enseñar la primera y mas simple forma de activar containers en Windows Server, ya que por ahora no podemos aun probar Hyper-V Containers.

Pasos para activación de Windows Server Containers:

Abrir consola de powershell

Lanzar comando: start-process powershell -Verb runas  (o lanzar la consola anterior como adminsitador).

En la nueva consola abierta, lanzar: wget -uri http://aka.ms/setupcontainers -OutFile C:\ContainerSetup.ps1

Ejecutar el script descargado: C:\ContainerSetup.ps1

image

miércoles, 19 de agosto de 2015

Evitar la creación de tercer nivel de Cas Subordinadas

 

Hola.

Hoy he tenido que diseñar una CA subordinada dependiente de una CA Raiz ya existente.

Evidentemente, esta CA Subordinada estará limitada en funciones e incluso vamos a tener que limitar el que se pueda generar certificados de nuevas Ca Subordinadas de esta CA Subordinada, o lo que es lo mismo crear un tercer nivel de Cas en la corporación.

Para conseguir esto, podéis hacer dos cosas:

1. En el archivo donde configuraís la política de la CA, previamente a la creación de esta y posterior firma de solicitud por parte de la CA Raiz, utilizar le siguiente parámetro:

c:\windows\capolicy.inf

[BasicConstraintsExtension]
PathLength=0 (Indica el número de niveles que puede haber por debajo de ella misma).
Critical=Yes

Seguir con la creación de la CA, generar la petición y posterior firma de petición por parte de la CA.

*Esta opción no es la recomendada por Microsoft.

2. Recomendada por Microsoft, esta opción se basa en configurar en la CA Raiz el mismo parámetro que indica los niveles que puede haber por debajo de ella, contandose a ella misma, por lo que en nuestro caso, querríamos 2.

Esta forma de configurar este aspecto, es asumible si somos quienes administramos la CA Raiz, evidentemente.

Comando a lanzar en la CA Raiz, previa firma de certificado subordinado: 

Certutil –setreg Policy\CAPathLength 2

 

Espero que os resulte de ayuda.

lunes, 20 de julio de 2015

Powershell–Guardar información en portapapeles

Hola.

 

Hoy, en un script de powershell, he necesitado guardar cierta información en el portapapeles.

Conseguir esto no puede ser más fácil con el comando “clip”.

 

Un ejemplo práctico es el siguiente:

$user=”usuario”

$password=”pass”

$user,$password | clip

 

Al hacer CTRL+V podréis comprobar el resultado.

Saludos.

miércoles, 1 de julio de 2015

Recoger permisos de una ou con Powershell

 

Hola.

Son muchas las webs que lo indican sin embargo he visto que hay muchas instrucciones erroneas.

Para recoger los permisos que tiene una OU, la instrucción que finalmente me ha funcionado es:

Import-Module ActiveDirectory

Get-Acl -path "ad:\OU=Ejemplo,DC=domain,DC=local").access | select identityreference, accesscontroltype,activedirectoryrights | export-csv -Path c:\temp\OUPermisos.csv

Saludos.

Borrar usuarios en ad sin advertencia

 

Hola

Estoy trabajando en un simple script a través del cual he de borrar cuentas expiradas en AD.

Me he encontrado que el comando remove-aduser no tiene la opción –force por lo que cuando va a borrar un usuario, solicita confirmación y por tanto, no puedo automatizar el borrado de estas cuentas mediante una tarea programada.

Solución

Para las cuentas en las que no está prevista la utilización de la variable –force, podéis utilizar la variable –confirm:$false y con ello saltar la confirmación.

Script

El script es el siguiente:

Function ModuloAD{
    Try
    {
      Import-Module ActiveDirectory -ErrorAction Stop
    }
    Catch
    {
      Write-Host "[ERROR]`t Las herramientas de administración de Active Directory no han podido ser encontradas"
      Exit 1
    }
}

#-------------------------------------------------------------------------------
#Ejecución script general
#-------------------------------------------------------------------------------

ModuloAD

$path="OU=TempAdmusers,Dc=domain,dc=local"

$users= Search-ADAccount -AccountExpired  -SearchBase $path
$users.samaccountname
 
foreach ($user in $users){
    Try
    {
       Remove-ADUser $user -Confirm:$false
    }
    Catch
    {
        Write-Host "[ERROR]`t No se ha podido borrar el usuario $user"
    }
}

martes, 24 de marzo de 2015

Netwrix User Activity Video Recording

 

Hola.

En este artículo, pretendo descubriros una funcionalidad incluida en todo producto de Netwrix que me parece muy interesante y “User Activity Video Recording” o lo que es lo mismo, la aplicación que grabará en video cada sesión de usuario o administradores que inicien sesión en un servidor.

image

 

Requisitos y configuración:

Para poder reproducir videos necesitáis activar Media player en Windows Server, y una buena pregunta es, ¿cómo se hace eso?.

Debéis activar “Media Foundation”. Hasta ahora le llamábamos Media Player.

image

Tras esto, pasaríamos a configurar opciones en nuestra consola de Netwrix:

1. Settings - Netwrix Console Audit:

image

2. Los servicios que soportan esto, los tenéis en la siguiente captura:

image

3. Comprobaremos que el servidor donde queremos guardar sesiones tiene Netwrix instalado y aparece en nuestra consola:

image

Configuración de la funcionalidad

4. Vamos configurar las opciones propias de la grabación de los videos de sesión.

Managed Objects – Netwrix Console Audit – User  Activity

image

5. User – Aquí podemos cambiar el mensaje que verá el usuario o administrador cada vez que conecte al servidor y se le indique está siendo grabado.

imageimage

 

 

 

 

 

Podremos también crear excepciones a la hora de grabar sesiones.

image

6. Video Recording Settings – Podemos cambiar las opciones por defecto relativas a la grabación, frames por segundo, tiempo de retención de los videos, etc.

image

Acceso a grabaciones

Netwrix se encarga solito de configurar todo lo necesario para tener acceso remoto a las grabaciones.

Crea una carpeta en la ruta que podéis ver en la captura. Dentro de c:\programdata\netwrix\management console…

Comparte esta carpeta como oculta:  Netwrix_uavr$

image

Si tenéis el software instalado en un DC, podéis ver en AD – Users – un grupo llamado Netwrix User Activiy Video Reporting Auditors o bien, si lo tenéis en un servidor miembro, ese grupo será local.image

image

Solo tendréis entonces que incluir a los usuarios que van a visionar información en ese grupo.

Localización de videos y visionado

En Managed Objects – Netwrix Console Audit – Activity Records, podréis realizar búsquedas específicas.image

Aquí veis resultados de las búsquedas:

image

También podréis guardar el resultado en un archivo HTML.

image

image

Espero que os haya parecido interesante la funcionalidad.

Saludos.