Aprende Informatica Conmigo

  • Inicio
  • Contenido Anterior
    • VIDEOTUTORIALES
    • Windows Server 2008
    • POWERSHELL

25 noviembre, 2009 Por oscar Deja un comentario

VBScript: Copiar directorio y su contenido

Otra de las tareas que podemos automatizar por medio de scripts en Visual Basic Script es la copia de una serie de carpetas y ficheros.

En el ejemplo, el script copia una carpeta al equipo local junto con todo el contenido que hay dentro de esta, ya sean carpetas o ficheros.

El script es el siguiente:

———————————————————————————-

‘ copiarcarpetascomunes.vbs
‘ Copia el contenido de la carpeta «\servficheros\ficheros\Carpetas comunes\» a «c:\»
‘
‘Creado por Oscar Abad   el   7-8-09
‘
Option Explicit
Const SOBREESCRIBIR = True
Dim objFSO

Set objFSO = CreateObject(«Scripting.FileSystemObject»)

objFSO.CopyFolder «\\servficheros\ficheros\Carpetas comunes\*.*» , «C:\» , SOBREESCRIBIR

—————————————————————————————-

Copia el contenido de «\\servficheros\ficheros\Carpetas comunes\» a la raiz del disco C:.

Script sencillo y de gran utilidad que podemos compaginar o complementar con las GPOs.

Saludos.

—–
Oscar Abad
http://www.xulak.com – Consultoría informática

oscar
oscar

Programador WordPress freelance

Publicado en: programacion, sistemas Etiquetado como: aprendeinformaticaconmigo, automatizar tareas, copiar carpetas, visual basic script

23 noviembre, 2009 Por oscar Deja un comentario

VBScript: Compartir directorio en Windows XP

Otra de las tareas que podemos automatizar en nuestros Windows XP es la de compartir un directorio que tenemos por costumbre compartir en todos los equipos para quien sabe que.

En el script he tomado como ejemplo el directorio c:\usuario. Por supuesto, este directorio debe de existir antes de ejecutar el script en cuestion.

Aqui lo teneis:

———————————————————————

‘ compartirdirectorio.vbs
‘ Comparte el directorio «c:\usuario» como «usuario»
‘
‘ Creador por Oscar Abad   el  7-8-09  para  www.aprendeinformaticaconmigo.com
‘
Option Explicit
Dim equipo
Dim objWMI, objNuevoCompartido
Dim errReturn

Const COMPARTIR_FICHEROS = 0
equipo = «.»

Set objWMI = GetObject(«winmgmts:» & «{impersonationLevel=impersonate}!\\» & equipo & «\root\cimv2»)
Set objNuevoCompartido = objWMI.Get(«Win32_Share»)

errReturn = objNuevoCompartido.Create («C:\usuario», «usuario», COMPARTIR_FICHEROS,,»»)

——————————————————————-

Pues eso es todo.

Saludos.

—–
Oscar Abad
http://www.xulak.com – Consultoría informática

oscar
oscar

Programador WordPress freelance

Publicado en: programacion, sistemas Etiquetado como: aprendeinformaticaconmigo, automatizar tareas, compartir directorio, visual basic script

20 noviembre, 2009 Por oscar 5 comentarios

VBScript: Configurar servicio de Windows XP como automatico

Continuando con los scripts en vbscript para automatizar tareas que realizamos normalmente para que no sean tan tediosas, en esta ocasion vamos a configurar un servicio como automatico y ademas lo iniciaremos.

Para este ejemplo, yo voy a utilizar el servicio servidor. Ya sabeis, ese que nos permite enviar y/o recibir mensajes «net send» entre los equipos.

No tiene ninguna complicacion asi que os dejo el script para que lo probeis y me digais que os parece:

——————————————————————-

‘serviciomensajeroautomatico.vbs
‘Script que establece el servicio «Mensajero» o «Messenger» como Automatico y lo inicia.
‘Nos sirve para cualquier idioma.
‘Creado por Oscar Abad   el   4-8-09   para www.aprendeinformaticaconmigo.com

Option Explicit
Dim objSrvMens
Dim servicios, servicio
Dim equipo
Dim errReturnCode

equipo = «.»

Set objSrvMens = GetObject(«winmgmts:» & «{impersonationLevel=impersonate}!\\» & equipo & «\root\cimv2»)
Set servicios = objSrvMens.ExecQuery («Select * from Win32_Service Where Name = ‘Messenger'»)

For Each servicio in servicios
errReturnCode = servicio.ChangeStartMode(«Automatic»)
errReturnCode = servicio.StartService()
Next

——————————————————————-

Espero vuestras opiniones despues de probarlo.

Saludos.

—–
Oscar Abad
http://www.xulak.com – Consultoría informática

oscar
oscar

Programador WordPress freelance

Publicado en: programacion, sistemas Etiquetado como: aprendeinformaticaconmigo, automatizar tareas, servicios, visual basic script

19 noviembre, 2009 Por oscar 1 comentario

Guia de conversion de VBScript a Powershell

Investigando un poco por la web, me he encontrado con una «Guia de conversion de VBScript a Powershell«.

Esta en ingles, pero no es muy dificil entenderla para cualquiera de nosotros que ya controlamos el segundo, tercer o cuarto idioma (como es mi caso) a la perfeccion (esto ultimo es broma).

Bien, el caso es que todavia no he podido leerla toda, pero si que le he echado un vistazo y considero que puede ser de gran ayuda para todos aquellos que ya conocen y/o trabajan con VBScript y quieren hacerlo ahora con Windows Powershell. El caso es que si no sabemos como hacer un… por ejemplo… Select Case en Powershell pero si lo sabemos hacer con VBScript, esta es la guia que necesitamos.

Enlace para la descarga de «The VBScript-to-Windows PowerShell Conversion Guide».

Saludos.

—–
Oscar Abad
http://www.xulak.com – Consultoría informática

oscar
oscar

Programador WordPress freelance

Publicado en: powershell, programacion, sistemas Etiquetado como: aprendeinformaticaconmigo, guia conversion, visual basic script, windows powershell

17 noviembre, 2009 Por oscar 3 comentarios

VBScript: Deshabilitar ctrl + alt + supr en Windows XP

Muchos de vosotros, ya os habreis dado cuenta de esta característica de Windows XP.

Mediante este script, conseguimos con un click de raton, lo que tendriamos que realizar a mano en cada equipo que instalemos. Tendriamos que ir al panel de control, cuentas de usuario y cambiar la forma en que los usuarios inician y cierran sesion.

El script es el siguiente:

———————————————————

Option Explicit
Dim objReg
Dim strCaminoClave
Dim strNombreValor
Dim strValor
Dim equipo
Const HKLM = &H80000002

equipo = «.»
Set objReg=GetObject(«winmgmts:{impersonationLevel=impersonate}!\\» & equipo & «\root\default:StdRegProv»)
strCaminoClave = «SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon»
strNombreValor = «DisableCAD»
objReg.DeleteValue HKLM,strCaminoClave,strNombreValor
strValor = 1
objReg.SetDWORDValue HKLM,strCaminoClave,strNombreValor,strValor

——————————————————-

A mi me es de gran utilidad.

Probadlo y me contais que os parece.

Venga, saludos.

—–
Oscar Abad
http://www.xulak.com – Consultoría informática

oscar
oscar

Programador WordPress freelance

Publicado en: programacion, sistemas Etiquetado como: aprendeinformaticaconmigo, configuracion inicial, visual basic script

16 junio, 2009 Por oscar 1 comentario

Script Powershell: Informacion sobre la instalacion de un programa en un equipo remoto

Continuando con el ultimo script que nos habiamos currado en el que recibiamos la lista de software instalado en un equipo remoto en un fichero de texto, en esta ocasion vamos a hacer algo parecido pero diferente.

Lo que me hace falta a mi ahora es saber si un equipo tiene instalado el «ultravnc», por ejemplo. Nosotros vamos a hacer el ejemplo con el «ultravnc«.

Os pongo el script completo y luego explico lo que vea necesario:

#script: instaladoultravnc.ps1
#version: 1.0
#
#Autor: Oscar Abad
#Web: https://www.aprendeinformaticaconmigo.com
#Fecha: 7 de Abril de 2009
#
#Tipo: Powershell
#Funcion: Obtener en un fichero de texto el software instalado en un equipo remoto que
#coincida con «ultravnc».
#Parametros: Necesita un nombre de equipo como parametro de entrada.
#Uso: ./instaladoultravnc.ps1
#
Param($equipo) #parametro de entrada
$equipo > instaladoultravnc.txt
«—————-» >> instaladoultravnc.txt
$softinstalado = Get-WmiObject -class win32_product -computername $equipo | Where-Object {$_.Name -like «ultravnc*»}
$softinstalado >> instaladoultravnc.txt

————————————————-

Bueno, bueno… aqui tenemos un poco mas de faena.
Nos queda claro del script anterior que la linea de Param la utilizamos para pedir un parametro de entrada, un nombre de equipo.
La segunda linea:
$equipo > instaladoultravnc.txt
Lo que hace es crear un fichero de texto y si esta creado lo machaca. Escribe en este fichero el nombre del equipo del que hacemos la peticion.

La tercera linea no hace otra cosa que añadir mediante «>>» una serie de guiones al fichero, actua como separador. Es una chorrada, pero bueno…

La cuarta linea es la que tiene el contenido que nos interesa. Hacemos una consulta a la clase win32_product del equipo remoto, pero en este caso le decimos que nos guarde el la variable $softinstalado solo las entradas que coincidan con «ultravnc*«.

Se entiende ¿no?

Y en la ultima linea le decimos que guarde la infomacion de la variable en el fichero de texto.

Pues no tiene mas, asi es y asi se lo hemos contado.

Para cualquier duda, ya sabeis: comentario al canto.

Venga, a pasarlo bien!!

—–
Oscar Abad
http://www.xulak.com – Consultoría informática

oscar
oscar

Programador WordPress freelance

Publicado en: powershell, programacion, scripts powershell, sistemas Etiquetado como: aprendeinformaticaconmigo, remoto, scripts, software instalado, windows powershell

12 junio, 2009 Por oscar 11 comentarios

Script Powershell: software instalado en equipos remotos

Bueno, vamos a darle un poco mas de vidilla al tema de Powershell, que lo tenemos un poco parado.

En este caso, vamos a crear un script que nos va a generar un fichero de texto con la lista del software instalado en un equipo remoto. ¿a que mola?

Os pongo el script completo como lo tengo yo y luego explico un par de cosas.

#Script: Softinstaladoequipo.ps1
#Version: 1.0
#
#Autor: Oscar Abad Folgueira
#Web: https://www.aprendeinformaticaconmigo.com
#
#Tipo: Powershell
#Funcion: Obtener una lista en un fichero de texto de todo el software instalado en un equipo.
#Parametros: Necesita un nombre de equipo como parametro de entrada.
#Uso: ./softinstaladoequipo.ps1
#
#
Param($equipo) #parametro de entrada
$softinstalado = Get-WmiObject -class win32_Product -computername ‘$equipo’
$softinstalado > softwareinstalado.txt

———————————————————
Ya se que no es necesario decirlo, pero por si acaso os comento que todo lo que va detras del caracter almoadilla (#), es un comentario.

Por consiguiente, solo tenemos 3 lineas de codigo en el script.
La primera:
Param($equipo)
Ya sabreis del script anterior que esto nos sirve para indicar que nos hace falta un parametro para ejecutar el script. En este caso un nombre de equipo valido.

La seguna linea efectiva del script:

$softinstalado = Get-WmiObject -class win32_Product -computername ‘$equipo’

Gracias a Get-WmiObject, y a la clase win32_product, lo que hacemos es decirle que guarde en la variable $softinstalado, la informacion del software instalado en el equipo remoto «$equipo«.

Y la ultima linea:

$softinstalado > softwareinstalado.txt

Vuelca esa informacion en un fichero de texto para que podamos revisarlo con mas detenimiento.

Creo que es bastante sencillo pero de mucha utilidad.

La pega que parece tener este script, es que solo nos devuelve el software instalado en el equipo con MSI, pero no me hagais mucho caso. Podeis probar a sacar un listado del equipo local y posteriormente compararlo con la lista en «Agregar o quitar programas» del panel de control de Windows y vereis que hay diferencia.

Aun asi, a mi me hace un gran servicio.

Esto no va a quedar aqui ni mucho menos, en posteriores scripts,veremos como obtener la informacion de un programa en concreto y no toda la lista. Y si teneis paciencia, mas adelante desinstalaremos software remotamente. Como mola esto ¿que no?

Venga, de momento es todo por hoy. Lo probais y me comentais si os ha funcionado correctamente u os ha dado algun tipo de error.

A pasarlo bien!!

—–
Oscar Abad
http://www.xulak.com – Consultoría informática

oscar
oscar

Programador WordPress freelance

Publicado en: powershell, programacion, scripts powershell, sistemas, tutoriales Etiquetado como: aprendeinformaticaconmigo, remoto, scripts, software instalado, windows powershell

8 junio, 2009 Por oscar 2 comentarios

Iniciativa Vizioncore Virtualization Ecoshell

vesi

El objetivo de la iniciativa «Vizioncore Virtualizacion Ecoshell» es ofrecer una apliacion de escritorio gratuita para los Adminstradores de TI, desde principiantes a expertos en scripts de Windows Powershell a traves de sus entornos virtuales multi-plataforma.

No me voy a enrollar mas, y os dejo el enlace para que le echeis un vistazo.

Podeis descargaros la ultima version beta desde aqui.

Venga, a pasarlo bien!!

—–
Oscar Abad
http://www.xulak.com – Consultoría informática

oscar
oscar

Programador WordPress freelance

Publicado en: informacion tecnologica, Noticias, powershell, programacion, sistemas, software gratuito Etiquetado como: aprendeinformaticaconmigo, gui, powershell, software gratuito, virtualizacion, vizioncore

6 junio, 2009 Por oscar 4 comentarios

Script Powershell – Apagar equipos remotamente – Ver. 3.0

Esto parece que va funcionando, ¿no?

A mi por lo menos si que me es util este script y espero que a vosotros tambien.

Bueno, como os comente en el articulo de la version 2.0 de este script, ahora vamos  a ver como podemos utilizar un fichero de texto en el que previamente hemos introducido los nombres de los equpios que queremos apagar para que los vaya comprobando uno a uno y apagando si es el caso.

En primer lugar creamos un fichero de texto que yo le voy a llamar «equiposapagar.txt» y en el introducimos los equipos que queramos apagar. Como ejemplo podemos poner:

fabrica1

fabrica2

compras3

Podemos poner todos los equipos que queramos. Ojo con incluir servidores o equipos que no deberian apagarse, eh!

Lo primero a tener en cuenta es que en este script no necesitamos ningun dato de entrada, es decir, que al ejecutar el script unicamente escribiremos el nombre del fichero: apagarequipos.ps1

Una vez que tenemos claro esto, nos ponemos manos a la obra con la novedad de esta version: el famoso fichero de texto del cual deberemos cargar su contenido. La linea en custion es la siguiente:

$equiposapagar = get-content -path «c:\power\scripts\equiposapagar.txt»

Interpretamos que, mediante el cmdlet «get-content«, guardamos la informacion del fichero «c:\power\scripts\equiposapagar.txt» en la variable $equiposapagar.

Esto nos queda claro, ¿no?

Otra de las novedades de este script es que utilizaremos la orden «foreach-object» para recorrer todos y cada uno de los equipos que ahora tenemos guardados en la variable $equiposapagar.

A continuacion tenemos el codigo:


#Script: apagarequipos.ps1
#Version: 3.0
#
#Autor: Oscar Abad Folgueira
#Web:   https://www.aprendeinformaticaconmigo.com
#Fecha: 25 de Abril de 2009
#
#Tipo: Powershell
#Funcion: Recorre un fichero de texto con nombres de equipo y los va apando uno a uno.
#
#Parametros: No necesita parametros de entrada.
#Uso: apagarequipos.ps1
#
#
#obtener la lista de equipos que se pueden apagar y guardarla en la variable»$equiposapagar»
$equiposapagar = get-content -path «c:\power\scripts\equiposapagar.txt»
#
#Bucle «foreah-object» que recorre todos los equipos del fichero para ver si estan apagados y si es asi
#los apaga
#
$equiposapagar | foreach-object {
$equipo = $_
$estado = get-wmiobject -query «select statuscode from win32_pingstatus where address = ‘$equipo'»
if ($estado.statuscode -eq 0) {
(get-wmiobject -class win32_operatingsystem -computername $equipo).win32shutdown(12)
}
}


Creo que no es nada dificil entender el fucnionamiento.

Probad tambien este script si podeis. Yo personalmente lo he puesto en varias fabricas para revisar los equipos que se quedan encendidos por las noches y si estan encendidos, apagarlos.

Yo he añadido unas lineas para crear un log de los equipos que estan encendidos por que siempre esta bien saber cuantos equipos apagamos y, de este modo, si el trabajo merece la pena por el ahorro de consumo.

Venga, espero que me comenteis que tal os ha funcionado.

A pasarlo bien!!

—–
Oscar Abad
http://www.xulak.com – Consultoría informática

oscar
oscar

Programador WordPress freelance

Publicado en: powershell, programacion, scripts powershell, sistemas, tutoriales Etiquetado como: apagar equipos remotamente, aprendeinformaticaconmigo, powershell, scripts

2 junio, 2009 Por oscar 3 comentarios

Script Powershell – Apagar equipos remotamente – Ver. 2.0

Vamos a trabajar un poco mas con el script que escribimos en el articulo anterior dedicado a scripts en Powershell y vamos a añadirle una linea que nos ayudara.

Si habeis probado el script que os comento, os habra pasado que si el equipo que queriais a apagar ya estaba apagado, os mostrara un mensaje de error. Para solucionar este problema, vamos a comprobar el estado del equipo antes de lanzar el apagado.

Para ello utilizaremos la clase «win32_pingstatuscode» que nos facilita Windows a traves de WMI.

Hay varias formas de trabajar con esta funcion, pero yo he preferido utilizar la siguiente:

get-wmiobject -query «select statuscode from win32_pingstatus where address = ‘$equipo'»

Con esta line de codigo, lo que hacemos es una consulta, de esas del tipo de sql, ¿os suena algo, no?

La consulta lo que hace es recoger el valor de la propiedad «statuscode» de la clase «win32_pingstatus» del equipo en cuestion.  Como esta linea por si misma no nos va a mostrar nada, tendremos que guardarla en una variable para que podamos trabajar con el valor devuelto y, en funcion del resultado, hacer una cosa u otra.

La linea de codigo completa quedaria de la siguiente forma:

$estado = get-wmiobject -query «select statuscode from win32_pingstatus where address = ‘$equipo'»

Vale, ahora tenemos almacenado el valor del estado del equipo en la variable «$estado«.

En esta pagina nos describen la clase «win32_pingstatus» y sus miembros. Nos viene bien para saber los posibles valores que puede tomar «statuscode«.

Bueno, no esperamos mas y os pongo como quedaria el codigo:


#Script: apagarequipos.ps1
#Version: 2.0
#
#Autor: Oscar Abad Folgueira
#Web:   https://www.aprendeinformaticaconmigo.com
#Fecha: 25 de Abril de 2009
#
#Tipo: Powershell
#Funcion: Apagar equipos remotamente. Estga version comprueba el estado del equipo

#antes de lanzar el apagado.
#
#Parametros: nombre el equipo a apagar.
#Uso: apagarequipos.ps1 equipo
#
#

Param($equipo)         #parametro de entrada (Nombre del equipo a apagar).

$equipo = $_
$estado = get-wmiobject -query «select statuscode from win32_pingstatus where address = ‘$equipo'»
if ($estado.statuscode -eq 0) {
(get-wmiobject -class win32_operatingsystem -computername $equipo).win32shutdown(12)
}


Ademas de lo que hemos comentado antes, podemos ver que hemos añadido un if para evaluar el estado del equipo en cuestion. Si el equipo esta apagado, no hace nada, pero si no lo esta, lanza el apagado.

No hay mucho mas que decir, simplemente que lo probeis y me comenteis que tal os ha ido y si os es util.

En la siguiente version de este script, veremos como podemos utilizar un fichero de texto en el que hemos introducido previamente el nombre de los equipos que queremos apagar para que nos apague una serie de equipos uno detras de otro sin tener que hacer uno a uno a mano. Ademas, nos servira para crear una tarea programada para que se apaguen por la noche o el fin de semana.

Venga, a pasarlo bien!!

—–
Oscar Abad
http://www.xulak.com – Consultoría informática

oscar
oscar

Programador WordPress freelance

Publicado en: powershell, programacion, scripts powershell, sistemas, tutoriales Etiquetado como: aprendeinformaticaconmigo, powershell, script, script powershell, windows, wmi

  • « Página anterior
  • 1
  • 2
  • 3
  • 4
  • 5
  • Página siguiente »

Hazte con el tema Divi

Divi WordPress Theme
Libro windows server 2008

Libro certificación Windows Server 2016

Libro certificación Windows Server 2016

Libro Windows Server 2016

Libro Windows Sever 2016
Web Hosting

Últimos artículos

  • PHP función var_dump(): Mostrar el contenido de una variable
  • PHP función unset(): Eliminar variables
  • MySQL LIMIT: Limitar la canidad de filas en una consulta
  • PHP función isset(): Evaluar si una variable está definida
  • PHP función empty(): Comprobar si una variable está vacía
  • MySQL SELECT DISTINCT para encontrar registros con diferente valor en el mismo campo
  • Los mejores libros en español para aprender WordPress

Mis Webs

  • Aprende Informática Conmigo
  • Dinapyme
  • MUSIKP
  • Oscar Abad Folgueira

Proyectos

  • Basabe Baserria
  • Batukada Battuere
  • Bicicletas Sin Pedales
  • Bordalan
  • C.R. Pantano del Rumblar
  • Dinapyme
  • Egia Ingenieros
  • Hermanos Vivas construcciones
  • Ibartxi – Suministros de Gas y Soldadura
  • LANBASE
  • LS Fotografía
  • Luke and Phil
  • Masajes Mas Sana
  • MUSIKP
  • Oh! Yeah Dev
  • Oscar Abad Folgueira
  • Participación ciudadana Basauri
  • Restaurante Bideko
  • Taldesport
  • Vicente Choya
  • WooCommerce Knowledge2K
  • Inicio
  • Contenido Anterior

Copyright © 2022 · Oscar Abad Folgueira Y DINAPYME· Acceder