Fichiers batch Obtenir l'imprimante par défaut des utilisateurs via le registre (WinXP)

Ceci est une autre recette quickie pour vous administrateurs. Cette recette montre comment obtenir l'imprimante par défaut de l'utilisateur actuel via le registre et exporter les informations dans un fichier texte via un fichier de traitement par lots, puis combiner les fichiers de résultats dans un fichier plus volumineux pour les importer ensuite dans Excel.


C'est un fichier de commandes assez basique pour obtenir l'imprimante par défaut d'un utilisateur.

Le code suivant va:
1. créer une variable de date de la date actuelle au format AAAAMMJJ
2. créer une variable utilisateur basée sur les utilisateurs connectés
3. trouver l’imprimante par défaut via le registre pour l’utilisateur
4. Informations de sortie dans un fichier texte

-START CODE-
@Écho off

REM Définir le lecteur sur lequel enregistrer le périphérique, assurez-vous de conserver le format
REM ie D: \ ou E: \
REM Crée également l'utilisateur actuel connecté en tant que variable utilisateur

SET saveLoc = "C: \"
pour / f “tokens = 3 delims = \” %% i in (“% USERPROFILE%”) do (définir l'utilisateur = %% i) 2> & 1

REM crée la variable de date
FOR / F “JETONS = 1 * DELIMS =” %% A IN ('DATE / T') DOIT ÊTRE DÉFINITIF CDATE = %% B
FOR / F “JETONS = 1,2 éol = / DELIMS = /” %% A IN ('DATE / T') DOIT ÊTRE RÉGLÉ 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 ('écho% CDATE%') DOIT ÊTRE DÉFINITIF yyyy = %% B
Date SET =% aaaa %% mm %% jj%

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

-END CODE-

alors disons que je suis connecté et que le fichier de commandes est configuré pour s'exécuter au démarrage; un fichier appelé: 20070818_Seamonkey420_printer.txt serait créé sur mon lecteur C: \.

Dans ce fichier, vous verrez quelque chose comme ceci (je n’ai pas de vraies imprimantes installées, seulement mon imprimante Adobe PDF)

Seamonkey420: Adobe PDF, Winspool, Ne02:

Enfin, une fois que vous avez tous les fichiers texte avec les imprimantes par défaut dans un seul répertoire, vous pouvez ensuite combiner les fichiers texte en un seul avec la commande suivante:

tapez * printer.txt> allusers.txt

alors disons que j'ai 3 utilisateurs et leurs fichiers texte:

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

mon allusers.txt Le fichier ressemblera à ceci:

Bob: Adobe PDF, Winspool, Ne02:
John: Envoyer à Onenote2003, winspool, Ne02:
Sally: Canon i320, Winspool, Ne02:

Vous pouvez à son tour importer le fichier allusers.txt dans Exceller et utilise ; comme un délimiteur. Ouvrez Excel, allez à Fichier > Ouvrir. Changer la Fichiers de type vers tous les fichiers et ouvrez notre fichier allusers.txt.

Lorsqu'il vous demande un délimiteur, tapez un point-virgule (;) et cliquez sur OK.
Voilà, tableur facile d'imprimante par défaut des utilisateurs! Collecte facile des informations sur l'imprimante!

CONSEILS / NOTES:
-dans le fichier de commandes initial, vous pouvez définir la variable saveLoc sur un lecteur / emplacement réseau partagé pour faciliter les choses.

-vous pouvez éventuellement implémenter une commande runas et ajouter une fonction pour vérifier tous les profils d'utilisateurs sur une machine, puis faire exécuter la commande runas par la commande reg query pour chaque utilisateur

Ce même concept et cette même utilisation de la commande reg query peuvent être utilisés pour obtenir toutes sortes d’informations provenant d’un PC, telles que les applications installées, les informations netwokr, etc.