Archivos por lotes Obtenga la impresora predeterminada de los usuarios a través del registro (WinXP)

Esta es otra receta rápida para ustedes administradores. Esta receta muestra cómo obtener la impresora predeterminada del usuario actual a través del registro y generar la información en un archivo de texto a través de un archivo por lotes y, a su vez, combinar los archivos de resultados en un archivo más grande para luego importarlos a Excel.


Este es un archivo por lotes bastante básico para obtener la impresora predeterminada de un usuario.

El siguiente código:
1. crear una variable de fecha de la fecha actual en formato AAAAMMDD
2. crear una variable de usuario basada en los usuarios registrados
3. Encuentre la impresora predeterminada a través del registro para el usuario.
4. información de salida en un archivo de texto

CÓDIGO DE INICIO
@echo apagado

REM Configure la unidad para guardar el dispositivo, asegúrese de mantener el formato
REM es decir D: \ o E: \
REM También crea el usuario actual conectado como variable de usuario

SET saveLoc = "C: \"
para / f “tokens = 3 delims = \” %% i in (“% USERPROFILE%”) do (set user = %% i) 2> & 1

REM crea una fecha variable
FOR / F “TOKENS = 1 * DELIMS =” %% A IN ('DATE / T') DO SET CDATE = %% B
FOR / F “TOKENS = 1,2 eol = / DELIMS = /” %% A IN ('DATE / T') HACER AJUSTE mm = %% B
FOR / F “TOKENS = 1,2 DELIMS = / eol = /” %% A IN ('echo% CDATE%') DO SET dd = %% B
FOR / F “TOKENS = 2,3 DELIMS = /” %% A IN ('echo% CDATE%') SET SET yyyy = %% B
SET fecha =% aaaa %% mm %% dd%

FOR / F “TOKENS = 2 DELIMS = Z” %% A IN ('consulta de registro “HKEY_CURRENT_USER \ Software \ Microsoft \ Windows NT \ CurrentVersion \ Windows” / v device') DO echo% user%: %% A>% saveLoc %% date% _% user% _printer.txt

-END CODE-

así que digamos que estoy conectado y el archivo por lotes está configurado para ejecutarse en el inicio; un archivo llamado: 20070818_Seamonkey420_printer.txt sería creado en mi unidad C: \.

En este archivo, verá algo como esto (no tengo ninguna impresora real instalada, solo mi impresora Adobe PDF)

Seamonkey420: Adobe PDF, winspool, Ne02:

Finalmente, una vez que tenga todos los archivos de texto con las impresoras predeterminadas en un solo directorio, puede combinar los archivos de texto en uno grande usando este comando:

escribe * printer.txt> allusers.txt

así que digamos que tengo 3 usuarios y sus archivos de texto:

20070818_John_printer.txt
20070817_Sally_printer.txt
20070819_Bob_printer.txt

mi allusers.txt archivo se verá algo como esto:

Bob: Adobe PDF, winspool, Ne02:
John: Enviar a Onenote2003, winspool, Ne02:
Sally: Canon i320, winspool, Ne02:

A su vez, puede importar el archivo allusers.txt a Sobresalir y use ; como un delimitador Solo abre Excel, ve a Expediente > Abierto. Cambiar el Archivos de tipo a todos los archivos y abra nuestro archivo allusers.txt.

Cuando solicite un delimitador, escriba un punto y coma (;) y haga clic en Aceptar.
¡Voila, fácil hoja de cálculo de la impresora predeterminada de los usuarios! Fácil recopilación de información de la impresora!

CONSEJOS / NOTAS:
-En el archivo por lotes inicial, puede configurar la variable saveLoc en una unidad / ubicación de red compartida para facilitar las cosas.

-Podría implementar un comando de runas y agregar una función para verificar todos los perfiles de usuarios en una máquina y luego hacer que el comando de runas ejecute el comando de consulta de reg para cada usuario

-Este mismo concepto y uso del comando reg query se puede utilizar para obtener todo tipo de información desde una PC, como aplicaciones instaladas, información de red, etc.