File batch Ottieni la stampante predefinita degli utenti tramite il registro (WinXP)

Questa è un'altra ricetta veloce per i tuoi amministratori. Questa ricetta mostra come ottenere la stampante predefinita dell'utente corrente tramite il registro e inviare le informazioni in un file di testo tramite un file batch e, a sua volta, unire i file dei risultati in un file più grande per poi importarli in Excel.


Questo è un file batch piuttosto semplice per ottenere la stampante predefinita di un utente.

Il seguente codice:
1. creare una variabile di data della data corrente nel formato AAAAMMGG
2. creare una variabile utente in base agli utenti loggati
3. trova la stampante predefinita tramite il registro per l'utente
4. informazioni di output in un file di testo

-START CODE-
@ spegnere

REM Imposta l'unità su cui salvare il dispositivo, assicurati di mantenere il formato
REM cioè D: \ o E: \
REM Crea anche l'utente corrente che ha effettuato l'accesso come variabile utente

SET saveLoc = "C: \"
per / f "tokens = 3 delim = \" %% i in ("% USERPROFILE%") do (imposta utente = %% i) 2> & 1

REM crea una variabile di data
FOR / F "TOKENS = 1 * DELIMS =" %% A IN ('DATE / T') DO SET CDATE = %% B
FOR / F "TOKENS = 1,2 eol = / DELIMS = /" %% A IN ('DATE / T') DO SET 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%') DO SET yyyy = %% B
SET date =% yyyy %% mm %% dd%

FOR / F "TOKENS = 2 DELIMS = Z" %% A IN ('query reg "HKEY_CURRENT_USER \ Software \ Microsoft \ Windows NT \ CurrentVersion \ Windows" / v dispositivo') DO echo% utente%: %% A>% saveLoc %% data% _%% _printer.txt utente

-END CODICE-

quindi diciamo che sono connesso e che il file batch è impostato per essere eseguito all'avvio; un file chiamato: 20070818_Seamonkey420_printer.txt sarebbe stato creato sul mio C: \ drive.

In questo file, vedresti qualcosa di simile (non ho installato nessuna stampante reale, solo la mia stampante Adobe PDF)

Seamonkey420: Adobe PDF, winspool, Ne02:

Infine, una volta che hai tutti i file di testo con le stampanti predefinite in una singola directory, puoi combinare i file di testo in uno solo usando questo comando:

digita * printer.txt> allusers.txt

quindi diciamo che ho 3 utenti e i loro file di testo:

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

mio allusers.txt il file sarà simile a questo:

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

A sua volta puoi importare il file allusers.txt in Eccellere e usare; come delimitatore. Apri Excel, vai su File > Aperto. Cambiare il File di tipo su tutti i file e apri il nostro file allusers.txt.

Quando richiede un delimitatore, digita un punto e virgola (;) e fai clic su OK.
Voilà, semplice foglio di calcolo per la stampante predefinita per gli utenti! Facile raccolta di informazioni sulla stampante!

CONSIGLI / NOTE:
-nel file batch iniziale, è possibile impostare la variabile saveLoc su un'unità / posizione di rete condivisa per semplificare le cose.

-si potrebbe essere possibile implementare un comando runas e aggiungere una funzione per controllare tutti i profili utente su una macchina e poi fare in modo che il comando runas esegua il comando reg query per ogni utente

-Questo stesso concetto e l'uso del comando reg query possono essere utilizzati per ottenere tutti i tipi di informazioni da un PC come app installate, informazioni sulla rete, ecc.