Batch-filer Få användarens standardskrivare via registret (WinXP)

Detta är ett annat snabbt recept för dig administratörer. Detta recept visar hur man får den aktuella användarens standardskrivare via registret och matar ut informationen till en textfil via en batchfil och kombinerar resultatet resultatfilerna till en större fil och importeras sedan till Excel.


Detta är en ganska grundläggande batchfil för att få en användares standardskrivare.

Följande kod kommer att
1. Skapa en datumvariabel för det aktuella datumet i YYYYMMDD-format
2. Skapa en användarvariabel baserat på användarna inloggade
3. hitta standardskrivaren via registret för användaren
4. Utmat information till en textfil

-START CODE-
@echo av

REM Ställ enheten för att spara enheten till, var noga med att behålla formatet
REM dvs D: \ eller E: \
REM Skapa även nuvarande användare inloggad som användarvariabel

SET saveLoc = "C: \"
för / f "tokens = 3 delims = \" %% i in ("% USERPROFILE%") gör (set user = %% i) 2> & 1

REM skapa datumvariabel
FOR / F "TOKENS = 1 * DELIMS =" %% A IN ('DATUM / T') SET SET CDATE = %% B
FOR / F "TOKENS = 1,2 eol = / DELIMS = /" %% A IN ('DATUM / T') SÄTT 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-datum =% åååå %% mm %% dd%

FOR / F "TOKENS = 2 DELIMS = Z" %% A IN ("regsfråga" HKEY_CURRENT_USER \ Software \ Microsoft \ Windows NT \ CurrentVersion \ Windows "/ v-enhet") Gör echo% user%: %% A>% saveLoc %% date% _% user% _printer.txt

-END CODE-

så kan vi säga att jag är inloggad och batchfilen är inställd att köras vid start en fil som heter: 20070818_Seamonkey420_printer.txt skulle skapas på min C: \ -drev.

I den här filen ser du något liknande här (jag har inga riktiga skrivare installerade, bara min Adobe PDF-skrivare)

Seamonkey420: Adobe PDF, winspool, Ne02:

När du än har alla textfiler med standardskrivare i en enda katalog kan du sedan kombinera textfilerna till en stor med hjälp av den här kommandot:

skriv * printer.txt> allusers.txt

så kan vi säga att jag har 3 användare och deras textfiler:

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

min allusers.txt filen kommer att se ut så här:

Bob: Adobe PDF, winspool, Ne02:
John: Skicka till Onenote2003, winspool, Ne02:
Sally: Canon i320, winspool, Ne02:

Du kan i sin tur importera filen allusers.txt till Excel och använda; som avgränsare. Öppna bara Excel, gå till Fil > Öppna. Ändra Typfiler till alla filer och öppna vår allusers.txt-fil.

När det begär en avgränsare skriver du in en semikolon (;) och klickar på OK.
Voila, enkelt kalkylblad för användarens standardskrivare! Enkel skrivarinformation samling!

TIPS / anmärkningar:
-I den initiala batchfilen kan du ställa in saveLoc-variabeln till en delad nätverksenhet / -plats för att göra det enklare.

-Du kan eventuellt implementera ett runas-kommando och lägga till en funktion för att kontrollera alla användares profiler på en maskin och sedan få runas-kommandot att köra kommandot regne för varje användare

-Detta samma koncept och användningen av kommandot kommandot kan användas för att få all sorts information från en dator, som installerade appar, netwokr info, etc.