Mejora la Experiencia de Navegación con la barra exclusiva de CRIVA-IT

Mostrando las entradas con la etiqueta Active Directory. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Active Directory. Mostrar todas las entradas

viernes, 7 de octubre de 2011

Equipos inactivos en Active Directory


For enghish support and procedure: riva.claudio@gmail.com - Visita Mi perfil de LINKEDIN -

Detectar y/o filtrar cuentas de equipos (computers) inactivos en un dominio de Microsoft Active Directory utilizando la consola (mmc) de Active Directory Users and Computers en Microsoft Windows Server 2003.

Me vi en la necesidad de poder detectar equipos inactivos por un periodo de tiempo determinado en un dominio con Active Directory y, luego de buscar en la web scripts y demás (tomé parte del código de la solución desde aquí), generé una herramienta que hace gran parte del trabajo, ya que quería realizar la consulta utilizando la consola de administración de Active Directory Users & Computers para decidir luego si moverlas o deshabilitarlas pero de forma gráfica a través de la misma y no utilizando un script que lo hiciera.

Para esto generé un nuevo script (bat) que solicita la cantidad de días y luego genera un vbs que realiza el filtro utilizando el atributo “LastLogonTimeStamp” de Active Directory y crea la consulta en formato xml que deberá ser importado luego en la consola de Active Directory Users and Computers (se ofrece también un pdf  de ayuda con procedimiento para esto).

Luego de crear los archivos necesarios, hice una compilación de todo en un único EXE, para no tener que cargar con varios archivos separados y mejorar la prolijidad de la solución y el producto final queda disponible para su descarga desde ESTE LINK.

Adjunto a continuación los pasos de la ejecución del script para que tengan una idea de su funcionalidad previo a descargarlo:
  1. Ejecutar la aplicación con doble clic.
  2. Se solita el ingreso de la cantidad de días de antiguedad que se quiere buscar.
  3. Se informa que se generó el query en el archivo XML y se debe importar desde la consola de ADUC.
  4. Se ofrece mostrar o no el procedimiento en PDF incluido en la herramienta donde se muestra como importar un query en formato XML en la consola de ADUC.
Luego de aceptar  o no ver el pdf de ayuda con el procedimiento de importación la aplicación finaliza y queda el XML generado en el mismo lugar donde está almacenada la herramienta. Lo único que resta es importarlo dentro de Saved Queries en la consola de AD Users & Computers.

IMPORTANTE:
El script se debe ejecutar cada vez que se quiera hacer una consulta actualizada, ya que el valor de tiempo de antiguedad es calculado en base al tiempo actual, es decir, a partir de la fecha y hora en que se ejecuta el script para atrás


BUG:
Por alguna razon que desconozco, si se edita el código de la consulta de cualquiera de de los queries manualmente aunque no se haga ningún cambio y se hace clic en Aceptar, el valor de la consulta es modificado automáticamente por la consola de Active Directory y la consulta dará un resultado erróneo. Tener especial cuidado con esto.
No sé si se trata de un bug de Active Directory, las Herramientas Administrativas o la mmc de ADUC.

Como siempre quedo a la orden para responder cualquier consulta al respecto.

For enghish support and procedure: riva.claudio@gmail.com - Visita Mi perfil de LINKEDIN -

viernes, 5 de agosto de 2011

Ejecutar script o batch por subred


For enghish support and procedure: riva.claudio@gmail.com - Visita Mi perfil de LINKEDIN -

Limitar la ejecución de un script (batch) dependiendo de la subred en la que se encuentre un equipo con Windows XP y 7.

Tuve la necesidad de que un script, en mi caso que se ejecutaba vía Group Policy, determinara antes de correr el resto de los comandos en si la subred donde se encontrara el equipo donde se estaba ejecutando era x o y.
Si era x, seguía su ejecución, si era y, finalizaba.

Entonces, lo que se me ocurrió para salir fácil y rápido del apuro por la implementación de este cambio, es tirar un "ipconfig" y luego concatenar dos sentencias con "find" para llegar en definitiva a comparar la dirección ip del equipo con una subred determinada y tomar acción dependiendo si coinciden estos valores o no.

Este es parte del código de mi script:

Seteo una variable cualquiera por defecto con un parámetro cualquiera (en mi caso es "null")


set ip="null"

Utilizo la función FOR, para poder almacenar la salida del comando
ipconfig | find /i "IP" | find /i "172.26" en la variable definida en el punto anterior.

for /F "tokens=2" %%A in ('ipconfig ^| find /i "IP" ^| find /i "172.26"') do set ip=%%A

for /F "tokens=2" %%A in ('ipconfig ^| find /i "IP" ^| find /i "172.27"') do set ip=%%A

En mi caso verifique si dentro del resultado de ipconfig se encontraban los strings "IP", 172.26 y 172.27 (reemplacen esto por las subredes que deseen) y si esto se cumple que se ejecute una función determinada y si no que finalice la ejecución del script.


if %ip%==Address. goto :funcion1
if %ip%==IP. goto :funcion1
if %ip%=="null" exit


Si bien el resultado del comando ipconfig | find /i "IP" | find /i "172.26" es el siguiente:
Direcci¾n IP. . . . . . . . . . . : 172.26.70.30
La variable queda cargada con los valores "IP." (IP punto) o "Address." (Address punto), dependiendo del idioma del sistema operativo (en mi caso contemplo ambos idiomas)


Si lo desean, pueden copiar y pegar el siguiente código dentro de un .bat y ejecutarlo para ver su funcionamiento:

@echo off
set ip="null"
for /F "tokens=2" %%A in ('ipconfig ^| find /i "IP" ^| find /i "172.27"') do set ip=%%A


echo %ip%
PAUSE

if %ip%==Address. echo coincide
if %ip%==IP. echo coincide
if %ip%=="null" echo nop
PAUSE



Recuerden que si van a probar línea por línea en una consola de DOS en lugar de un batch, deben reemplazar donde dice %%A por %A y quitar el símbolo ^ (ALT+94) que está antes de los | (ALT+124)



Ojalá los ayude y por favor respondan la encuesta comentado si les fue útil la información para poder mejorar el contenido.



For enghish support and procedure: riva.claudio@gmail.com - Visita Mi perfil de LINKEDIN -

jueves, 14 de julio de 2011

Ver o filtrar usuarios de Exchange sin Default Maibox Limit


For enghish support and procedure: riva.claudio@gmail.com - Visita Mi perfil de LINKEDIN

Detectar y filtrar usuarios de Microsoft Exchange 2003 sin Default Mailbox Limit mediante la consola (mmc) de Active Directory Users and Computers (en Exchange Server).

La idea es, utilizando la consola de administración de "Users and Computers" de Active Directory, listar todos los usuarios que no tengan seteada la opción de utilizar el "default mailbox limit", es decir, que tenga un seteo de límites personalizado.

Creo que esta es la mejor opción ya que no hay necesidad de probar scripts en un ambiente de producción (vi varios vbs y bat por ahi que en teoría hacen esto mismo) por lo que nos da un poco más de seguridad al momento de implementarlo.

Esto es sencillo, retocando un poco un query que encontré acá, llegué al siguiente código para el query de AD:

(&(&(&(objectCategory=person)(objectClass=user)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))(|(homeMDB=*)(msExchHomeServerName=*)))(!mDBUseDefaults=TRUE))

1- Abrimos la consola de Users and Computers de AD, clic derecho en Saved queries y luego en Nuevo Query.
2- Le ponemos un nombre y luego clic en el botón Define Query.
3- En la opción Buscar seleccionamos Busqueda personalizada (o Custom search)
4- Clic en la pestaña Opciones Avanzadas y luego copiar y pegar el código que puse arriba.
5- Guarda y listo.

También me tomé el trabajo de exportar el query a un xml que publico aquí, así que pueden descargar este archivo e importarlo de la siguiente forma en lugar de crearlo manualmente:

1- Abrimos la consola de Users and Computers de AD, clic derecho en Saved queries -> Import query definition.
2- Seleccionar el xml descargado y clic en Aceptar.

TIP: si se quiere manter el query almacenado en la consola de AD (normalmente se elimina cada vez que salen de la misma), deberán crear una consola personalizada de la siguiente forma:

1- Clic en Start -> Run -> tipear mmc
2- Clic en File -> Add/Remove Snap-in
3- Clic en el botón Add y seleccionar de la lista la opción "Active Directory Users and Computers".
4- Clic en Add, Close y OK.
5- Importar el xml descargado o crear el query como se describe más arriba.
6- Guardar la consola: File -> Save en el lugar que se desee.

For enghish support and procedure: riva.claudio@gmail.com - Visita Mi perfil de LINKEDIN

miércoles, 13 de julio de 2011

Cambiar FTP Mode en Internet Explorer


For enghish support and procedure: riva.claudio@gmail.com - Visita Mi perfil de LINKEDIN -

Configurar modo FTP (FTP Mode) en Internet Explorer para usuarios en dominio de Microsoft Active Directory mediante GPO (Group Policy Object).
Windows XP y 7.

Debido a que las plantillas que se incluyen en un dominio con Windows Server 2003 no incluyen esta opción dentro de las políticas ni siquiera dentro de las opciones avanzadas de Mantenimiento de Internet Explorer, es necesario crear una nueva plantilla generando un archivo .adm con el siguiente código:

CLASS USER
CATEGORY "Internet Explorer FTP Mode"
POLICY "Modo FTP en IE"
EXPLAIN "Uncheck opción *Usar FTP pasivo (para la compatibilidad ocn firewalls y módems ADLS)* en IExplorer - soporte:riva.claudio@gmail.com -"
KEYNAME "Software\Microsoft\FTP"
PART "Deshabilitar modo pasivo?" CHECKBOX VALUENAME "Use PASV"
VALUEON "no"
VALUEOFF "yes"
END PART
END POLICY
END CATEGORY

TIP: corta y pega el código en notepad y guarda el archivo como nombre.adm.

Luego, se puede añadir una nueva "Directiva de grupo" en el dominio para no afectar otras que estén en producción (o puedes utilizar la que esté en producción si sabes lo que haces), y agregar el nuevo archivo .adm generado haciendo clic derecho en Configuración de Usuario -> Plantillas Administrativas -> Agregar o quitar plantillas.

TIP: para que se pueda agregar la plantilla con el procedimiento descrito anteriormente, debes copiar el archivo .adm dentro del directorio del equipo Windows\inf (vas a ver el directorio correcto cuando hagas clic en el botón "Agregar").

Quedará ahora en la lista de Plantillas administrativas la nueva opción "Internet Explorer FTP Mode".

TIP: para poder visualizar la opción agregada dentro de la plantilla, deberás hacer un clic derecho sobre la misma -> Ver -> Filtrado y destildar la opción "Mostrar sólo valores de directivas que pueden ser totalmente administrados.

For enghish support and procedure: riva.claudio@gmail.com - Visita Mi perfil de LINKEDIN -