El Blog de Gualtrysoft

Windows 2000/2003/2008, Active Directory, VBScript, Hyper-V, PowerShell y todo aquello interesante a la hora de usar, configurar y administrar Windows Server. También tenemos longanizas…

Novedades en Virtualización de Windows Server 2008 R2

Publicado por urpiano en Miércoles 28 de Octubre de 2009

En esta entrada repasamos las principales novedades que incorpora Windows Server 2008 R2 en el tema de virtualización con Hyper-V.

Leer el resto de esta entrada »

Publicado en Hyper-V, Virtualización | Deja un Comentario »

Script Powershell Para Listar Las Colas De Transporte de Exchange 2007

Publicado por urpiano en Viernes 23 de Octubre de 2009

Este script de Powershell nos permite listar las colas de transporte de nuestra organización de Exchange 2007 y almacenar este listado en un fichero de valores separados por tabuladores, ideal para ser abierto con Excel.

Leer el resto de esta entrada »

Publicado en Exchange, PowerShell, Scripting | Deja un Comentario »

Script Powershell De Alerta Cuando Se Desmontan Bases De Datos De Exchange 2007

Publicado por urpiano en Jueves 22 de Octubre de 2009

Cuando no se tiene una herramienta de monitorización como Dios manda, del estilo de SCOM 2007, este tipo de jugadas nos pueden ser útiles para monitorizar nuestros equipos. Es lo que suelo llamar “el SCOM del pobre” :-).

Leer el resto de esta entrada »

Publicado en Exchange, PowerShell, Scripting | Deja un Comentario »

Script Powershell para listar las conexiones de red de los host de virtualización gestionados por un servidor de System Center Virtual Machine Manager 2008

Publicado por urpiano en Miércoles 21 de Octubre de 2009

Este script nos permite obtener un listado de las conexiones de red de los hosts de virtualización que son gestionadas por un servidor de SCVMM, listado que se vuelca a un fichero de valores separados por tabuladores, ideal para ser abierto con Excel. El script es necesario que sea lanzado desde un servidor SCVMM o desde un equipo que tenga la consola de SCVMM instalada, para que así pueda cargar los Snap-ins de SCVMM.

Leer el resto de esta entrada »

Publicado en Hyper-V, PowerShell, SCVMM, Scripting, Virtual Server, Virtualización | Deja un Comentario »

Script Powershell para listar las máquinas virtuales gestionadas por un servidor de System Center Virtual Machine Manager 2008

Publicado por urpiano en Miércoles 21 de Octubre de 2009

Este script nos permite obtener un listado de las máquinas virtuales que son gestionadas por un servidor de SCVMM, listado que se vuelca a un fichero de valores separados por tabuladores, ideal para ser abierto con Excel. El script es necesario que sea lanzado desde un servidor SCVMM o desde un equipo que tenga la consola de SCVMM instalada, para que así pueda cargar los Snap-ins de SCVMM.

Leer el resto de esta entrada »

Publicado en Hyper-V, PowerShell, SCVMM, Scripting, Virtual Server, Virtualización | Deja un Comentario »

Yo SÍ soy tonto, aunque al final no tanto

Publicado por urpiano en Lunes 27 de Julio de 2009

Porque yo sí soy tonto compre una tarjeta de vídeo PointOfView GeForce 9800 GT en el Mediamarkt de Majadahonda el pasado mes de Junio, y así comenzó mi pesadilla… Leer el resto de esta entrada »

Publicado en Informatica, Miscelanea, Noticias | 12 Comentarios »

Error MOMPerformanceCounterInstaller Instalando SCOM 2007

Publicado por urpiano en Domingo 3 de Mayo de 2009

Instalando SCOM 2007, y una vez preparado el sistema para que no debiera haber ningún problema con la instalación, me encontré con que se producía este error, no pudiendo realizarse la instalación:
Leer el resto de esta entrada »

Publicado en System Center | Deja un Comentario »

Usuarios de Active Directory con Formato “Apellidos, Nombre”

Publicado por urpiano en Lunes 30 de Marzo de 2009

Cuando damos de alta un usuario con Usuarios y equipos de Active Directory el campo Nombre para mostrar (displayName) se rellena de forma automática siguiendo el patrón Nombre Inicial Apellidos. La inicial es típica de los anglosajones, que siempre tienen un segundo nombre propio del cuál sólo escriben la inicial; en España este campo de inicial no lo rellenamos, con lo que el patrón que realmente observamos que es utilizado para rellenar Nombre para mostrar es en realidad Nombre Apellidos. Sin embargo, en muchas organizaciones, se quiere que el patrón a seguir sea Apellidos, Nombre lo cuál hace que en muchas de estas organizaciones sea necesario construir "a mano" este Nombre para mostrar, lo que lleva a errores y olvidos de hacerlo. ¿Hay alguna forma de evitar este problema y automatizar el formato de Nombre para mostrar a Apellidos, Nombre en la creación de los usuarios? Veremos como sí es posible automatizarlo y también veremos un script que nos permita convertir los ya existentes de un plumazo.

Leer el resto de esta entrada »

Publicado en Tips, VBScript | 2 Comentarios »

Script VbScript Para Cambiar La Configuración De Cuentas IMAP En Outlook

Publicado por urpiano en Jueves 26 de Febrero de 2009

Script VBScript que permite cambiar en Outlook el servidor de una cuenta IMAP y el dominio del usuario que conecta al servidor IMAP. El script busca todas aquellas cuentas IMAP que tengan configuradas el servidor que recibe como servidor viejo y establece el servidor que recibe como servidor nuevo. Permite también cambiar la parte del nombre de usuario correspondiente al dominio, de forma que apunte el mismo usuario a otro dominio (de DOMINIOVIEJO\usuario a DOMINIONUEVO\usuario). Es imprescindible que la contraseña del nuevo usuario sea igual a la del viejo, pues la contraseña está cifrada en el registro y para poder entrarla nueva sería necesario hacerlo de forma interactiva.

Leer el resto de esta entrada »

Publicado en VBScript | 3 Comentarios »

SCCM – Consulta TSQL Para Crear Un Informe De Equipos Y Usuarios

Publicado por urpiano en Viernes 13 de Febrero de 2009

Esta consulta TSQL nos permite listar todos los equipos, algunas de sus características, el último usuario logado y algunas de sus propiedades. Tiene una peculiaridad del entorno en el que lo he desarrollado y es que creé una serie de colecciones basadas en determinados conceptos según los requerimientos que se necesitaban cumplir y englobé el conjunto dentro de otra colección "raíz"; la consulta busca los equipos sólo en las subcolecciones que están dentro de la colección "raíz" y se une con otra consulta con aquellos equipos que aparezcan en AllSystems y no estén en las colecciones creadas. Para evitar que aparezcan duplicados equipos, en la primera subconsulta, debemos incluir en la claúsula WHERE que no se incluyan los equipos que estén en la colección "raíz" y que sólo se busquen aquellas cuyo identificador empiece por el identificador del sitio CCM y se excluya la colección "raíz"; en el ejemplo el identificador de las colecciones creadas empieza por TIA, y el identificador de la raíz es TIA0012A. Así pues, en la primera subconsulta esta condición WHERE es:

Leer el resto de esta entrada »

Publicado en SCCM | 5 Comentarios »

Script VBScript Para Obtener Un Listado De Usuarios Y Todas Sus Direcciones De Correo De Exchange

Publicado por urpiano en Jueves 12 de Febrero de 2009

Este script vuelca en un fichero XML los datos de las cuentas de correo de Exchange de los usuarios del dominio en el que se lanza. El listado se basa en mirar el atributo del usuario proxyAddresses y en el listado se muestra por tipos de cuentas (SMTP,cc:Mail, Microsoft Mail, X400, X500 y Otros)

Leer el resto de esta entrada »

Publicado en VBScript | 2 Comentarios »

Script VBScript Para Enviar Correos De Aviso De Cambio De Dirección (disclaimer)

Publicado por urpiano en Miércoles 11 de Febrero de 2009

Escenario:

Por cambios en la organización, se requiere que las cuentas de correo de determinados usuarios pasen a ser cuentas de otro dominio de internet distinto al de las cuentas que tenían. Obviamente, durante un tiempo, ambas direcciones de correo, vieja y nueva, serán válidas, pero se quiere acabar suprimiendo la dirección vieja. Por ello se quiere poder enviar un correo, a cada remitente de los correos enviados a estos destinatarios, que avise del cambio de la cuenta de correo a la que se envió el correo y les solicite que actualicen su libreta de direcciones.

Leer el resto de esta entrada »

Publicado en VBScript | 2 Comentarios »

Script VBScript Para Listar El Estado De Los Usuarios Del Dominio

Publicado por urpiano en Lunes 26 de Enero de 2009

Este script muestra el estado de las cuentas de usuario del dominio, si están habilitadas o no. La salida del script puede ser por pantalla o a un fichero de valores separados por tabuladores. Se puede presentar un resumen, en el cual se muestran el número total de cuentas, el número de cuentas deshabilitadas y el número de cuentas habilitadas

Leer el resto de esta entrada »

Publicado en VBScript | Deja un Comentario »

Powershell – Listar Las Máquinas Virtuales De Nuestros Servidores De Hyper-V

Publicado por urpiano en Miércoles 21 de Enero de 2009

Si tenemos instalado Powershell en un equipo con el espacio de nombres WMI de Hyper-V (este proveedor lo tienen los equipos con Hyper-V y los Windows 7 a los que instalemos la consola de administración de Hyper-V), podemos listar las máquinas virtuales que tenemos en ellos con un sencillo comando de Powershell. En el ejemplo, suponemos que los servidores de Hyper-V son HV1, HV2 y HV3:

Leer el resto de esta entrada »

Publicado en Hyper-V, PowerShell | Deja un Comentario »

Script VBScript Para Borrar O Deshabilitar Usuarios De Active Directory

Publicado por urpiano en Viernes 16 de Enero de 2009

Este script permite eliminar del directorio activo una o más cuentas de usuario. Debe ser lanzado por un usuario con los privilegios suficientes para borrar las cuentas. Su uso es indicado, por ejemplo, cuando se desea borrar de forma masiva cuentas de usuario. Está basado en este script anteriormente publicado.

Leer el resto de esta entrada »

Publicado en VBScript | Etiquetado: | 1 comentario

VBScript Para Listar Los Servicios Lanzados Por Usuarios No Del Sistema

Publicado por urpiano en Martes 13 de Enero de 2009

Este script lista los servicios y usuarios que los lanzan, cuando estos usuarios no son LocalSystem, ni NT AUTHORITYNetworkService ni NT AUTHORITYLocalService. Permite hacer esto en el equipo desde el que se lanza y en equipos remotos.

Leer el resto de esta entrada »

Publicado en VBScript | Etiquetado: | 2 Comentarios »

Creación De Reservas DHCP Desde Línea De Comandos Con La Ayuda De Excel

Publicado por urpiano en Jueves 8 de Enero de 2009

Si tienes que crear reservas en el DHCP para muchos equipos, es interesante poder hacerlo desde línea de comandos. Si a esto unimos el uso de Excel, el resultado es rapidísimo y cómodo. Nos basta con exportar las concesiones de IPs a un fichero de texto de valores separados por tabulaciones, y crear en la primera línea la instrucción correspondiente, haciendo referencia relativa a las distintas celdas de la línea con la información; una vez creada usamos auto relleno y se crearán todas las que necesitamos. Basta ahora copiar todas las celdas generadas y pegarlas en la ventana de comandos para que se vayan ejecutando una a una y creando así las reservas.

Leer el resto de esta entrada »

Publicado en Tips | 3 Comentarios »

Crear Un Failover Cluster De Hyper-V Cuando Ya Existen Máquinas Virtuales En El Nodo: El Hotfix Necesario

Publicado por urpiano en Miércoles 7 de Enero de 2009

Lo normal es empezar la casa por los cimientos y terminarla por el tejado pero no siempre son así las cosas. Me he tenido que enfrentar a convertir en nodo de Failover Cluster a un servidor de Hyper-V, lo cual no tiene dificultad. La dificultad ha estado en convertir las máquinas virtuales que tenía en servicios “clusterizados”, es decir, que las máquinas pivotasen de un nodo a otro, en caso de caída.

Leer el resto de esta entrada »

Publicado en Hyper-V, Virtualización | Deja un Comentario »

PowerShell – Borrar El Fichero Más Antiguo De Un Conjunto Que Cumple Un Patrón

Publicado por urpiano en Miércoles 7 de Enero de 2009

Si deseamos borrar el fichero más antiguo de una serie que cumple un patrón (por ejemplo, los ficheros de backup de MySQL que se almacenan en una carpeta), podemos hacerlo con un mini script de PowerShell como éste (aunque se vean saltos de línea, provocados por limitaciones a la hora de mostrar código por WordPress, en realidad se trata de una sóla línea). La línea que pongo se debe poner en un BAT, para así poder crear una tarea programada que lo ejecute; en el caso de ejecutarse desde el propio powershell, hay que quitar la invocación a powershell y las comillas que encierran el script):

Leer el resto de esta entrada »

Publicado en PowerShell | Deja un Comentario »

Limite De Sesiones En Escritorio Remoto De Windows Server 2008

Publicado por urpiano en Lunes 29 de Diciembre de 2008

¿Te ha pasado ya que estás en el CPD, accedes por escritorio remoto a un servidor Windows Server 2008 y un compañero grita “¿Quién es el capullo que me echado de <nombre del servidor>?”?. Estás acostumbrado a acceder por escritorio remoto con el administrador a los servidores Windows Server 2003 y que no te pase esto, dado que se pueden tener iniciadas 3 sesiones, una de consola y dos de escritorio remoto. ¿Es que Windows Server 2008 no permite más de una conexión a escritorio remoto?. La respuesta es que sí lo permite, pero limita a una conexión simultanea a escritorio remoto por cada usuario, como en el supuesto anterior ambas personas accedían al servidor con el mismo usuario (login/password), el segundo echaba al primero, quedándose con la sesión ya iniciada, no iniciando una nueva. ¿Se puede cambiar este comportamiento? De nuevo la respuesta es sí. Veamos cómo.

Leer el resto de esta entrada »

Publicado en Tips | 9 Comentarios »

WinRM – Error WSManFault Al Ejecutar WinRM QuickConfig

Publicado por urpiano en Lunes 29 de Diciembre de 2008

WinRM – WinRS son la parte de configuración y de utilidad, respectivamente, de la administración remota de Windows. WinRM nos permite configurar el comportamiento del equipo tanto al recibir peticiones como al solicitarlas a otros equipos. En equipos que están dentro de un dominio, la configuración es muy simple, basta con ejecutar, desde línea de comandos:

winrm quickconfig

Leer el resto de esta entrada »

Publicado en Tips | Deja un Comentario »

Script VBScript Para Generar Un Fichero De Inclusión De Usuarios De ADMT v3.0

Publicado por urpiano en Jueves 18 de Diciembre de 2008

Este script crea un fichero de valores separados por comas destinado ser utilizado como fichero de objetos de usuario a migrar con ADMT v3.0. En el fichero va el nombre sAMAccountName, del usuario del dominio de origen, como SourceName, el RDN del usuario de origen como TargetRDN de destino, la parte de usuario del UPN de origen + arroba + sufijo recibido como parámetro como TargetUPN y la ruta y nombre del fichero de valores separados por comas en el que se vuelca la información.

Leer el resto de esta entrada »

Publicado en VBScript | Etiquetado: | Deja un Comentario »

Unir Una Máquina Al Dominio Cuando Se Produce “Error joining domain ‘the specified user already exists’” (El Usuario Especificado Ya Existe)

Publicado por urpiano en Miércoles 17 de Diciembre de 2008

Debido a unos problemas que tuvimos con la red el otro día, un servidor que estaba promocionando a controlador de dominio lo hizo mal. Aparentemente promocionó bien, pues no se mostró ningún error ni al promocionarlo ni al reiniciarlo, pero realmente estaba mal promocionado, pues no era capaz de replicar con ningún otro controlador de dominio, no actualizaba directivas de grupo, etc. Era pues necesario despromocionarle, cosa para la que contínuamente daba errores, no pudiendose hacer (la red ya no tenía esos problemas). Por ello se forzó la despromoción (/forceremoval), lo cual sacó al equipo del dominio. A pesar de limpiar los metadatos (ntdsutil), toda referencia al equipo que hubiera en el DNS (CNAME y A) y forzar la replicación desde el controlador de dominio donde se operaron los cambios, a la hora de volverlo a unir al dominio se producía el error:

Error al unir al dominio:
El usuario especificado ya existe

El motivo de esto es que el dominio tiene multitud de sitios y no acababa de replicar totalmente (debido a algún problema en algún enlace, o al desplazamiento de la replicación o a lo que sea que fuere). Como quieres hacer las cosas en el momento y no esperar al día siguiente a que se haya completado la replicación en todo el dominio, necesitas limpiar toda referencia al equipo en un controlador de dominio y controlar que sea ese controlador de dominio el que se utilice para unir el equipo al dominio, de manera que no encuentre referencias “fantasmas”. Esto lo consigues con la utilidad del kit de recursos de Windows Server 2003 netdom. A continuación explico todo el proceso paso a paso.

Leer el resto de esta entrada »

Publicado en Informatica, Tips | 2 Comentarios »

Script VBScript Para Crear Un Fichero BAT Para La Migración De Grupos Con ADMT v3.0

Publicado por urpiano en Lunes 15 de Diciembre de 2008

Este script se encarga de generar un fichero BAT que, cuando se ejecute, realizará la migración de los grupos contenidos en el fichero recibido como parámetro /F. En ese BAT habrá una línea de llamada a ADMT por cada OU que contenga alguno de los grupos. Se pueden migrar también los SIDs de los grupos, lo que permitirá acceder a los recursos del dominio de origen desde el de destino gracias a tener en el SIDHistory del nuevo objeto el SID que tenía en el dominio de origen. El script BAT deberá ser lanzado desde el equipo que tiene instalado ADMT v3.0 y las rutas que se especifican en los comandos del BAT deberán existir en ese equipo (si es que son rutas locales) y ser accesibles desde ese equipo por el usuario que lanza el script (en el caso de rutas UNC)

Leer el resto de esta entrada »

Publicado en VBScript | Etiquetado: | Deja un Comentario »

Script VBScript Para Establecer El Perfil De Terminal Services A Uno O Varios Usuarios De Active Directory

Publicado por urpiano en Lunes 3 de Noviembre de 2008

Este script permite establecer la ruta del perfil de Terminal Services a uno o más usuarios de Active Directory. El script recibe una determinada ruta y establece el perfil en una subcarpeta de la la ruta de nombre igual a atributo sAMAccoutName de cada usuario (el mismo efecto que cuando se establece \servidorcarpeta%USERNAME%).

Leer el resto de esta entrada »

Publicado en VBScript | Etiquetado: | 1 comentario

Script VBScript Para Desinstalar Aplicaciones MSI En Uno O Varios Equipos

Publicado por urpiano en Jueves 30 de Octubre de 2008

Este script permite desinstalar una aplicación instalada con un paquete MSI en uno o más equipos. Utiliza WMI para poder conectarse como otro usuario y así tener los privilegios necesario para poder desinstalar aplicaciones.

Leer el resto de esta entrada »

Publicado en VBScript | Etiquetado: | 8 Comentarios »

Script VBScript Para Agregar Una Carpeta A La Variable De Entorno PATH

Publicado por urpiano en Miércoles 13 de Agosto de 2008

Este script recibe como parámetro una ruta de carpeta (si contiene espacios deberá estar encerrada entre comillas) y la añade a la variable de entorno Path.

Leer el resto de esta entrada »

Publicado en VBScript | Etiquetado: | Deja un Comentario »

Script VBScript Para Borrar Usuarios De Active Directory

Publicado por urpiano en Jueves 31 de Julio de 2008

Este script permite eliminar del directorio activo una o más cuentas de usuario. Debe ser lanzado por un usuario con los privilegios suficientes para borrar las cuentas. Su uso es indicado, por ejemplo, cuando se desea borrar de forma masiva cuentas de usuario.

Leer el resto de esta entrada »

Publicado en VBScript | Etiquetado: | 4 Comentarios »

Script VBScript Para Cambiar La Contraseña A Un Usuario Local En Uno O Varios Equipos

Publicado por urpiano en Viernes 25 de Julio de 2008

Es conveniente cambiar la contraseña del administrador local de los equipos de vez en cuando, de forma que no se "enrancie". Hacer esto en un solo equipo es algo que no es laborioso, pero hacerlo en muchos equipos es otra cosa. Cuando se está en un entorno de dominio, se suele hacer por medio de un script VBScript que se asigna en una GPO como script de inicio de equipo; una forma cómoda de hacer esta tarea. Si embargo tiene dos principales debilidades: si el equipo no es reiniciado en algún momento (pensemos en un servidor por ejemplo, o en ese usuario que nunca apaga su equipo), no recibirá la nueva contraseña, por otra parte, el script deberá estar situado en un recurso de red y tendrá que tener la nueva contraseña escrita en él, con lo que se convierte en fácil capturar esa contraseña para un usuario medinamente "espabiladillo"; se puede encriptar el script con SCRENC.EXE pero eso no es, ni mucho menos algo demasiado seguro, pues es muy fácil saltarse esa encriptación, como se ve aquí. Otra estrategia es el hacerlo de forma interactiva, desde un equipo en el que lanzamos el script desde una ventana de comandos que hemos abierto con RunAs como administrador del dominio; de esta manera, el script no está a disposición de todo el mundo, con lo que nadie se entera de cuál es la nueva contraseña. La pega de esta otra estrategia es que se debe ir haciendo un recuento de los equipos a los que se ha podido o no cambiar la contraseña, pues si un equipo está apagado, la contraseña no se le cambiará, mientras que con la estrategia de la GPO eso no importa, pues en el momento en que sea iniciado el equipo, se le cambiará la contraseña. Por ello, cuando no se opta por la estrategia de ejecutar el script desde una GPO, es conveniente saber a qué equipos no se les pudo cambiar la contraseña y reintentarlo más adelante, e ir así reduciendo la lista de equipos a los que no se aplicó. En esta estrategia de no usar la GPO está basado el presente script.

Leer el resto de esta entrada »

Publicado en Informatica, Tips, VBScript | Etiquetado: | 32 Comentarios »

Script VBScript Para Copiar Estructuras De OUs De Un Dominio En Otro

Publicado por urpiano en Martes 17 de Junio de 2008

Este script copia las OUs (son OUs a nivel raíz del dominio de origen) y todo el árbol de OUs del que son raíz, que están en el fichero de OUs a copiar, en el dominio de destino. Si no se pasa el fichero de OUs a copiar, el script lista las OUs que existen en el dominio que recibe como parámetro de dominio de origen y copia la misma estructura de OUs en el dominio de destino. El resultado del proceso puede ser visto por pantalla o volcado a un fichero de valores separados por tabuladores, ideal para ser abierto por Excel. ‘¡¡OJO!!’, sólo copia las OUs, no los equipos, usuarios o contactos que contengan.

Leer el resto de esta entrada »

Publicado en VBScript | Etiquetado: | Deja un Comentario »