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…

Powershell Tip: Un ejemplo de uso de $OFS

Publicado por urpiano en Miércoles 27 \27\UTC marzo \27\UTC 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. Leer el resto de esta entrada »

Publicado en Informatica, PowerShell, Scripting, Tips | Leave a Comment »

Powershell: Cmdlet para enviar un correo con la información de la última sincronización de los servidores WSUS

Publicado por urpiano en Martes 12 \12\UTC febrero \12\UTC 2013

¿Quieres crear una tarea programada que todos los días te informe de qué tal ha ido la sincronización de tus servidores WSUS? Este Cmdlet de Powershell te puede ser útil.

Leer el resto de esta entrada »

Publicado en Informatica, PowerShell, Scripting | Leave a Comment »

PowerShell Tip: Mostrar el Progreso con Texto en un Bucle

Publicado por urpiano en Miércoles 12 \12\UTC diciembre \12\UTC 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.

Leer el resto de esta entrada »

Publicado en Informatica, PowerShell, Scripting, Tips | Leave a Comment »

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

Publicado por urpiano en Domingo 2 \02\UTC diciembre \02\UTC 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.

Leer el resto de esta entrada »

Publicado en Informatica, PowerShell, Tips | 1 Comment »

PowerShell: Cmdlet Para Importar Contactos de un Exchange de Producción a Otro Exchange de Laboratorio Sin Relación de Confianza Entre Ambos

Publicado por urpiano en Viernes 30 \30\UTC noviembre \30\UTC 2012

Este Cmdlet lo he desarrollado como paso previo a un script que he tenido que crear de sincronización de contactos que venían de otras organizaciones de correo. Como quería que en el laboratorio estuviesen los mismos contactos que en producción y además con las mismas propiedades fundamentales (nombres, direcciones de correo y atributos personalizados), desarrollé este Cmdlet para poder, de un plumazo, traer de nuevo los contactos tantas veces fuera necesario, eliminando los que ya hubiera creado con anterioridad y que, por haber realizado cambios en ellos al ejecutar otros scripts, no estuvieran ya igual que en producción.

Leer el resto de esta entrada »

Publicado en Exchange, Informatica, PowerShell, Scripting | Leave a Comment »

PowerShell: Cmdlet Para Inventariar con WMI y Obtener Ficheros HTML con los Resultados

Publicado por urpiano en Miércoles 28 \28\UTC noviembre \28\UTC 2012

Inspirado por esta pregunta del foro general de scripting de Technet he desarrollado este Cmdlet. Respondí a la persona que preguntaba con este script VbScript. Pensando en la facilidad de PowerShell a la hora de entenderse con WMI, he desarrollado este otro script en PowerShell, que hace lo mismo que el anterior, pero con cualquier clase WMI, no sólo con Win32_Product.

Leer el resto de esta entrada »

Publicado en Informatica, PowerShell, Scripting | Leave a Comment »

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

Publicado por urpiano en Miércoles 28 \28\UTC noviembre \28\UTC 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.

Leer el resto de esta entrada »

Publicado en Informatica, PowerShell, Scripting, Tips, Uncategorized | Leave a Comment »

PowerShell: Cmdlet para Obtener un Listado de las Membresías de Grupo de Un Usuario

Publicado por urpiano en Miércoles 24 \24\UTC octubre \24\UTC 2012

Este Cmdlet permite listar los grupos a los que pertenece un usuario, así como información propia del usuario y del contenedor en el que está albergada su cuenta (OU). Las membresías que se obtienen son:

  • Membresías directas: el usuario es miembro de un grupo y aparece como tal en la lista de la pestaña "Miembros" de las propiedades del grupo.
  • Membresías heredadas: el usuario es miembro de un grupo A que es, a su vez, miembro de un grupo B; esto hace al usuario miembro del grupo B, aunque no aparezca en la lista de la pestaña "Miembros" de las propiedades del grupo B.
  • Membresías por ser el grupo primario del usuario: el usuario tiene como grupo primario (propiedad primaryGroupId) a determinado grupo (de forma predeterminada los usuarios de un dominio pertenecen al grupo "Usuarios del dominio"); en este caso, el usuario tampoco aparece en la lista de la pestaña "Miembros" de las propiedades del grupo que tiene como grupo primario.

Leer el resto de esta entrada »

Publicado en Informatica, PowerShell, Scripting | Leave a Comment »

PowerShell: Cmdlet Para Realizar Búsquedas en Active Directory y Obtener los Resultados Como Objetos DirectoryEntry

Publicado por urpiano en Domingo 21 \21\UTC octubre \21\UTC 2012

Cuando se utiliza un objeto DirectorySearcher para realizar búsquedas por medio de filtros LDAP, los resultados obtenidos son objetos SearchResult, más incómodos de consultar que los objetos DirectoryEntry. Este Cmdlet en un encapsulamiento del objeto DirectorySearcher que permite usar el mismo filtro LDAP que se usaría con el DirectorySearcher y obtener los mismos resultados, pero como objetos DirectoryEntry.

Leer el resto de esta entrada »

Publicado en Informatica, PowerShell, Scripting | 1 Comment »

PowerShell: Cmdlet Para Traducir un Nombre NetBios a Distinguido y Viceversa

Publicado por urpiano en Domingo 21 \21\UTC octubre \21\UTC 2012

Esta función recibe como parámetro el nombre NetBios (Dominio\Objeto) de un objeto de Active Directory y devuelve su nombre distinguido (cn=Objeto,OU=OU,DC=dominio,DC=local), o recibe el nombre distinguido y devuelve el NetBios.

Leer el resto de esta entrada »

Publicado en Informatica, PowerShell, Scripting | 1 Comment »

PowerShell: Cmdlet Para Obtener Un Objeto DirectoryEntry a Partir de su Ruta LDAP

Publicado por urpiano en Domingo 21 \21\UTC octubre \21\UTC 2012

Este Cmdlet recibe como parámetro la ruta LDAP de un objeto de Active Directory y devuelve el objeto DirectoryEntry, cuya ruta LDAP es la recibida. Es un pequeño Cmdlet pensado para facilitar la obtención de objetos DirectoryEntry cuando se tiene su ruta LDAP obtenida por otros objetos, como pueda ser la propiedad Parent de los objetos DirectoryEntry, que es el contenedor en el que están ubicados; esto es muy útil para poder obtener información de la Unidad Organizativa a la que pertenece un objeto.

Leer el resto de esta entrada »

Publicado en Informatica, PowerShell, Scripting | 1 Comment »

PowerShell: Cmdlet para Obtener la Cadena SID de un Array SID

Publicado por urpiano en Domingo 21 \21\UTC octubre \21\UTC 2012

Cuando consultamos en un objeto DirectoryEntry su propiedad objectSID vemos que se trata de un array de Bytes, no de la típica cadena SID más amigable para el ser humano. Este Cmdlet permite obtener esta cadena SID, lo cual nos hace que, por ejemplo, podamos usar el SID para poder identificar estructuras SID conocidas. Esto resulta muy util cuando se consulta el atributo operacional tokenGroups, que contiene los SIDs de todos los grupos a los que pertenece un usuario, ya sea por membresía directa, heredada o por ser su grupo primario (atributo primaryGroupID).

Leer el resto de esta entrada »

Publicado en Informatica, PowerShell, Scripting | 1 Comment »

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

Publicado por urpiano en Viernes 20 \20\UTC julio \20\UTC 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?

Leer el resto de esta entrada »

Publicado en Informatica, PowerShell, Scripting, Tips | Leave a Comment »

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

Publicado por urpiano en Lunes 21 \21\UTC mayo \21\UTC 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.

Leer el resto de esta entrada »

Publicado en Exchange, PowerShell, Tips | 6 Comments »

PowerShell: Cmdlets para cambiar el caso en atributos de usuario de Active Directory

Publicado por urpiano en Sábado 5 \05\UTC mayo \05\UTC 2012

¿No te gusta cómo están dados de alta los usuarios en Active Directory, en concreto que estén en mayúsculas y los quieres en minúsculas, o viceversa? ¿O te gustaría que estuviesen En Plan Títulos? ¿Quieres poder cambiar esto de un plumazo? Estos Cmdlets que presento aquí te pueden servir de ayuda.

Leer el resto de esta entrada »

Publicado en Informatica, PowerShell, Scripting | 2 Comments »

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

Publicado por urpiano en Miércoles 25 \25\UTC abril \25\UTC 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.

Leer el resto de esta entrada »

Publicado en Informatica, PowerShell, Scripting, Tips | 3 Comments »

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

Publicado por urpiano en Martes 13 \13\UTC marzo \13\UTC 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.

Leer el resto de esta entrada »

Publicado en Informatica, PowerShell, Scripting, Tips, Uncategorized | 1 Comment »

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

Publicado por urpiano en Lunes 27 \27\UTC febrero \27\UTC 2012

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

Leer el resto de esta entrada »

Publicado en Informatica, PowerShell, Scripting, Tips | Leave a Comment »

PowerShell: Cmdlet para mostrar la información de una clase de Active directory

Publicado por urpiano en Martes 21 \21\UTC febrero \21\UTC 2012

Al hilo de mi entrada anterior PowerShell Tip: Cómo Enumerar Todas las Propiedades de una Clase de Active Directory, he desarrollado este Cmdlet que nos permite pasarle uno o varios nombres de clases de Active Directory y obtener la información respecto a ellas que hay en el esquema.

Leer el resto de esta entrada »

Publicado en Informatica, PowerShell, Scripting | 1 Comment »

PowerShell: Cmdlet para listar las conexiones de red de un equipo

Publicado por urpiano en Jueves 19 \19\UTC enero \19\UTC 2012

Esta función tiene como devolución los objetos de la clase WMI Win32_NetworkAdapter, agregándole propiedades de la clase WMI Win32_NetworkAdapterConfiguration, lo que permite obtener resultados parecidos (aunque mucho más amplios) al comando IPCONFIG, ya que la información suministrada por este comando junta la información de ambas clases (como si de un Join de SQL se tratara, pues cada instancia de una de ambas clases tiene su correspondiente en la otra) obteniendo así la información de las conexiones de red.

Leer el resto de esta entrada »

Publicado en Informatica, PowerShell, Scripting | Leave a Comment »

VbScript: Script Para Obtener Un Listado HTML De Los Productos Instalados Con Windows Installer

Publicado por urpiano en Jueves 24 \24\UTC noviembre \24\UTC 2011

Este script nos permite obtener un listado con los productos intalados con Windows Installer en el equipo (son aquellos que fueron instalados con un fichero MSI), es decir, las instancias de la clase Win32_Product de WMI que tengamos en el equipo donde ejecutemos este script. El listado que obtenemos es guardado en un fichero HTML como tabla, en la que podremos ver el producto y las propiedades que tengamos del mismo.

Leer el resto de esta entrada »

Publicado en Informatica, Scripting, VBScript | 2 Comments »

Script VbScript para obtener la configuración de Proxy de IE del usuario que lo ejecuta

Publicado por urpiano en Jueves 25 \25\UTC agosto \25\UTC 2011

Desarrollado para dar respuesta en el foro de scripting de Technet, este script permite averiguar la configuración de proxy en Internet Exporer del usuario que lo lanza.

Leer el resto de esta entrada »

Publicado en Informatica, Scripting, VBScript | 2 Comments »

PowerShell: Cmdlet para obtener los miembros de un grupo

Publicado por urpiano en Miércoles 20 \20\UTC julio \20\UTC 2011

Esta función recibe como parámetro el nombre distinguido de un grupo de Active Directory y devuelve los usuarios que pertenecen a dicho grupo. La devolución consiste en objetos DirectoryEntry, lo que permite recorrerla para leer o escribir determinados atributos según necesidades detectadas.

Leer el resto de esta entrada »

Publicado en Informatica, PowerShell, Scripting | Leave a Comment »

¡La que te puede liar un nulo!

Publicado por urpiano en Lunes 4 \04\UTC julio \04\UTC 2011

Tremendo lío tuvimos en el bosque… Resulta que de repente empezó a fallar la réplica y varios controladores de dominio se reiniciaban nada más arrancar, mostrando el conocido mensaje LSASS.EXE: Se está apagando el sistema. Guarde todos los trabajos en curso y cierre la sesión. Todos los cambios que no haya guardado se perderán. El apagado, iniciado por NT AUTHORITY\SYSTEM comenzará en 56 segundos. Mensaje de apagado: El proceso de sistema ‘C:\WINDOWS\system32\lsass.exe’ ha finalizado inesperadamente y muestra el código de estado -1073741819. El sistema se cerrará y reiniciará.

Leer el resto de esta entrada »

Publicado en Curiosidades, Informatica, Noticias | 1 Comment »

Script VbScript para obtener información de un bosque de Active Directory (2)

Publicado por urpiano en Jueves 28 \28\UTC abril \28\UTC 2011

Este script genera una serie de ficheros de valores separados por tabulador (ideales para ser abiertos por Excel o importarlos a una base de datos), con información del bosque de Active Directory al que pertenece el equipo desde el que se lanza, así como información de Exchange. Obviamente, la cuenta con la que se ejecute debe tener permisos de lectura de AD en los diferentes dominios que conformen el bosque. Se trata de una actualización de este otro script, y añade la información de equipos y usuarios, que en el anterior no era obtenida. El script crea los ficheros:

Leer el resto de esta entrada »

Publicado en Informatica, Scripting, VBScript | 2 Comments »

PowerShell: Obtener los buzones de correo de un servidor Domino

Publicado por urpiano en Lunes 25 \25\UTC abril \25\UTC 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).

Leer el resto de esta entrada »

Publicado en Informatica, PowerShell, Scripting, Tips | Leave a Comment »

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

Publicado por urpiano en Viernes 21 \21\UTC enero \21\UTC 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.

Leer el resto de esta entrada »

Publicado en Informatica, PowerShell, Tips | 2 Comments »

Devolución de funciones en PowerShell y tipos de datos personalizados

Publicado por urpiano en Miércoles 12 \12\UTC enero \12\UTC 2011

En este artículo veremos como se comporta PowerShell a la hora de realizar la devolución de las funciones, ya que no lo hace como los lenguajes de programación “normales”, lo que nos puede llevar a confusión y a obtener resultados inesperados e/o indeseados. A parte de ello, a la hora de crear funciones en PowerShell es muy interesante que éstas no devuelvan simple texto, si no que devuelvan objetos tal y como lo hacen los propios Cmdlets de PowerShell , lo que permite que la devolución sea encaminada a otras funciones o Cmdlets de PowerShell . Así pues, es interesante el poder personalizar los tipos de objetos que se devuelven, ya sea quitando y/o añadiendo propiedades a los objetos obtenidos por otros Cmdlets invocados en la función, calculadas en la función o procedentes de otros objetos, o incluso creando nuevos tipos personalizados para la devolución de las funciones.

http://freyes.svetlian.com/pstipos.htm

Publicado en Informatica, PowerShell, Scripting | Leave a Comment »

PowerShell: Cmdlet para obtener información sobre la memoria física de un equipo (2)

Publicado por urpiano en Jueves 9 \09\UTC diciembre \09\UTC 2010

Esta función de PowerShell obtiene información sobre la memoria física de un equipo, local o remoto, en base a una consulta WMI a la clase Win32_PhysicalMemory. La función permite recibir el nombre del equipo a mirar por encaminamiento, lo que permite encaminar toda un conjunto de equipos y obtener un listado de memoria física.

Leer el resto de esta entrada »

Publicado en Informatica, PowerShell, Scripting | 1 Comment »

PowerShell: Cmdlet para inventariar los procesadores de un equipo

Publicado por urpiano en Jueves 9 \09\UTC diciembre \09\UTC 2010

Este Cmdlet permite obtener información sobre los procesadores de la máquina recibida como parámetro o de la máquina local si se omite este parámetro. La información es obtenida procesando la clase WMI Win32_Processor del espacio de nombres root/CIMv2. La función permite especificar las credenciales con las que se conectará a WMI, credenciales que serán ignoradas en el caso del equipo local, pues no se puede acceder a WMI con credenciales alternativas desde el equipo local.

Leer el resto de esta entrada »

Publicado en Informatica, PowerShell, Scripting | 1 Comment »

 
Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 39 seguidores