В Windows XP используйте prntmngr:
PRNMNGR -l >> C:\printers.txt
В Windows Vista и более поздних версиях используйте PowerShell:
get-WmiObject -class Win32_printer | ft name, systemName, shareName >> c:\printers.txt
Примечание: вы МОЖЕТЕ получить сообщение об ошибке, если попытаетесь записать файл в C: \ на Vista +, в зависимости от ваших прав и способа создания PowerShell.
Для Windows 2000:
Файл PrnMngr.vbs из XP (расположенный в папке / Windows / System32) работает в Windows 2000. Просто найдите и скопируйте его на компьютер 2000 с компьютера XP и запустите его с:
cscript prnmngr.vbs -l >> c:\printers.txt
Я обнаружил, что он не запускается с рабочего стола моего пользователя по какой-то причине, но когда я скопировал .VBS в корень C: он работал нормально.
Я использую:
ИЛИ ЖЕ
Это просто показывает краткий список принтеров, подключенных к системе, на которой вы запускаете команду. Он также покажет, к какому компьютеру подключен принтер, если есть сетевой принтер.
Вы также можете использовать это, чтобы получить очень подробный список конфигурации для каждого принтера, установленного в системе:
Чтобы вывести его в текстовый файл, добавьте его в конец команды:
Пример:
источник
Иногда вы не хотите использовать PS в win7 (у меня есть приложение, которое позволяет мне выполнять административную работу в фоновом режиме на удаленных ПК, но оно не использует powershell). Упомянутые скрипты Visual Basic XP могут быть найдены в следующей папке для Win7:
источник
Начиная с Windows 8 / Server 2012, существует
get-printer
командлет PowerShell:https://technet.microsoft.com/en-us/library/hh918358%28v=wps.630%29.aspx?f=255&MSPPError=-2147217396
источник
Примечание: для Windows XP, сначала измените хост скрипта по умолчанию на CScript
в противном случае вы получите сообщение с указанием сделать это, и ваш файл printers.txt будет пустым.
источник
так что это мое решение:
источник
Используйте Powershell.
[System.Drawing.Printing.PrinterSettings]::InstalledPrinters
источник