Mostrando entradas con la etiqueta Script. Mostrar todas las entradas
Mostrando entradas con la etiqueta Script. Mostrar todas las entradas

miércoles, 7 de marzo de 2012

Directorio Activo Y PowerShell Facil

 

Esta semana tenia la tarea de obtener un reporte con los usuarios de uno de los directorios activos que administro. Necesitaba obtener

Nombre y su ultimo Logeo.

Rapidamente encontre un Script de Power Shell

http://gallery.technet.microsoft.com/scriptcenter/c69303e3-7978-4c5a-bf28-e55e9a71082c

 

   1:  $searcher = New-Object DirectoryServices.DirectorySearcher([adsi]"")
   2:  $searcher.filter = "(objectclass=user)"
   3:  $users = $searcher.findall()
   4:   
   5:  Foreach($user in $users)
   6:  {
   7:   if($user.properties.item("lastLogon") -ne 0)
   8:    {
   9:     $a = [datetime]::FromFileTime([int64]::Parse($user.properties.item("lastLogon")))
  10:     "$($user.properties.item(`"name`")) $a"
  11:    }
  12:  }
 
 
Pero por una extraña razon solo me arrojaba 1000 registros, investigando me ecnontre con una herramienta que me facilito todo el trabajo
 
http://www.quest.com/powershell/activeroles-server.aspx
 
Es un complemento para PowerShell que nos ayuda a administrar un AD



Despues de instalarlo puder realizar el mismo reporte con una sola linea.


Get-qaduser -dudip -sizelimit 0 -IncludedProperties EmployeeId | select logonname,name, displayname,lastlogon | export-csv c:\listado_usuarios.txt



 


Informacion encontrada en:


http://www.megacrack.es/2011/01/15/consultar-todos-los-servidores-en-ldap-a-travs-de-powershell/


http://www.megacrack.es/2011/01/15/consultar-todos-los-servidores-en-ldap-a-travs-de-powershell/

viernes, 15 de abril de 2011

Actualizacion Masiva de Password Locales

Encontré esta herramienta de sysinternals que permite hacer cambio masivos de passwords a usuarios locales es sencillo y nos va a ahorrar tiemp

 

La herramienta se llama PsPasswd v1.22 es parte del conjunto de herramientas PSTools DESCARGA AQUI

Se baja , se descomprime , la primera ocasión que se va utilizar nos aparece los términos de la licencia

Desde una ventana de comandos podemos ejecutar el comando con los siguientes parámetros

pspasswd           \\servidor124    Administrator   Password10

\\servidor124  ========= equipo remoto al que se le va establecer la contraseña

Administrator ========= Nombre del usuario que se le va modificar el password

Password10     =========  Nueva contraseña

Mi BAT luce asi

pspasswd           \\servidor124    Administrator   Password10

pspasswd           \\servidor125    Administrator   Computers10

pspasswd           \\servidor126    Administrator   Contraseña.10

pspasswd           \\servidor127    Administrator   Passwordn10

pspasswd           \\servidor128    Administrator   NContra10

Al momento de ejecutar el BAT pongo la opción de que genere un log

Password.bat > c:\log.txt

Para cambiar el password del Administrador local en todos los equipos por un mismo password  es más sencillo porque es una misma contraseña solo necesitamos tener un archivo con la lista de equipos que vamos a modificar y la sintaxis es algo así

Pspasswd @c:\lista.txt HPADMIN Password01

martes, 4 de mayo de 2010

Listar Impresoras Instaladas




Hoy me inscribieron a andres.arredondo@hotmail.com pidiendome un script que les ayudara a sacar un reporte de las impresoras que tiene instalado un servidor de impresion. El problema era que el servidor tiene mas de 200 impresoras instaladas y el reporte ocupaba tener Nombre de la impresora, modelo, direccion IP.
Bueno aqui les paso el script que nos dio el reporte que necesitaban.
Este codigo solo lo copian a un archivo TXT, luego cambian la extencion a VBS. en mi caso mi archivo se llamo printer.vbs
Por default al momento de ejecutarlo nos creea un archivo htm en C raiz. Ustedes puedes cambiar la ubicacion o el nombre de dicho archivo, esto lo encuentras en la linea 25 del codigo
Espero les sea de utilidad

viernes, 26 de febrero de 2010

Script para conocer los usuarios que fueron creados en cierta fecha

Este Script muestra los usuarios de directorio activo que fueron creados en determinada fecha. Solo hay que adecuar a nuestro entrono el script  para que funcione correctamente

las lineas en rojo son las que debemos de adecuar:
dtmCreationDate = "20071001000000.0Z"
Esta linea es la fecha en la que queremos verificar que usuarios fueron creados
 y el formato es “AAAMMDDHHMMSS.0Z” (año, mes, dia, hora, minuto, segundo)
En la linea 
"SELECT Name FROM 'LDAP://dc=fabrikam,dc=com' WHERE objectClass='user' "  & _
editamos la seccion roja deacuerdo al nombre de nuestro dominio ejemplo:
para nuestrodominio.local seria dc=nuestrodominio,dc=local
para patito.com  seria dc=patiro,dc=com
para cescom.monterrey.corp seria dc=cescom,dc=monterrey,dc=com

miércoles, 3 de febrero de 2010

MEJOR QUE LO HAGAN ELLOS




Hoy tuve la necesidad de pasar un reporte de los parches que recientemente se instalaron en mis servidores windows , alrededor de 40 parches de instalaron este mes , para no estar escribiendo cada uno de los parches me encontre con un Script en VBs que nos genera un archivo TXT que contiene algo asi por cada parche instalado:

miércoles, 16 de diciembre de 2009

Tareas Programadas




Todos los dias hay que realizar un Check list en un monton de servidores que administramos. Uno de los puntos que tenemos que revisar es que se hayan corrido las tareas programadas correctamente.
Para evitar conectarme a cada uno de los servidores y revisar que se hayan corrido las tareas sin problemas me puse a investigar y genere un archivo "BAT" que lo hace por mi

El archivo "BAT" contiene las siguientes lineas


date /t >c:\tareas1.csv &time /t >>c:\tareas1.csv
echo -------------------------------------------------
Echo servidor1 >>c:\tareas1.csv
schtasks /query /s servidor1 /fo csv >>c:\tareas1.csv
EChO ;>>c:\tareas1.csv

Echo servidor2>>c:\tareas1.csv
schtasks /query /s servidor2 /fo csv >>c:\tareas1.csv
EChO ;>>c:\tareas1.csv

La explicacion de lo que hace cada linea es esta
Linea 1:
Date /t (muestra la hora del servidor)
>c:\tareas1.csv (crea un archivo llamado tareas1.csv en raiz de C donde escribe la fecha del servidor donde se esta ejecutando la tarea)
&time /t >>c:\tareas1.csv (escribe la hora del servidor donde se esta ejecutando la tarea)
Linea 2:
echo ---------------------------------------( la puse solo para tener organizado el bat)

Linea 3:
Echo servidor1 >>c:\tareas1.csv ( escribe en el archivo c:\tareas1.csv la palabra servidor1 para saber que comienza las tareas que corren en dicho servidor)
Linea 4:
schtasks /query /s servidor2 /fo csv >>c:\tareas1.csv
schtasks ( de las tareas programadas de windows)
operadores /query ( hace una consulta a las tareas) /s (sirve para especificar el servidor que sera consultado, si se deja en balanco por defaul es el localhost) /fo CSV ( sirve para darle formato a la salida del comando en este caso CVS)
>>c:\tareas1.csv (escribe el resultado de este comando en el archivo c:\tareas1.csv)
Linea 5:
EChO ;>>c:\tareas1.csv (esta linea inserta un ";" para que en el archivo se vea un espacio entre servidor y servidor)

La otras lineas hacen los mismo solo que la informacion que saca es de otro servidor

el resultado es algo como esto:


Wed 12/16/2009
01:26 PM
servidor1
"TaskName","Next Run Time","Status"
"Crea_Backup_IIS_11","11:00:00 PM, 12/16/2009",""
"Crea_Backup_IIS_3","3:00:00 PM, 12/16/2009",""
"Crea_Backup_IIS_7","7:00:00 AM, 12/17/2009",""
"Elimina_Backup_IIS","2:00:00 AM, 12/17/2009",""
"mueve-logs","1:00:00 AM, 12/17/2009",""
"User_Feed_Synchronization-{194D69D2-3450-4541-9246-5418E29FFADF}","1:29:00 PM, 12/16/2009",""
"User_Feed_Synchronization-{194D69D2-3450-4541-9246-5418E29FFADF}","1:29:00 PM, 12/16/2009",""
;
servidor2
"TaskName","Next Run Time","Status"
"Crea_Backup_IIS_11","11:00:00 PM, 12/16/2009",""
"Crea_Backup_IIS_7","7:00:00 AM, 12/17/2009",""
"Crea_Bakup_IIS_3","3:00:00 PM, 12/16/2009",""
"Elimina_Backup_IIS","2:00:00 AM, 12/17/2009",""
"mueve-logs","1:00:00 AM, 12/17/2009",""
;