Windows in a box

Windows in a box es una pequeña utilidad ejecutable (no es necesario instalar) que nos permite acceder a todas esas opciones ocultas y no ocultas de windows xp, o que desconocemos o que no logramos localizar fácilmente.

Es como un montón de accesos directos a configuraciones, propiedades, carpetas… a los que podremos acceder rápidamente con un simple click desde el escritorio.


Copy anda Paste La otra bola de cristal

SetAcl - Mas comandos

listar acls de un directorio o archivo:

setacl -ot file -on \\SRV\SHARE -actn list

remover un SID

setacl -on \\SRV\d$\recurso -ot file -actn trustee -trst "n1:S-1-5-21-15;s1:y;ta:remtrst;w:dacl"

Listar impresoras en Active Directory

Para publicar, o republicar todas las impresoras de un servidor en Active directory:
c:\> setprinter.exe \\servidor 7 "dwAction=republish"
asimismo, sirve para publicar (publish) y para despublicar (unpublish)
y tambien se puede especificar una impresora \\servidor\nombreImpresora

obtener el numero de serie de un PC/Server

en powershell:
c:\> gwmi win32_bios -computername server
si necesitamos credenciales alternativas:
c:\> gwmi win32_bios -computername server -credential (get-credential)
aparecerá una ventana para user/pass

matar un servicio colgado.

desde un XP o 2003:

C:\>sc \\Servidor queryex "nombre del servicio"

SERVICE_NAME: nombre del servicio
TYPE : 10 WIN32_OWN_PROCESS
STATE : 4 stopping
(STOPPABLE,NOT_PAUSABLE,IGNORES_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
PID : 1052
FLAGS :

identificamos el PID, y luego:

c:\> taskkill /s servidor /PID numero de pid

mostrar updates instalados en html

wmic es la interfaz de linea de comandos para WMI (Windows Instrumentation Manager). Este comando se puede utilizar normalmente o en modo interactivo (invocandolo sin argumentos)...
en fin,

wmic qfe list full /format:htable >C:\updates.htm

WinUp

WinUp es una práctica utilidad gratuita para Windows que incluye todos los parches oficiales para Windows XP. WinUp descargar los parches sin necesidad de utilizar el servicio de Windows Update y nos permite instalar los parches en varios ordenadores evitando que tener que realizar las descargas en cada una de los sistemas que deseamos actualizar. WinUp tiene licencia GPL y se actualiza constantemente. Necesita de Windows XP SP2 para un correcto funcionamiento

Enlace: WinUp

Búsqueda de texto a través de múltiples archivos con Windows Grep


Windows Grep es una poderosa herramienta para realizar búsquedas de texto en archivos, utilizando texto simple o incluso expresiones regulares, que ofrece resultados rápidos y precisos de acuerdo a los criterios seleccionados.

Al iniciar nos presenta una pantalla con un rápido wizard que nos va solicitando los criterios de búsqueda en este orden:

  1. Indicar el texto a buscar. Pueden ser expresiones regulares, un texto específico o se puede seleccionar una opción de “suena como…” (sounds like).
  2. Selección de las carpetas donde se desea realizar la búsqueda.
  3. Selección de los tipos de archivo a incluir en la búsqueda.

Listo, presionando Finish se obtienen resultados más rápido que utilizando Google Desktop o la búsqueda incluida en el Explorer de Windows. Ya la probé y de verdad que los resultados son rápidos, con la ventaja de que la búsqueda puede incluir tanto archivos de texto planos como binarios, como los archivos de Microsoft Word.

Además, en la tabla de resultados al seleccionar alguno de la lista se presenta en la parte de abajo un pequeño preview del texto para darse una mejor idea del contexto donde se incluye aquello que buscamos. Es una utilidad exclusiva para Windows que se puede descargar gratuitamente; pide registrarse cuando uno sale del programa, pero no es obligatorio hacerlo.

Copy and paste Bitelia

Vía: Lifehacker | Enlace: Windows Grep


Partition Magic 8.0.5 portable

Encuentro en MiniNova la versíon 8.05 de Norton Partition Magic para ser usada desde memorias USB (pendrive). Realmente muy util para llevar a todos lados.
Puedes descargar el torrent aquí.

Matar un proceso desde la línea de comandos

Desde la línea de comandos de windows también podemos matar procesos.

Los procesos o aplicaciones suelen matarse cuando por ejemplo un programa no responde o se queda un poco colgado. O si notamos por ahí algo sospechoso o que nos esté ocasionando problemas.

La mayoría de las veces solemos recurrir a la combinación de teclas CTRL+ALT+Supr, que nos abre el Administrador de tareas de windows y desde ahí seleccionando el programa elegimos Finalizar tarea o Terminar proceso.

Otra manera de hacerlo es desde la línea de comandos de windows. Para ello nos vamos a Inicio - Ejecutar y escribimos cmd para abrirla.

Ahora escribiremos tasklist lo que nos mostrará un listado con los procesos y aplicaciones que están corriendo actualmente. Esta lista se divide en 5 columnas, las que a nosotros nos interesan principalmente son las dos primeras: el nombre y el PID (el número que lo identifica).

El nombre para identificarlo y el PID porque será lo que usaremos para finalizarlo.

Esto es un ejemplo de algunos programas que están ejecutándose en este momento:

tasklist

Queremos finalizar iexplore.exe, que es el navegador Internet Explorer, para ello sólo basta con escribir tskill y el número de PID, para este caso sería tskill 248.

Complementando este post, si nos encontramos con algún proceso que nos suena extraño y que no sabemos lo que es o si debemos finalizarlo o no, podemos acudir a ProcessLibrary, esta web también nos puede servir para identificar aplicaciones que se inician con el sistema operativo.

Fuente La otra bola de cristal

setACL - Limpiando Permisos NTFS

setACL es un comando que nos permite editar ACEs y ACLs en archivos y directorios bajo NTFS. Es muy útil a la hora de "hacer limpieza" de permisos.

Iré posteando a medida que lo vaya necesitando, por ahora, una introducción y mostrar como limpiar la ACL de una carpeta y las ACLs de sus hijos.

la sintáxis del comando es bastante extraña, no se asemeja ni a cmd, ni a un bash, ya que en la mayoria de los casos requiere una opción de acción, y otra opción de operación.

asignar a los administradores permisos full
setacl -on "c:\aaa" -ot file -actn ace -ace "n:administradores;p:full"

asignar a los administradores full y al grupo blabla read & execute
setacl -on "c:\aaa" -ot file -actn ace -ace "n:administradores;p:full" -ace "n:blabla;p:full" (gracias Jordi!)
setacl -on "c:\aaa" -ot file -actn ace -ace "n:administradores;p:full" -ace "n:blabla;p:read_ex"
resetear todos los permisos en los hijos
setacl -on "c:\aaa" -ot file -actn rstchldrn -rst dacl

evitar heredar permisos del padre, asignar permisos especificos y resetear permisos en todos los hijos
setacl -on "c:\aaa" -ot file -actn rstchldrn -rst dacl -actn ace -ace "n:administradores;p:full" -actn setprot -op "dacl:p_nc"

Total Commander 7

Después de bastante tiempo en beta (la primera de ellas salió a la luz en octubre) ya está disponible la versión final de Total Commander 7. Para los que no lo conozcan decir que es un gestor de ficheros inspirado en el vetusto Norton Commander, y que crea adeptos tras unos pocos usos.

Su sistema de dos paneles con posibilidad de usar pestañas y el manejo completo por teclado permiten una velocidad muy superior a casi cualquier otra alternativa. Y si la versión 6 ya tenía casi todo lo que un usuario medio puede necesitar, en la 7 encontramos pequeñas mejoras y no un gran cambio ni de interfaz ni de filosofía.

Entre las mejoras más destacadas se encuentran un rediseño de todos los iconos para adaptarlos a un look más moderno (que le hacía buena falta), mejoras en el renombrado de múltiples ficheros, mejoras en la gestión de copia de ficheros, autocompletado de rutas, ordenación por múltiples columnas, soporte de Secure FTP o búsqueda en servidores FTP.

Fuente Genbeta


Hirens Boot CD

Hirens Boot CD es un CD autoarrancable que contiene todas las utilidades necesarias para el arranque del sistema después de un fallo grave. Contiene la mayoría de las aplicaciones de mantenimiento de sistemas: diagnóstico y análisis del sistema, antivirus, gestión de particiones, herramientas de recuperación de datos,…etc, etc, etc..


Para ver una descripción del software que trae incluido, haga click AQUI

Un auditor de sistemas en un dispositivo USB

Es una idea vista en Daily Cup of Tech, que consiste en implementar SIW (System Information for Windows), un completo auditor freeware de sistemas Windows, escrito por Gabriel Topala. El ejecutable sólo ocupa 1'5 MB (no requiere instalación) y sumando un pequeño fichero de autoarranque, aún con los pendrive mas pequeños disponemos de bastante espacio para guardar los ficheros de resultados, que no suelen llegar a 1 MB por sistema auditado en formato HTML. Comenzamos...

Articulo completo

Forzar DMA o UDMA

en ésta dirección, nos podemos bajar un .vbs que resetea el estado DMA de los IDE en Windows, cuando lo ha revertido a PIO (y no se puede cambiar manualmente, claro ;)

fuente: http://winhlp.com

exit status codes de robocopy

0: no se hizo copia ni hubo errores. el origen y el destino están sincronizados.
1: copia exitosa.
2: se encontraron archivos en el destino que no estan en el origen
3: copia exitosa, ademas se encontraron archivos en el destino que no estan en el origen.
4 o mayor: error (hay codigos de error especificos, pero lo importante es saber que ha fallado)

recorrer un archivo de texto sin cargarlo en memoria

Para recorrer un archivo de texto, podemos hacerlo de la siguiente manera
$archivo = get-content archivo.txt
y luego para recorrerlo
foreach ($linea in $archivo){
"muestro la linea: $linea"
}


el problema, es que get-content carga el archivo entero en memoria, y si bien, el archivo ocupa pocos megas, no es problema, pero en el caso de un archivo que mide gigas (como un log), nos va a cargar el archivo entero en memoria, por lo tanto, podemos ocupar .NET para recorrerlo sin que lo cargue, de la siguiente manera:

$archivo = [System.IO.File]::OpenText("archivo.txt")

while ($archivo.peek() -ne -1){
$linea = $archivo.ReadLine()
"muestro la linea: $linea"
}
$archivo.Close()

Habilitar y deshabilitar un usuario en Active Directory

$cn = "CN=Jorge Mestre,OU=Users,DC=ar,DC=lugsaju,DC=com"
$usuario = new-object DirectoryServices.DirectoryEntry("LDAP://$cn")

$usuario.userAccountControl=66050 # deshabilitar
$usuario.setinfo()

$usuario.userAccountControl=66048 # habilitar
$usuario.setinfo()

"Mover" propiedades entre objetos en Active Directory

Teniendo dos DNs, creamos los objetos correspondientes:

$cnA = ""CN=grupoA,OU=Groups,DC=ar,DC=lugsaju,DC=com"
$cnB = ""CN=grupoB,OU=Groups,DC=ar,DC=lugsaju,DC=com"

$grupoA = new-object DirectoryServices.DirectoryEntry("LDAP://$cnA")
$grupoB = new-object DirectoryServices.DirectoryEntry("LDAP://$cnB")


una vez que tenemos los objetos ADSI ($grupoA,$grupoB), vamos a mover el campo "info" desde el $grupoA al $grupoB:

$grupoA.info
esto es un texto informativa
$grupoB.info
$


primero, guardamos el info en una var:
$infoTemp = $grupoA.info

luego, asignamos a $grupoB el contenido de la var:
$grupoB.psbase.InvokeSet("info","$info")
$grupoB.psbase.CommitChanges()


entonces, eliminamos el contenido del campo info del $grupoA
$grupoA.putEx(1,"info",0) # es un cero
$grupoA.setInfo()


y comprobamos:
$grupoA.info
$
$grupoB.info
esto es un texto informativa
$


Ahora lo vamos a complicar un poco mas, al mover el Manager del grupoA al grupoB

el campo ManagedBy contiene un objeto de AD (no es solo texto), por lo tanto, tenemos que obtener 1º este objeto y luego, realizar lo mismo que antes, por lo tanto

$MgrDN = $grupoA.managedBy
$Mgr= new-object DirectoryServices.DirectoryEntry("LDAP://$MgrDN")
$Manager = $Mgr.distinguishedName


asignamos el managedBy al grupoB

$grupoB.psbase.invokeSet("managedBy","$Manager")
$grupoB.psbase.CommitChanges()


Eliminamos el Manager del grupoA
$grupoA.PutEx(1,"managedBy",0)
$grupoA.setInfo()

Eliminar propiedades de objetos en Active Directory

vamos a crear el objeto que nos conecta con el grupo:

$cn = "CN=GRUPO_G,OU=Groups,DC=ar,DC=lugsaju,DC=com"
$grupo = new-object DirectoryServices.DirectoryEntry("LDAP://$cn")

vamos a eliminar el campo ManagedBy del grupo:
$grupo.ManagedBy
CN=Jorge Daniel Mestre,OU=People,DC=ar,DC=lugsaju,DC=com

$grupo.PutEx(1,"managedBy",0) # cero al final, el 1 es el que "limpia" la propiedad.
$grupo.setInfo() # ejecutamos realmente el cambio en AD.

$grupo.ManagedBy
$

Ahora eliminaremos el campo "Notas" (info)

$grupo.info
esto es una nota en el campo notas

$grupo.PutEx(1,"info",0)
$grupo.SetInfo()
$grupo.Info
$

Buscando grupos en Active Directory segun el type y scope

Para buscar un grupo en Active Directory con Powershell, primero, indicamos el servidor en el que vamos a buscar:
$raiz = "LDAP://ar.lugsaju.com.ar"
$buscador = new-object DirectoryServices.DirectorySearcher($raiz)

Una vez creado el objeto, definimos algunas propiedades:

$buscador.PageSize = 10000
$buscador.CacheResults = $false
$buscador.Filter = '(objectClass=group)'
$buscador.FindAll()

Ahora, si queremos buscar grupos por tipo, debemos referirnos a esta tabla:

scope

Tipo de grupo

Valor “GroupType”

Universal

Security

-2147483640

Global

Security

-2147483646

Domain Local

Security

-2147483644

Universal

Distribution

8

Global

Distribution

2

Domain Local

Distribution

4


Entonces, para buscar todos los grupos globales de seguridad,

$buscador.Filter = '(&(objectClass=group)(groupType=-2147483646))'

o para buscar los grupos Domain local de Distribución, que comiencen con la palabra "LUG"

$buscador.Filter = '(&(objectClass=group)(groupType=4)(name=LUG*))'

Vim preparado para Powershell

Vim es un editor excelente, si bien su curva de aprendizaje es MORTAL (ejemplo abajo :D)


Pues, vamos a configurar nuestro Vim para editar Powershell:

01) Instalar Vim 7.0 seleccionando "Self-installing Executable" desde aqui

02) Una vez instalado, en la carpeta de la instalación (supongamos c:\vim) editamos el archivo c:\vim\_vimrc

agregar las siguientes lineas:
colorscheme desert
set tabstop=4

03) Bajar la sintaxis de PS desde aqui

04) copiar el archivo ps1.vim a c:\vim\vim70\syntax\

05) editar el archivo c:\vim\vim70\filetype.vim y agregar

" Powershell
au BufNewFile,BufRead *.ps1 setf ps1

y listo, con esto, cada vez que editemos un .ps1 se coloreará automaticamente.

dividir strings en Powershell

dividir un string por un caracter:

$a = "powershell,jorge,windows"
$a.split(",")
powershell
jorge
windows

Seleccionar un elemento
$a.split(",")[1]
jorge

Dividir por un caracter, y limpiar los espacios en blanco:
$a = "powershell2 jorge2 windows"
$a.split("2")
powershell
jorge
windows

$a.split("2",[StringSplitOptions]::RemoveEmptyEntries)
powershell
jorge
windows

en Powershell

inicializar un array sin valores
$array = @()

iniciar con un tamaño de array especifico:
$array = new-object object[] 100

Inicializar un array con 3 valores:
$array = "a",3,"hola"

renombrar archivos con powershell

Jeffrey Snover ha publicado en el blog oficial de powershell como renombrar archivos masivamente.
http://blogs.msdn.com/powershell/archive/2007/03/06/renaming-files.aspx

Sumatra, visor PDF ligero

Sumatra es un pequeño visor de archivos pdf para Windows que puede resultar útil para los usuarios que no dispongan de mucha máquina y necesitan ahorrar todos los recursos posibles. Se trata de una herramienta muy básica con sólo unas cuantas opciones de visualización. No obstante cumple perfectamente su cometido si no necesitamos muchas opciones.....y es GNU :)

WebSite | Sumatra PDF viewer

Rainlendar: Una agenda en tu escritorio

Rainlendar es un programa disponible tanto para Windows como Linux, que permite tener una agenda en tu escritorio. Un programa bastante útil si nos tenemos que organizar todas nuestras tareas.

rainlendar.gif

Lo podeis descargar aqui y están disponibles tanto traducciones como temas.

Para instalar la traducción, nos descargamos el archivo .r2lang de la página de traducciones y una vez descargado y abierto Rainlendar, pinchamos el archivo .r2lang y lo arrastramos a la agenda que tenemos en nuestro escritorio.
Para utilizarlo, botón derecho sobre la agenda, nos vamos a propiedades y en Languages seleccionamos Spanish.

En el caso de querer nuevos temas, nos descargamos el tema que más nos guste, lo descomprimimos en la carpeta: C:\Archivos de programa\Rainlendar2\skins. Finalmente para activarlo, nuevamente hacemos click con botón derecho sobre la agenda, nos vamos a propiedades y en Temas seleccionamos el que nos hemos descargado.

Para añadir nuevas tareas, basta con seleccionar un dia hacer doble click e insertar la tarea.


Ocultar carpetas compartidas en Windows

Este sencillo truco sirve para evitar que al compartir una carpeta con Windows, esta aparezca cuando navegamos por la red local. Articulo completo

1By1, un reproductor de MP3 ligero

En el fragor de los requerimientos de los nuevos sistemas operativos, a menudo olvidamos que con las elecciones adecuadas, las viejas máquinas que tenemos casi olvidadas pueden ser útiles. Puede ser interesante, por lo menos para tenerlos en nuestros marcadores por si algún día hace falta, una lista de software con bajos requerimientos.

En el grupo de los reproductores podríamos tener a 1By1. Una solución sencilla que con tan sólo 100Kb es capaz de reproducir múltiples formatos, además de soportar algunas funciones sencillas para gestionar nuestros archivos. Se puede usar en cualquier versión de Windows (Vista no está confirmado), sólo necesitando el mp3 ACM codec (presente en XP) o mpglib.dll.

1By1 Lightweight MP3 Player (Ghacks.net)

Leido en Bitelia