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…

Archive for the ‘Tips’ Category

Powershell Tip: Lanzar ejecutables y recuperar la salida de los mismos

Posted by urpiano en miércoles 28 \28\+01:00 May \28\+01:00 2014

Cuando se lanza un ejecutable desde una consola de Powershell o desde un script de Powershell nos puede interesar recuperar la salida estandar y la de errores para llevarla a una variable. Esto se puede hacer simplemente redirigiendo ambas salidas a un fichero, cargando el fichero y eliminádolo una vez cargado o terminado de operar con él ¿No sería mejor poder obtener ambas salidas de forma directa, sin necesidad de usar ese fichero «de paso»? La respuesta está en dos clases del espacio de nombres .NET System.Diagnostics: ProcessStartInfo y Process. Lee el resto de esta entrada »

Posted in Informatica, PowerShell, Scripting, Tips | Leave a Comment »

Powershell Tip: Un ejemplo de uso de $OFS

Posted by urpiano en miércoles 27 \27\+01:00 marzo \27\+01:00 2013

En este otro Tip de Powershell, explicaba qué hace esta variable propia de Powershell; ahora voy a poner un ejemplo muy chulo que he hecho en un script en el curro. Lee el resto de esta entrada »

Posted in Informatica, PowerShell, Scripting, Tips | Leave a Comment »

PowerShell Tip: Mostrar el Progreso con Texto en un Bucle

Posted by urpiano en miércoles 12 \12\+01:00 diciembre \12\+01:00 2012

Al hilo de este anterior Tip, en este otro vamos a ver cómo poder mostrar el progreso en un bucle en el que estamos procesando "algo" y queremos mostrar alguna propiedad de ese "algo" en el momento en que lo estamos procesando, lo que nos permitirá ver en qué objeto estamos en un determinado momento y que el proceso progresa.

Lee el resto de esta entrada »

Posted in Informatica, PowerShell, Scripting, Tips | Leave a Comment »

PowerShell Tip: Mostrar Una Cuenta Hacia Delante o Hacia Detrás

Posted by urpiano en domingo 2 \02\+01:00 diciembre \02\+01:00 2012

En ocasiones podemos querer que se vaya mostrando un cuenta hacia adelante o hacia detrás en algún script que tengamos. La forma "bonita" de hacer esto es que se vea un texto fijo y un número a su lado que vemos cómo se va incrementando o cómo va decreciendo.

Lee el resto de esta entrada »

Posted in Informatica, PowerShell, Tips | 1 Comment »

PowerShell Tip: Saber El Valor Predeterminado De los Parámetros De Un Cmdlet

Posted by urpiano en miércoles 28 \28\+01:00 noviembre \28\+01:00 2012

Si queremos mirar con la ayuda de un Cmdlet los valores por defecto de sus parámetros, esto lo podemos realizar ejecutando Get-Help -full o, más específicamente, Get-Help -Property * | Format-Table Name,DefaultValue.

Lee el resto de esta entrada »

Posted in Informatica, PowerShell, Scripting, Tips, Uncategorized | Leave a Comment »

PowerShell: Cómo Almacenar de Manera Segura una Contraseña y Utilizarla desde un Script

Posted by urpiano en viernes 20 \20\+01:00 julio \20\+01:00 2012

Un problema típico de los scripts es cuando se necesita poner una contraseña para realizar determinada tarea. Esa contraseña se escribe como texto plano, con lo que cualquiera que tenga acceso al código podrá averiguar cuál es esa contraseña ¿Cómo podemos evitar que esta contraseña sea visible para cualquiera?

Lee el resto de esta entrada »

Posted in Informatica, PowerShell, Scripting, Tips | Leave a Comment »

Exchange 2010 Tip: Administrar con PowerShell desde un equipo sin herramientas de Exchange

Posted by urpiano en lunes 21 \21\+01:00 May \21\+01:00 2012

Gracias a la administración remota incluída con el marco de administración de Windows (incluye PowerShell 2.0 y administración remota de Windows), es posible conectar desde tu equipo con una consola de PowerShell a un servidor de Exchange 2010 y administrarlo, sin tener instaladas las herramientas de administración de Exchange en tu equipo (eso sí, no con la consola de administración GUI, sólo desde PowerShell). Veamos cómo se hace esto.

Lee el resto de esta entrada »

Posted in Exchange, PowerShell, Tips | 6 Comments »

PowerShell Tip: Separación Automática de Arrays – $OFS

Posted by urpiano en miércoles 25 \25\+01:00 abril \25\+01:00 2012

Una prestación muy cómoda de PowerShell consiste en que puede poner todos los valores de un array de forma automática en una cadena, con los valores separados por espacios ¿Es posible que esto lo haga separando por un tabulador, por ejemplo? Sí, es perfectamente posible y es lo que vamos a ver en este Tip.

Lee el resto de esta entrada »

Posted in Informatica, PowerShell, Scripting, Tips | 3 Comments »

PowerShell Tip: Cómo Enumerar Todas las Propiedades de una Clase de Active Directory

Posted by urpiano en martes 13 \13\+01:00 marzo \13\+01:00 2012

¿Tenemos curiosidad por saber qué atributos tiene una clase de Active Directory en concreto? ¿Queremos además saber de qué tipo son esos atributos? Con PowerShell esto se puede averiguar.

Lee el resto de esta entrada »

Posted in Informatica, PowerShell, Scripting, Tips, Uncategorized | 1 Comment »

Tip PowerShell: Cómo saber la versión de PowerShell que hay en un equipo

Posted by urpiano en lunes 27 \27\+01:00 febrero \27\+01:00 2012

¿Queremos saber la versión de PowerShell que está instalada en el equipo? En esta entrada se explica cómo hacerlo.

Lee el resto de esta entrada »

Posted in Informatica, PowerShell, Scripting, Tips | Leave a Comment »

PowerShell: Obtener los buzones de correo de un servidor Domino

Posted by urpiano en lunes 25 \25\+01:00 abril \25\+01:00 2011

De la misma manera que se pueden obtener con una consulta LDAP los objetos de un dominio de Active Directory, se pueden obtener los objetos de Domino. En este ejemplo vamos a obtener los buzones de correo de un servidor Domino (objetos de tipo dominoPerson).

Lee el resto de esta entrada »

Posted in Informatica, PowerShell, Scripting, Tips | Leave a Comment »

PowerShell: Usar los Cmdlets de SCVMM 2008 R2 en cualquier consola de PowerShell

Posted by urpiano en viernes 21 \21\+01:00 enero \21\+01:00 2011

Si queremos utilizar PowerShell para administrar la virtualización vía SCVMM 2008 R2 (System Center Virtual Machine Manager 2008 Release 2) sin abrir la consola que instala SCVMM, que es un archivo .psc1, es decir, un archivo de consola de PowerShell), necesitamos agregar el SnapIn de SCVMM a la consola "normal" de PowerShell. Una vez agregada, podemos querer ver qué Cmdlets son los que agrega este SnapIn. Este Tip versa sobre esto.

Lee el resto de esta entrada »

Posted in Informatica, PowerShell, Tips | 3 Comments »

PowerShell: Los Módulos en PowerShell v2.0

Posted by urpiano en viernes 15 \15\+01:00 octubre \15\+01:00 2010

Este es un artículo donde se explican los módulos de Windows PowerShell v2.0, una nueva característica que no incorporaba la versión v1.0 y que permite ampliar los comandos de PowerShell de manera personalizada, sin problemas con los permisos del usuario que ejecute PowerShell

Los Módulos en Windows PowerShell v2.0
http://freyes.svetlian.com/Modulos.htm

Posted in Informatica, PowerShell, Scripting, Tips | Leave a Comment »

TIP PowerShell: Listar los Cmdlets que incorpora System Center Virtual Machine Manager en PowerShell y agregarlos a una consola

Posted by urpiano en martes 5 \05\+01:00 octubre \05\+01:00 2010

Si queremos ver en un listado todos los Cmdlets que incorpora System Center Virtual Machine Manager para su administración desde PowerShell, podemos hacerlo usando el Cmdlet Get-Command. Si en una consola de PowerShell queremos poder usar los comandos de SCVMM, es necesario que utilicemos Add-PsSnapin.

Lee el resto de esta entrada »

Posted in Informatica, PowerShell, Scripting, SCVMM, System Center, Tips | Leave a Comment »

Lentitud en escritorio remoto de máquina virtual en Hyper-V R2

Posted by urpiano en domingo 19 \19\+01:00 septiembre \19\+01:00 2010

¿Te ha pasado que al conectar a una máquina virtual, que tienes en un Windows 2008 R2 con el rol de Hyper-V, la conexión RDP es un sufrimiento porque va todo lentísimo? ¿Si conectas desde el propio host con la consola de máquina virtual ves que el rendimiento de ésta es correcto? Este problema tiene una muy fácil solución

Lee el resto de esta entrada »

Posted in Hyper-V, Informatica, Tips, Virtualización | 2 Comments »

PowerShell v2.0: Begin, Process y End

Posted by urpiano en lunes 17 \17\+01:00 May \17\+01:00 2010

Una de las nuevas características de PowerShell versión 2.0 que no incorporaba la 1.0 es la adición de las palabras clave Begin,Process y End. Estas tes palabras clave permiten definir bloques en los scripts y funciones:

Lee el resto de esta entrada »

Posted in Informatica, PowerShell, Scripting, Tips | 1 Comment »

Agregar nuevas unidades de registro en PowerShell

Posted by urpiano en viernes 7 \07\+01:00 May \07\+01:00 2010

Con PowerShell se puede acceder al registro como si de un disco se tratara. Esto es gracias al PsProvider Registry. PowerShell define dos PsDrive para el registro HKLM: (HKEY_LOCAL_MACHINE) y HKCU: (HKEY_CURRENT_USER) ¿Qué pasa si queremos acceder a HKEY_CLASSES_ROOT, a HKEY_USERS o a HKEY_CURRENT_CONFIG?

Lee el resto de esta entrada »

Posted in Informatica, PowerShell, Scripting, Tips | 1 Comment »

Usuarios de Active Directory con Formato «Apellidos, Nombre»

Posted by urpiano en lunes 30 \30\+01:00 marzo \30\+01:00 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.

Lee el resto de esta entrada »

Posted in Tips, VBScript | 3 Comments »

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

Posted by urpiano en jueves 8 \08\+01:00 enero \08\+01:00 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.

Lee el resto de esta entrada »

Posted in Tips | 4 Comments »

Limite De Sesiones En Escritorio Remoto De Windows Server 2008

Posted by urpiano en lunes 29 \29\+01:00 diciembre \29\+01:00 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.

Lee el resto de esta entrada »

Posted in Tips | 46 Comments »

WinRM – Error WSManFault Al Ejecutar WinRM QuickConfig

Posted by urpiano en lunes 29 \29\+01:00 diciembre \29\+01:00 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

Lee el resto de esta entrada »

Posted in Tips | 1 Comment »

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

Posted by urpiano en miércoles 17 \17\+01:00 diciembre \17\+01:00 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.

Lee el resto de esta entrada »

Posted in Informatica, Tips | 4 Comments »

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

Posted by urpiano en viernes 25 \25\+01:00 julio \25\+01:00 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.

Lee el resto de esta entrada »

Posted in Informatica, Tips, VBScript | Etiquetado: | 50 Comments »

Evitar Que Ubuntu Arranque Con GNOME

Posted by urpiano en jueves 8 \08\+01:00 May \08\+01:00 2008

De forma predeterminada, Ubuntu arranca con GNOME, lo cual es muy cómodo, pero es un inconveniente si queremos instalar un nuevo driver de la tarjeta gráfica, por ejemplo, pues eso requiere estar fuera de GNOME, en consola pura y dura, y esto no se puede hacer con Ctrl+Alt+Backspace, pues lo que sucede es que se reinicia el servidor X de nuevo. En esta entrada indico cómo poder solucionar este problema. Lee el resto de esta entrada »

Posted in Linux, Tips | Leave a Comment »

Cómo Hacer Que Un Usuario En Debian Pueda Usar SUDO

Posted by urpiano en jueves 28 \28\+01:00 febrero \28\+01:00 2008

Si instalamos Debian e intentamos, con el usuario creado en la instalación, ejecutar algo como root por medio de sudo, veremos que el sistema nos deniega el hacerlo, pues nos comunica que el usuario no está en la lista de «sudoers», es decir, usuarios con el privilegio de usar sudo.

Lee el resto de esta entrada »

Posted in Linux, Tips | 4 Comments »

Cambiar El Color De Fondo Del Escritorio De Ubuntu Al Iniciar Sesión

Posted by urpiano en miércoles 20 \20\+01:00 febrero \20\+01:00 2008

A pesar de establecer otro color de fondo distinto del típico marron de Ubuntu, usando la herramienta de configuración de la apariencia del escritorio (Sistema / Preferencias / Apariencia, pestaña Fondo) y poner el que deseemos, vemos que cuando hacemos login, sigue apareciendo ese color marron entre el momento del login y el momento en el que ya se presenta el escritorio. Esto es debido a que dicho color no lo establece el perfil del usuario, si no la configuración de pre-sesión. ¿Cómo podemos cambiarlo? Esto se hace editando el fichero que contiene dicha configuración, el fichero /etc/gdm/PreSession/Default. Para ello, desde un terminal ejecutamos:

Lee el resto de esta entrada »

Posted in Linux, Tips | 1 Comment »

Error Actualizando De Ubuntu 7.04 A Ubuntu 7.10: Failed To Fetch

Posted by urpiano en jueves 14 \14\+01:00 febrero \14\+01:00 2008

Intentando actualizar, desde el gestor de actualizaciones, de Feisty Fawn a Gutsy Gibbon, siempre me saltaba el error:

Failed to fetch http://es.archive.ubuntu.com/ubuntu/dist/gutsy/universe/binary-i386/Packages.gz El subproceso gzip devolvió un código de error (1)

Lee el resto de esta entrada »

Posted in Informatica, Linux, Tips | Leave a Comment »

Cómo Acceder A Un Servidor FTP Desde Un Fichero BAT

Posted by urpiano en viernes 23 \23\+01:00 noviembre \23\+01:00 2007

Este tip no pretende ser una novedad ni nada original, pero bueno, buscando en el baúl de los recuerdos, he visto esta respuesta que di en su día en el grupo de noticias de Windows 2000 de los grupos públicos de Microsoft y me ha apetecido publicarla; tal cual fue, la pego a continuación:

Lee el resto de esta entrada »

Posted in Informatica, Tips | 67 Comments »

Trabajar Con Argumentos En VBScript

Posted by urpiano en sábado 23 \23\+01:00 junio \23\+01:00 2007

Este es un breve tutorial que cuenta cómo se trabaja con argumentos en los scripts VBScript. Conoceremos el objeto wshArguments, que es una colección del objeto WScript con los argumentos que ha recibido el script.

Lee el resto de esta entrada »

Posted in Tips, VBScript | Etiquetado: | 4 Comments »

Crear Una Alerta Y Enviar Un Correo Cuando Se Produce

Posted by urpiano en viernes 8 \08\+01:00 junio \08\+01:00 2007

El establecer una alerta es algo muy útil en determinadas ocasiones. Por ejemplo, queremos saber cuándo nos estamos quedando bajos de espacio en disco. En la herramienta administrativa Rendimiento, podemos crear alertas cuando determinado contador del equipo alcance determinado umbral; una vez alcanzado podemos recibir un mensaje de consola y/o ejecutar un programa. Por desgracia, no permite enviar un correo advirtiendo de la alerta, lo cual sería muy útil. Para poder enviar ese correo es necesario un programa para lanzar un script VBScript que envíe el correo. Veremos cómo crear la alerta y también el script en sí.

Lee el resto de esta entrada »

Posted in Informatica, Tips, VBScript | Etiquetado: | 13 Comments »