SysAdmin Day – Felicidades compañeros.

Hoy es nuestro dia, “El día de la marmota…”, noooo.

Hoy es el día del “Administrador de Sistemas” = SysAdmin Day para los British, asi que felicidades, enhorabuena a los premiados y tomaros hoy una a nuestra salud.

Hasta Chema Alonso desde su Blog nos hace referencia en un día tan señalado:

sysadminday0001

Os dejo unos cuantos Links sobre este día tan hermoso:

Ya queda menos para las vacaciones.

>Script para realizar Backup de una Entidad Certificadora.

>Buenos dias,
Últimamente estoy en un proyecto para montar una infraestructura PKI, Infraestructura de Clave Pública, en una plataforma con Microsoft Windows 2008 R2 y he creado este script para que se realice backup de la base de datos, certificados, templates y CSP. Creo que es bastante completo:

Echo Backup Certification Authority, Certificates, Templates and CSP
CD/
cd backup
Echo Y| del C:BackupBACKUPCADATABASE
Echo Y|rd /S C:BackupBACKUPCADATABASEDataBase
Echo Y| del C:BackupBACKUPCA
Echo Backing up the Certification Authority and Certificates
certutil -backup -p C:BackupBACKUPCADATABASE
Echo Backing up the registry keys
reg export HKLMSystemCurrentControlSetServicesCertSvcConfiguration C:BackupBACKUPCAregkey.reg
Certutil –getreg CACSP > C:BackupBACKUPCACSP.txt
Echo Documenting all certificate templates published at the CA
Certutil –catemplates > C:BackupBACKUPCACATemplates.txt
move \
nombre del servidorbackupNEWCABACKUPCA \nombre del servidorbackupNEWCA”%date:/=_%”
xcopy C:BackupBACKUPCA*.* \
nombre del servidorbackupNEWCABACKUPCA /S /y

Las últimas líneas del script son para copiarnos dicho backup en una carpeta que tenga por nombre la fecha del día en que se ejecuta este script y se mueva diariamente el último backup

Espero que os sirva.
Nos vemos.

>¿Cómo resetear la password de Master o Administrator en entornos Windows?

>Hoy por casualidad en el LinkeIn he visto que alguien preguntaba “He perdido mi password de Administrador del dominio, qué hago?”.

Esto, normalmente, en cualquier entorno ya se Linux, Windows, Host, MainFrame, etc., es un problema importante, ya que el usuario con mas privilegios del mundo mundial en tu infraestructura no está controlado!!! Vamos, que has perdido tus superpoderes!!! Que ya no eres Superguerrero de nivel 4!!!.

En algunas empresas dirian “estamos en crisis!” o “esto es una crisis!”……. o “qué es lo qué es?”.

¿Cómo solucionarlo? Aqui te dejo un par de videos tutoriales de Youtube y seguire buscando.

Este primero es bastante interesante por su forma de solucionarlo:
[youtube http://www.youtube.com/watch?v=Ar-VoO9ogHc]

Este segundo es utilizando un producto denominado Active@ Change Password
[youtube http://www.youtube.com/watch?v=YzzsDhc8w2Y]

Hay otras formas de solucionar los problemas.

Suerte a todos aquellos que hos haya pasado esto!!!.

Robezno.

Renombrar todos los administradores locales de tus equipos.

Hace unas semanas un compañero me preguntó si era fácil renombrar todos los administradores locales de todo el parque de equipos a un mismo nombre. Continuó diciendo, fácil, rápido y seguro, vamos, lo normal.

Mi respuesta fue Si, por supuesto, mediante una Política de Grupo (GPO) aplicada a un dominio de Directorio Activo o a una Unidad Organizativa (mejor) pues sí, era lo que pedía.

Pero, y si ninguno de los equipos están en dominio? ¿Y si queremos cambiar, por ejemplo, el nombre de todos los usuarios administradores de una serie de equipos sin utilizar Políticas de Grupo? Y me puse a ello, recordando, fácil, rápido y seguro.

Utilicé dos herramientas, psexec y wmic, la primera de Sysinternals y la segunda es WMI.

  • Creamos un fichero de texto con los nombres de todos los equipos implicados (por ejemplo c:equipos.txt)
  • Lanzamos el siguiente comando: psexec @c:equipos.txt wmic UserAccount where Name=”Administrador” call Rename Name=”UsuarioL”
  • Esperar a que termine el proceso.

Indagando un poco más en el comando wmic, he encontrado múltiples ejemplos, pero me quedo con este, la modificación del fichero de paginación y su localización: wmic pagefileset where name=”<ruta/nombre del fichero> set InitialSize=<Tamaño inicial>,MaximumSize=<Tamaño máximo>

Ejecutando el comando wmic como ejemplo en mi equipo:

Y da como resultado:

Post dedicado a JOPUMA, compañero que siempre trata de ir un poco más allá de dónde se quedan los demás!! Animo, seguro que llega tu momento.

Nos vemos.

Herramienta gráfica para la resolución de nombres de internet – Servicio DNS.

Ya de vuelta de las vacaciones, nos ponemos un poco las pilas, pero despacito.

Navegando me he encontrado con esta herramienta gráfica para la resolución de nombres, DNSDataView, de NirSoft.

Para los menos habituados, sustituye a la herramienta de línea de comando llamada nslookup, pudiendo, incluso, exportar la información a informes en formato HTML. Funciona desde Windows XP hasta Windows 7, en Desktop, y desde Windows 2003 hasta Windows 2008.

Introduces el dominio que quieres verificar su estado o situación, ejemplo bircomingenieria.com

Seleccionamos los tipos de registros de DNS, como ejemplo NS para los servidores de nombres, MX para los servidores de correo electrónico, etc. Y nos aparece el resultado:

Interesante también es la posibilidad de múltiples idiomas:

Sinceramente, simple pero eficaz, sobre todo para los no iniciados.

Nos vemos,

Medición del rendimiento – Networking con Iperf.

Uno de los problemas más difíciles de detectar hoy en día en las “grandes empresas” es ver que el rendimiento de la red es el correcto. Digo grandes empresas ya que o tienen subcontratados los departamentos de comunicaciones, o siendo de la misma empresa, se llevan a matar. Este es mi caso pero con una salvedad, aquí se inventó la técnica de “balones fuera”.

Al grano. Utilizaremos la herramienta Iperf, válida para sistemas operativos tales como Sun Solaris, Linux, Windows, etc. Estos son todos los parámetros:

Destacamos los siguientes parámetros:

  • -D    instalación como servicio.
  • -R    Desinstalación (remove) como servicio.
  • -i    intervalo de tiempo en segundos entre reportes.
  • -l    longitud del buffer a leer o escribir (por defecto 8 KB)
  • -u    recepción de datagramas UDP en vez de tramas TCP que es la opción por defecto.
  • -P n    donde n es el nº de conexiones simultáneas.
  • -t    tiempo en segundos de transmisión (10 segundos por defecto)
  • -w    tamaño de ventana TCP.
  • -f[bkmBKM] formato del resultado: bits/s, kilobits/s, megabits/s, Bytes/s, KiloBytes/s, MegaBytes/s.

Pruebas realizadas:

i) Básica.- Definimos un equipo como servidor y otro como cliente y ejecutamos el aplicativo en ambos equipos.-

Ejecutamos en el equipo servidor Iperf -s

Ejecutamos en el equipo cliente Iperf –c <equipo servidor>

En este caso tenemos un ejemplo claro de una pobre comunicación en una red de 100MBits. 38,7 Mbits/sec.

En este otro caso tenemos una mejor comunicación en una red de 100MBits. 75,1 Mbits/sec.

ii) Parametrizada.- Como hemos visto en la definición del comando vamos a utilizar los siguientes parámetros:

Servidor: Iperf –s –f MB –i1 (tamaño en MegaBytes e intervalos de 1 segundo)

Cliente: Iperf –c 10.144.8.123 –f MB –t 30 (tamaño en MegaBytes y durante 30 segundos de duración)

Bibliografía.

El próximo Iperf gráfico, Iometer, etc.

Un saludo,

Diagnóstico de Directorio Activo – DCDIAG.

Los Controladores de Dominio (DC) son la piedra angular de Directorio Activo (AD) de Microsoft. Si los DC no funcionan correctamente, AD tampoco lo hará, los usuarios no podrán conectarse a sus equipos, las políticas no se ejecutarán, etc., etc. Vamos un caos. Y en seguida recibiremos todas las llamadas del mundo que harán nuestro trabajo más fácil y ameno.

Una herramienta muy útil y gran desconocida es la “Utilidad de Diagnóstico de Directorio Activo” (dcdiag).

Sintáxis del comando:

dcdiag.exe /s:<Servidor de directorio>[:<Puerto LDAP>] [/u:<Dominio><Nombre de usuario> /p:*|<Contraseña>|""] [/hqv] [/n:<Contexto de nomenclatura>] [/f:<Registro>] [/x:archivoDeRegistroXML.xml] [/skip:<Prueba>] [/test:<Prueba>]

Dcdiag lo podemos ejecutar diariamente/semanalmente aportándonos información rápida, directa y necesaria para saber en qué estado está nuestro Directorio Activo y dónde hay problemas, si los hay.

  • /H La clásica ayuda.
  • /S Servidor de AD contra el que ejecutamos el diagnóstico.
  • /N Nos permite especificar un “domain naming context (DNC)” o contexto de nombres de dominio. Cada DNC almacena objetos tales como usuarios, equipos, grupos. Etc.
  • /U Credenciales para ejecutar el Dcdiag (dominionombre de usuario)
  • /P Contraseña.
  • /A realiza el test en todos los DC del Site actual (en el caso de tener diferentes Sites).
  • /E Similar al anterior, realiza test a todos los DC de la empresa.
  • /Q Modo silencioso (quiet mode). Solo muestra mensajes de error.
  • /V Modo detallado (verbose mode).
  • /I Omite mensajes de error superfluos.
  • /C Realiza toda la batería de test excluyendo el test DcPromo y RegisterInDNS (que veremos después).
  • /F Redirige todos los resultados del test a un fichero.
  • /FIX Realiza correcciones de forma segura. (ojo yo igual no utilizaría esta opción).
  • /TEST Realiza uno de los test que más abajo detallo.

Una vez visto las diferentes opciones/sintaxis que la utilidad tiene y los resultados de su ejecución, como ejemplo, paso a comentaros los test más importantes y los que nos aportan mayor información al administrador.

  • /Test:Advertising.- Comprueba si cada uno de los “Directory System Agent” (DSA) se informa a sí mismo de su estado.

    DSA es un conjunto de servicios y procesos que se ejecutan en un controlador de dominio. Su trabajo es proveer el acceso a la base de datos de AD, como por ejemplo LDAP.

  • /Test:CheckSDRefDom.- Esta prueba comprueba que todas las aplicaciones de las particiones de directorio tengan asignado el descriptor de seguridad de dominio adecuado.
  • /Test:CheckSecurityError.- Esta prueba localiza todos los errores que puedan estar relacionados con la seguridad. Este test no se realiza por defecto.
  • /Test:Connectivity.- Esta prueba testea los DC que están registrados en DNS, asi como si se accede a ellos por LDAP y RDP.
  • /Test:CrossRefValidation.- Busca referencias cruzadas que no son válidas de alguna manera. Este problema se suele solucionar usando el editor ADSI y eliminando el objeto referido.
  • /Test:CutOffServers.- La filosofía de este test es verificar/averiguar los partners/asociados a la replicación que están caídos.
  • /Test:DcPromo.- Este test nos permite realizarlo en un servidor antes de promoverlo a Controlador de Dominio. Muy útil pero poco conocido y usado.
  • /Test:DNS.- Estos test adicionales hace referencia al servicio de Domain Name Services (DNS). Después de todo AD depende completamente de dicho servicio. Estos test son:
    • /DNSBasic.- Test básico de DNS.
    • /DNSForwarders.- Chequea tanto los Forwarders como los Root Hints.
    • /DNSDelegation.- Chequea la delegación
    • /DNSDynamicUpdate.- Chequea qué parte del espacio de nombres DNS está autorizado.
    • /DNSRecordRegistration.- Comprueba que registros pueden ser dados de alta en el servidor DNS.
    • /DNSAll.- Está claro. Todos los test mencionados.
  • /Test:SysVolCheck.- Realiza una comprobación básica sobre varias particiones de AD, incluyendo las zonas Forest DNS, Domain DNS, la partición de configuración, la partición de dominio y la partición de esquema.
  • /Test:FrsEvent.- Comprueba si el servicio de replicación de ficheros (FRS) experimenta algún error. Importante, ya que por un malfuncionamiento de FRS los DC pueden estar desincronizados, causando la no aplicación de políticas, por ejemplo.
  • /Test:LocatorCheck.- Hace una comprobación para asegurarse que los DC con funciones FSMO son conocidos y, sobre todo, accesibles.
  • /Test:IntersiteTest.- Realiza una serie de test para ver si hay algún problema con los DC BridgeHead (Cabeza de Puente), por si hay algún problema de replicación entre Sites.
  • /Test:KCCEventTest.- Esta prueba comprueba que el Knowledge Consistency Checker (KCC) está funcionando y si está produciendo errores, algo así como un comprobador de coherencia.

Existen más test, pero solo los nombro:

  • /Test:KnowsOfRoleHolders
  • /Test:MachineAccount
  • /Test:NCSecDesc
  • /Test:NetLogons
  • /Test:ObjectsReplicated
  • /Test:OutboundSecureChannels
  • /Test:RegisterInDns
  • /Test:Replications
  • /Test:RidManager
  • /Test:Services
  • /Test:SystemLog
  • /Test:Topology
  • /Test:VerifyReferences
  • /Test:VerifyEnterpriseReferences

Hay test para todo….

Un saludo,

Directorio Activo – Replicación.

¿Cómo realizar o forzar una replicación manual de AD? ¿Cómo saber que se está realizando correctamente?

REPLICACION

En principio tenemos cuatro formas de hacerlo en un dominio Windows 2003:

  • AD Sites & Services.

  • Replmon.exe

  • Repadmin.exe

    Repadmin.exe /Syncall /APed (ojito con el comando)

    A => All partitions, o sea todas las particiones.

    P => Push

    e => enterprise

    d => distinguished names

  • Script.- Mediante la ejecución de un script, como es lógico.

Recordar que si el dominio es Windows 2008, ya no tenemos la herramienta Replmon.exe

 

COMPROBACION

Verificar el estado de la replicación de AD: repadmin /replsummary /bysrc /bydest /sort:delta o repadmin /replsummary *

La salida queda dividida en dos tablas:

  • Cada DC cuando es origen de replicación – tabla Source
  • Cada DC cuando es destino de replicación – tabla Destination

También podremos encontrar los DCs que no pudieron ser contactados en la parte final, en el caso de que los haya.

Largest Delta muestra el máximo tiempo sin replicar satisfactoriamente alguna partición entre todos los partners de replicación de un controlador de dominio en particular. Las tablas se encuentran ordenadas por esta columna de mayor a menor. La columna Total muestra el número de enlaces de replicación (1 por DC por naming context) y la columna Fails (fallos) muestra el número de enlaces que han reportado error y el tipo del mismo.

¿Cuándo fue la última vez que replicaron los DCs? repadmin /showrepl o repadmin /showrepl *

La salida del comando nos muestra que el controlador de dominio desde el que lo he ejecutado (o al que me he conectado) está replicando correctamente todas y cada una de las particiones indicadas con sus partners de replicación.

AUTOMATIZACIÓN

¿Podemos generar un script para verificar automáticamente?

Por supuesto, como ejemplo os adjunto un Script que se puede ejecutar de cualquiera de las siguientes maneras:

  • Replreport.cmd SERVER1 (donde SERVER1 es el nombre de uno de nuestros DCs)
  • Replreport.cmd ADC* (dónde se ejecutaría para aquellos DCs que empiezan por ADC)
  • Replreport.cmd * (Para todo controlador de dominio)

Replreport.cmd

@echo off

 

echo.

echo Gathering Report for DCLIST = %1

echo.

Echo Report for DCLIST = %1 > replreport.txt

 

echo. >> replreport.txt

echo. >> replreport.txt

 

echo Gathering Verbose Replication and Connections

echo Verbose Replication and Connections >> replreport.txt echo. >> replreport.txt

repadmin /showrepl %1 /all >> replreport.txt

echo. >> replreport.txt

 

echo Gathering Bridgeheads

echo Bridgeheads >> replreport.txt

echo. >> replreport.txt

repadmin /bridgeheads %1 /verbose >> replreport.txt

echo. >> replreport.txt

 

echo Gathering ISTG

echo ISTG >> replreport.txt

echo. >> replreport.txt

repadmin /istg %1 >> replreport.txt

echo. >> replreport.txt

 

echo Gathering DRS Calls

echo Outbound DRS Calls >> replreport.txt

echo. >> replreport.txt

repadmin /showoutcalls %1 >> replreport.txt

echo. >> replreport.txt

 

echo Gathering Queue

echo Queue >> replreport.txt

echo. >> replreport.txt

repadmin /queue %1 >> replreport.txt

echo. >> replreport.txt

 

echo Gathering KCC Failures

echo KCC Failures >> replreport.txt

echo. >> replreport.txt

repadmin /failcache %1 >> replreport.txt

echo. >> replreport.txt

 

echo Gathering Trusts

echo Trusts >> replreport.txt

echo. >> replreport.txt

repadmin /showtrust %1 >> replreport.txt

echo. >> replreport.txt

 

echo Gathering Replication Flags

echo Replication Flags >> replreport.txt

echo. >> replreport.txt

repadmin /bind %1 >> replreport.txt

echo. >> replreport.txt

 

echo Done.

Este report se puede generar y reenviar por correo automáticamente para que cuando llegas a la oficina puedas chequear la replicación de Directorio Activo tranquilamente …. o no.

BIBLIOGRAFIA

 

Un saludo,

Windows – Cambiar los contenedores por defecto de Directorio Activo (AD).

Estaba en el curro hasta las ….. bueno, y me he preguntado ¿por qué siempre que metes un equipo en directorio activo lo sitúa en el contenedor “Computer”?

Entonces he recordado alguna pregunta del MCSA/MCSE y me he dicho:

Como sabemos, en Directorio Activo (AD), existen dos contenedores donde no se pueden aplicar políticas, “User” y “Computers”, ya que no son unidades organizativas en sí, si no, como he dicho, son meros contenedores iniciales.

Si quiero que todos los equipos de oficina vayan directamente a una OU determinada para que se les apliquen las políticas de grupo corporativos ¿Qué hago? Si quiero que todos los usuarios que doy de alta vayan a una OU determinada ¿Qué hago?

Desde una consola:

  • ReDirUser
    DN-del-Contenedor (para usuarios)

    Donde DN-del-Contenedor es el distinguished name del contenedor que queremos que sea el por defecto

    Ejemplo: ReDirUser “OU=Truños y Mercados,OU=BME,DC=Robezno,DC=com”

  • ReDirCmp
    DN-del-Contenedor (para computadoras)

    Donde DN-del-Contenedor es el distinguished name del contenedor que queremos que sea el por defecto

  • Ejemplo: ReDirCmp “OU=Truños y Mercados,OU=Usuarios,DC=Robezno,DC=com”

Esto es válido para controladores de dominio en 2003, 2008 y 2008 RS y, hay que recordar que esto sólo es válido si la funcionalidad del dominio es Windows Server 2003, como poco.

Buen fin de semana, a todos menos a uno!