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: Usar los Cmdlets de SCVMM 2008 R2 en cualquier consola de PowerShell

Posted by 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.

Lee el resto de esta entrada »

Posted in Informatica, PowerShell, Tips | 3 Comments »

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

Posted by 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

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

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

Posted by 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.

Lee el resto de esta entrada »

Posted in Informatica, PowerShell, Scripting | 1 Comment »

PowerShell: Cmdlet para inventariar los procesadores de un equipo

Posted by 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.

Lee el resto de esta entrada »

Posted in Informatica, PowerShell, Scripting | 1 Comment »

PowerShell: Cmdlet para invocar Get-WmiObject con credenciales alternativas controlando error por equipo local

Posted by urpiano en Jueves 9 \09\UTC diciembre \09\UTC 2010

Una particularidad de WMI es que no se puede acceder con credenciales alternativas al equipo local, pues eso provoca un error. Cuando queremos realizar un script que vaya obteniendo los objetos que son instancias de una clase de WMI en varios equipos (obtenidos sus nombres, por ejemplo, de un fichero de texto) se puede dar el caso de que entre los nombres de equipo de la lista esté el equipo local, lo que provocará un error si estamos accediendo a WMI con credenciales alternativas. Este Cmdlet permite conectar a WMI con o sin credenciales de manera transparente y obtener los resultados, independientemente de cómo se ha conectado.

Lee el resto de esta entrada »

Posted in Informatica, PowerShell, Scripting | 4 Comments »

Powershell: Cmdlet para cambiar la lista de servidores DNS

Posted by urpiano en Martes 30 \30\UTC noviembre \30\UTC 2010

Esta función cambia los servidores DNS de todas las conexiones de red que presenten como uno de sus servidores DNS el que se pasa como parámetro de búsqueda. La función recibe una lista de servidores y una lista con los nuevos servidores DNS que se deben configurar. El cambio es realizado a través de WMI, en concreto con el método SetDNSServerSearchOrder de la clase CIMv2 Win32_NetworkAdapterConfiguration. Por ello, es necesario que los equipos remotos tengan habilitada la excepción de administración remota en el caso de tener el firewall en estado activo.

Lee el resto de esta entrada »

Posted in Informatica, PowerShell, Scripting | 2 Comments »

Script VbScript Para Crear Un Acceso Directo

Posted by urpiano en Martes 23 \23\UTC noviembre \23\UTC 2010

Este script permite crear un acceso directo, ya sea de aplicación (fichero de extensión .lnk) como de URL (fichero de extensión .url, que contiene una URL y se abre con el navegador de internet predeterminado), en una carpeta especial (el escritorio del usuario, por ejemplo). El script está pensado para ser puesto como script de inicio de máquina (debería apuntar a carpetas especiales de todos los usuarios, como AllUsersDesktop) o inicio de sesión (en el caso de apuntar a carpetas de usuario). Permite establecer el icono del acceso directo de forma personalizada, con ejecutables, DLLs o fichero ICO, así como establecer si será sobrescrito en el caso de que ya exista.

Lee el resto de esta entrada »

Posted in Informatica, Scripting, VBScript | 2 Comments »

Script VbScript para obtener los grupos a los que pertenecen todos los usuarios de un dominio

Posted by urpiano en Miércoles 17 \17\UTC noviembre \17\UTC 2010

Script que devuelve las membresías, el tipo de las mismas (directa cuando el grupo aparece en la propiedad MemberOf o heredada cuando la pertenencia al grupo es debida a pertenecer a un grupo que pertenece al listado), si tienen permiso de acceso remoto o VPN y la OU a la que pertenecen todos los usuarios del dominio. La salida a pantalla o fichero se produce en formato de valores separados por tabuladores, lo que hace que al abrir el fichero en Excel tengamos los datos perfectamente separados por columnas.

Lee el resto de esta entrada »

Posted in Informatica, Scripting, VBScript | 5 Comments »

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

Posted by urpiano en Miércoles 3 \03\UTC noviembre \03\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.

Lee el resto de esta entrada »

Posted in Informatica, PowerShell, Scripting | 2 Comments »

PowerShell: Cmdlet para listar las impresoras conectadas por puerto TCP/IP

Posted by urpiano en Martes 26 \26\UTC octubre \26\UTC 2010

Esta función de PowerShell lista todas las impresoras, conectadas a un puerto TCP/IP, de un equipo, local o remoto. La función permite recibir el nombre del equipo a mirar por encaminamiento, lo que permite encaminar toda una lista de equipos y obtener un listado de sus impresoras conectadas por puerto TCP/IP. Se puede utilizar para inventariar todas las impresoras conectadas por IP que hay en una red, por ejemplo. La devolución está compuesta por objetos WMI de la clase Win32_Printer, a la que se agrega el nombre del equipo al que está conectada la impresora, la IP de la impresora, si responde a PING y un campo con el error que se hubiera producido al intentar listar las impresoras de un equipo o puerto TCP/IP de impresora; si no se ha producido error el valor de este último campo será nulo.

Lee el resto de esta entrada »

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

PowerShell: Cmdlet para inventariar los volúmenes de un equipo

Posted by urpiano en Lunes 25 \25\UTC octubre \25\UTC 2010

Esta función de PowerShell lista todos los volúmenes de un equipo, local o remoto, en base a una consulta WMI a la clase Win32_Volume, lo que implica que sólo funcionará en equipos posteriores a Windows XP (2003 en adelante). La función permite recibir el nombre del equipo a mirar por encaminamiento, lo que permite encaminar toda una lista de equipos y obtener un listado de sus volúmenes. La función requiere para su función otra función que está también en el código y que sirve para obtener el significado del entero que representa el tipo de volumen.

Lee el resto de esta entrada »

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

Script VbScript para añadir una carpeta a la variable de entorno Path

Posted by urpiano en Lunes 18 \18\UTC octubre \18\UTC 2010

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 del sistema.

Lee el resto de esta entrada »

Posted in Informatica, Scripting, VBScript | Leave a Comment »

Script Powershell Para Enviar Una Alerta Si Hay Bases De Datos De Exchange 2007 Desmontadas

Posted by urpiano en Lunes 18 \18\UTC octubre \18\UTC 2010

Este script de PowerShell revisa el estado de las bases de datos de la organización de Exchange donde es lanzado, y en el caso de que al menos una no esté montada, envía un correo advirtiendo de ello. La idea para su uso es crear una tarea programada que se lanza cada cierto tiempo (digamos que es como una alerta de SCOM pero para pobres :-)). Se debe lanzar desde un servidor de Exchange.

Lee el resto de esta entrada »

Posted in Exchange, Informatica, PowerShell, Scripting | 2 Comments »

PowerShell: Los Módulos en PowerShell v2.0

Posted by urpiano en Viernes 15 \15\UTC octubre \15\UTC 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 »

PowerShell: Cmdlet para inventariar los grupos de recursos, y los recursos que los integran, de un clúster de Windows Server 2008

Posted by urpiano en Miércoles 13 \13\UTC octubre \13\UTC 2010

Esta función de PowerShell lista los grupos de recursos, y los recursos que los integran, de un clúster de Windows Server 2008. Se puede lanzar directamente desde un nodo del clúster o en remoto especificando el nombre de un nodo del clúster; cuando se hace en remoto, se pueden especificar credenciales alternativas para la conexión. El listado se puede ver por pantalla o exportarlo a un fichero de valores separados por tabulador (ideal para ser abierto por Excel). Sólo tiene sentido usarlo con Windows Server 2008 y no con Windows Server 2008 R2, pues éste último tiene Cmdlets específicos para administrar un clúster.

Lee el resto de esta entrada »

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

Powershell: Cmdlet para inventariar las particiones de los discos de un clúster de Windows Server 2008

Posted by urpiano en Jueves 7 \07\UTC octubre \07\UTC 2010

Esta función de PowerShell lista las particiones de los discos de un clúster de Windows Server 2008. Se puede lanzar directamente desde un nodo del clúster o en remoto especificando el nombre de un nodo del clúster; cuando se hace en remoto, se pueden especificar credenciales alternativas para la conexión. El listado se puede ver por pantalla o exportarlo a un fichero de valores separados por tabulador (ideal para ser abierto por Excel). Sólo tiene sentido usarlo con Windows Server 2008 y no con Windows Server 2008 R2, pues éste último tiene Cmdlets específicos para administrar un clúster.

Lee el resto de esta entrada »

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

PowerShell: Cmdlet para inventariar los volúmenes de los hosts de virtualización gestionados por un servidor SCVMM

Posted by urpiano en Miércoles 6 \06\UTC octubre \06\UTC 2010

Esta función de PowerShell lista los volúmenes de los host de virtualización que administra un servidor de System Center Virtual Machine Manager. Puede listar los volúmenes de todos los hosts o sólo los volúmenes de los hosts que son nodos de clúster. El listado se puede ver por pantalla o exportarlo a un fichero de valores separados por tabulador (ideal para ser abierto por Excel)

Lee el resto de esta entrada »

Posted in Informatica, PowerShell, Scripting, SCVMM, System Center | 2 Comments »

PowerShell: Cmdlet para inventariar los discos fisicos de los hosts de virtualización gestionados por un servidor SCVMM

Posted by urpiano en Miércoles 6 \06\UTC octubre \06\UTC 2010

Esta función de PowerShell lista los discos físicos de los host de virtualización que administra un servidor de System Center Virtual Machine Manager. Puede listar los discos de todos los hosts o sólo los discos de los hosts que son nodos de clúter. El listado se puede ver por pantalla o exportarlo a un fichero de valores separados por tabulador (ideal para ser abierto por Excel)

Lee el resto de esta entrada »

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

PowerShell: Cmdlet para inventariar las máquinas virtuales gestionadas por un servidor SCVMM

Posted by urpiano en Miércoles 6 \06\UTC octubre \06\UTC 2010

Esta función de PowerShell lista las máquinas virtuales albergadas en los hosts de virtualización que administra un servidor de System Center Virtual Machine Manager. Puede listar todas las máquinas o sólo las que están albergadas en nodos de clúters. El listado se puede ver por pantalla o exportarlo a un fichero de valores separados por tabulador (ideal para ser abierto por Excel)

Lee el resto de esta entrada »

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

PowerShell: Cmdlet para inventariar los discos de las máquinas virtuales gestionadas por un servidor de SCVMM

Posted by urpiano en Miércoles 6 \06\UTC octubre \06\UTC 2010

Esta función de PowerShell lista los discos duros de las máquinas virtuales albergadas en los hosts de virtualización que administra un servidor de System Center Virtual Machine Manager. Puedes listar los discos de todas las máquinas o sólo los de aquellas que están albergadas en nodos de clúters. El listado se puede ver por pantalla o exportarlo a un fichero de valores separados por tabulador (ideal para ser abierto por Excel)

Lee el resto de esta entrada »

Posted in Informatica, PowerShell, Scripting, SCVMM, System Center | 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\UTC octubre \05\UTC 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\UTC septiembre \19\UTC 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 »

Oracle 11gR2 y la query del sudoku

Posted by calabuch en Miércoles 11 \11\UTC agosto \11\UTC 2010

Es raro encontrar  código de Oracle que se pueda aplicar inmediatamente al mundo de la no-informática, en este caso hemos encontrado una query que resuelve un sudoku. Lo mejor de esta consulta es que cumple la máxima : “No hagas en un bloque (pl/sql) lo que puedas resolver en una sola consulta.”, bueno, decir que la cumple es poco, realmente es un ejemplo excelente de esta directriz.

Lee el resto de esta entrada »

Posted in Bases de datos, Informatica, Oracle | 1 Comment »

PowerShell v2.0: Begin, Process y End

Posted by urpiano en Lunes 17 \17\UTC mayo \17\UTC 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\UTC mayo \07\UTC 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 »

Función Powershell para generar apuestas de lotería primitiva

Posted by urpiano en Miércoles 5 \05\UTC mayo \05\UTC 2010

Sí, has leído bien. Esta función de Powershell genera apuestas de Loteria Primitiva de forma aleatoria. Se le puede pasar el número de apuestas que se quiere generar o no pasarle nada, en cuyo caso sólo genera una combinación.

Lee el resto de esta entrada »

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

Script VbScript Para Listar Los Usuarios Miembros De Un Grupo

Posted by urpiano en Jueves 18 \18\UTC marzo \18\UTC 2010

Este script nos permite listar los usuarios que peretenecen a un grupo que se recibe como parámetro, ya sea en su nombre NT como en su nombre distinguido. Recibe también un nombre de carpeta en la que creará un fichero de valores separados por tabuladores con la lista de usuarios

Lee el resto de esta entrada »

Posted in Informatica, Scripting, VBScript | 4 Comments »

Script PowerShell Para Agregar Entradas De Seguridad En La ACL De Una Clave Del Registro

Posted by urpiano en Martes 26 \26\UTC enero \26\UTC 2010

Este script se encarga de dar de alta entradas de seguridad en una clave del registro. Estas entradas corresponden a tantos usuarios o grupos como se establezcan con el parámetro $Usuarios, parámetro que es un array de cadena, cada una de ellas un nombre NetBios (dominio o equipo\usuario o grupo).

Lee el resto de esta entrada »

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

Expandir el disco de arranque/sistema en Widows Server 2003 virtualizado con Hyper-V R2

Posted by urpiano en Martes 26 \26\UTC enero \26\UTC 2010

Hay ocasiones en las que después de hacer P2V de un servidor Windows Server 2003 se piensa “ya que estamos de obras ¿por qué no aprovechamos para agregarle espacio al disco C:, que está muy ahogadito el pobre?”. Así que paramos el equipo virtual, abrimos su configuración y editamos el disco, aumentando su tamaño. Encendemos el equipo virtual, abrimos una ventana de comandos e intentamos expandir la unidad C: para que ocupe también el espacio que hemos agregado y ¡¡MEC!! no podemos, Windows Server no permite expandir un volumen o disco lógico que sea de arranque y/o sistema ¡¡Aquí es donde llega a nuestro rescate Windows Server 2008 R!!

Lee el resto de esta entrada »

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

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

Posted by urpiano en Viernes 15 \15\UTC enero \15\UTC 2010

Este script genera una serie de ficheros de valores separados por tabulador (ideales paa 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. El script crea los ficheros:

Lee el resto de esta entrada »

Posted in Informatica, Scripting, VBScript | 4 Comments »