W Windows XP użyj prntmngr:
PRNMNGR -l >> C:\printers.txt
W systemie Windows Vista i nowszym użyj programu PowerShell:
get-WmiObject -class Win32_printer | ft name, systemName, shareName >> c:\printers.txt
Uwaga: Mógł wystąpić błąd, jeśli spróbujesz zapisać plik w C: \ na Vista +, w zależności od twoich praw i tego, jak powstał PowerShell.
W systemie Windows 2000:
Plik PrnMngr.vbs z XP (znajdujący się w folderze / Windows / System32) działa w systemie Windows 2000. Po prostu znajdź i skopiuj go na komputer 2000 z komputera XP i uruchom go za pomocą:
cscript prnmngr.vbs -l >> c:\printers.txt
Odkryłem, że z jakiegoś powodu nie będzie działał z pulpitu użytkownika, ale kiedy skopiowałem plik .VBS do katalogu głównego C: działał dobrze.
Używam:
LUB
To pokazuje tylko krótką listę drukarek podłączonych do systemu, na którym uruchomiono polecenie. Pokaże także, do jakiego komputera podłączona jest drukarka, jeśli jest drukarka sieciowa.
Możesz także użyć tego, aby uzyskać bardzo szczegółową listę konfiguracji dla każdej drukarki zainstalowanej w systemie:
Aby wyprowadzić go do pliku tekstowego, dołącz go na końcu polecenia:
Przykład:
źródło
Czasami nie chcesz używać PS w win7 (mam aplikację, która pozwala mi wykonywać prace administracyjne w tle na zdalnych komputerach, ale nie używa PowerShell). Wspomniane skrypty Visual Basic XP można znaleźć w następującym folderze dla Win7:
źródło
Począwszy od systemu Windows 8 / Server 2012, istnieje polecenie
get-printer
cmdlet programu PowerShell:https://technet.microsoft.com/en-us/library/hh918358%28v=wps.630%29.aspx?f=255&MSPPError=-2147217396
źródło
Uwaga: W systemie Windows XP najpierw należy zmienić domyślnego hosta skryptów na CScript
w przeciwnym razie otrzymasz komunikat z informacją, że to zrobisz, a plik printers.txt będzie pusty.
źródło
to jest moje rozwiązanie:
źródło
Użyj PowerShell.
[System.Drawing.Printing.PrinterSettings]::InstalledPrinters
źródło