Показать полную графическую версию : [решено] Удаление принтеров из командной строки
Все спрашивают про установку принтеров, а я вот хочу спросить про удаление:
как из коммандной строки удалить ВСЕ установленные в системе принтера?
то биш добавить: "rundll32 printui.dll,PrintUIEntry /in /n \\machine\printer"
добавляет сетевой принтер
а вот удалить как?
при условии, что имя принтера(принтеров) в системе не известны?
Я бы это сделал так....
REG DELETE "HKEY_CURRENT_USER\Printers\Connections" /f
PS: удаляется весь раздел со всем содержимым, после перезагрузки раздел восстановиться.
Работает
очень биг сенькс
если ставить принтер сразу после удаления - перезагрузка не нужна :-)
Вот пример для удаления всех сетевых принтеров
:// Удаляем все имеющиеся сетевые принтеры.
For /F "Tokens=1,2 Skip=1" %%i In ('WMIC Printer Where Network^=TRUE Get ShareName^,ServerName^,WorkOffLine') Do rundll32 printui.dll,PrintUIEntry /dn /q /n%%i\%%j
a как удалить конкретный принтер?
Petya V4sechkin
17-09-2010, 12:45
KipFun, пример удаления локального принтера:
rundll32.exe printui.dll,PrintUIEntry /dl /n "Microsoft XPS Document Writer" /q
Petya V4sechkin, Спасибо! все сработало!
KipFun, пример удаления локального принтера:
Код:
rundll32.exe printui.dll,PrintUIEntry /dl /n "Microsoft XPS Document Writer" /q »
Подскажите не опытному, это делается в командной строке?
пытаюсь удалить сетевой принтер командой
rundll32.exe printui.dll,PrintUIEntry /dn /n "ИмяПринтера"
выдаёт ошибку: "Не удаётся подключение принтера. Введено неправильное имя принтера или указанный принтер утерял подключение к серверу"
имя принтера ввожу точно правильно
сервера на котором был подключен принтер уже не существует
параметр /dn согласно справке - "удаление подключения к сетевому принтеру"
Если же стандартно удалять руками через Пуск - Принтеры и факсы, то удаляется без проблем
способа удалить такой принтер через командную строку пока не нашел
.........
P.S. попробовал тот же трюк с подключенным рабочим сетевым принтером - та же ошибка
Petya V4sechkin
07-10-2011, 18:56
имя принтера ввожу точно правильно
Как?
\\сервер\принтер
Есть и другие способы.
Например, стандартный Prnmngr.vbs (http://www.google.ru/search?q=Prnmngr.vbs) в папке \WINDOWS\system32 или VBS в две строчки:
Set WshNetwork = WScript.CreateObject("WScript.Network")
WshNetwork.RemovePrinterConnection "\\сервер\принтер", true, true
-NotFound-
11-06-2013, 17:27
Есть и другие способы.
Например, стандартный Prnmngr.vbs в папке \WINDOWS\system32 или VBS в две строчки:
Код:
Set WshNetwork = WScript.CreateObject("WScript.Network")
WshNetwork.RemovePrinterConnection "\\сервер\принтер", true, true »
Большое спасибо!
Нашел через поиск в реестре такой вариант удаления локального принтера
надо просто удалить ветку реестра
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers\Имя_локального_принтера
Проверено в домене с windows 7
SharkyEXE
23-03-2020, 09:11
Всем здравствуйте.
Пожалуйста, напишите альтернативные способы удаления локального принтера Microsoft XPS Document Writer
rundll32.exe (http://forum.oszone.net/post-1497621-7.html) - уже есть
Хочется VBS, WMIC
Petya V4sechkin
23-03-2020, 13:16
SharkyEXE, есть стандартный Prnmngr.vbs (в XP/2003 - в папке \WINDOWS\system32, в последующих ОС - в папке \Windows\System32\Printing_Admin_Scripts\локаль).
Примеры (https://winitpro.ru/index.php/2014/03/03/ustanovka-printera-iz-komandnoj-stroki-v-windows-8/)
SharkyEXE
23-03-2020, 13:20
Petya V4sechkin
Здравствуйте.
Как я понял Prnmngr.vbs или https://winitpro.ru/index.php/2014/03/03/ustanovka-printera-iz-komandnoj-stroki-v-windows-8/ - это VBS язык
Есть или нет у Вас информация, как удалить, используя WMIC?
Спасибо.
как удалить, используя WMIC? »
wmic.exe Printer where "DeviceID='Epson Stylus C20 Series (M)'" delete
Проверить, отработает ли для Microsoft XPS Document Writer, предоставляю Вам.
P.S. Обратите внимание, что сам драйвер при этом не удаляется.
SharkyEXE
23-03-2020, 18:56
Iska
Здравствуйте.
1) P.S. Обратите внимание, что сам драйвер при этом не удаляется. »
Лично мне хватит любого способа, чтобы принтер исчез из Пуск -> Панель управления -> Устройства и Принтеры, чтобы в программах типа Word, Excel, Mozilla Firefox не предлагалось печатать на такие принтеры как:
Microsoft XPS Document Writer
Fax
2) Извините меня, за, возможную наглость, не будете ли Вы так любезны написать решение на VBS, чтобы поменьше кода, чем здесьстандартный Prnmngr.vbs (в XP/2003 - в папке \WINDOWS\system32, в последующих ОС - в папке \Windows\System32\Printing_Admin_Scripts\локаль). »
Может быть из файла Prnmngr.vbs выдернуть кусок кода, который отвечает за удаление принтера и этого, для удаления принтера, хватит, может еще короче решение на VBS есть
решение на VBS, чтобы поменьше кода, чем здесь »
А чем не устраивает стандартный и уже имеющийся в наличии код?
Option Explicit
On Error Resume Next
WScript.CreateObject("WbemScripting.SWbemLocator").ConnectServer(".", "root\cimv2").Get("Win32_Printer.DeviceID='Epson Stylus C20 Series (M)'").Delete_
WScript.Quit 0
SharkyEXE
23-03-2020, 21:20
же имеющийся в наличии код? »
Лично я от Вас первый раз в этой теме вижу этот код, благодарен Вам
Заметил некую бяку - этот скрипт, файл с расширением 1.vbs
Option Explicit
On Error Resume Next
WScript.CreateObject("WbemScripting.SWbemLocator").ConnectServer(".", "root\cimv2").Get("Win32_Printer.DeviceID='Microsoft XPS Document Writer'").Delete_
WScript.Quit 0
удалит принтер Microsoft XPS Document Writer только если - запустить командная строка с парвами администратора + выполнить файл 1.vbs
Если просто запустить файл 1.vbs - принтер не удалится
Бяка в том, что если на файле 1.vbs парвой кнопкой мышки нажать - не будет строки Запуск с парвами администратора
Пожалуйста, научите, можно или нет внутрь файла 1.vbs чего-то написать, чтобы файл 1.vbs запускался с парвами администратора?
PS. Нашел еще одну версию удалить принтер при помощи vbs перейти (https://www.vbsedit.com/scripts/printing/client/scr_1126.asp) - 1.vbs
' https://www.vbsedit.com/scripts/printing/client/scr_1126.asp
' Delete a Printer
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colInstalledPrinters = objWMIService.ExecQuery _
("Select * from Win32_Printer where DeviceID = 'Microsoft XPS Document Writer'")
For Each objPrinter in colInstalledPrinters
objPrinter.Delete_
Next
Запустить командная строка с правами администратора + выполнить файл 1.vbs
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.