Войти

Показать полную графическую версию : [решено] Удаление принтеров из командной строки


Страниц : [1] 2 3

denzill
06-03-2006, 12:47
Все спрашивают про установку принтеров, а я вот хочу спросить про удаление:
как из коммандной строки удалить ВСЕ установленные в системе принтера?
то биш добавить: "rundll32 printui.dll,PrintUIEntry /in /n \\machine\printer"
добавляет сетевой принтер
а вот удалить как?
при условии, что имя принтера(принтеров) в системе не известны?

V Telm
07-03-2006, 20:14
Я бы это сделал так....
REG DELETE "HKEY_CURRENT_USER\Printers\Connections" /f

PS: удаляется весь раздел со всем содержимым, после перезагрузки раздел восстановиться.

denzill
07-03-2006, 20:33
Работает
очень биг сенькс
если ставить принтер сразу после удаления - перезагрузка не нужна :-)

batyaPS
05-07-2009, 23:22
элегантно !!V Telm,

batyaPS
04-08-2009, 07:49
Вот пример для удаления всех сетевых принтеров

:// Удаляем все имеющиеся сетевые принтеры.

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

KipFun
17-09-2010, 11:19
a как удалить конкретный принтер?

Petya V4sechkin
17-09-2010, 12:45
KipFun, пример удаления локального принтера:
rundll32.exe printui.dll,PrintUIEntry /dl /n "Microsoft XPS Document Writer" /q

KipFun
17-09-2010, 14:21
Petya V4sechkin, Спасибо! все сработало!

Lospi
22-09-2010, 12:49
KipFun, пример удаления локального принтера:
Код:
rundll32.exe printui.dll,PrintUIEntry /dl /n "Microsoft XPS Document Writer" /q »

Подскажите не опытному, это делается в командной строке?

mega19
07-10-2011, 13:44
пытаюсь удалить сетевой принтер командой

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 »
Большое спасибо!

le9i0nx
20-10-2014, 13:53
Нашел через поиск в реестре такой вариант удаления локального принтера
надо просто удалить ветку реестра
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?

Спасибо.

Iska
23-03-2020, 17:35
как удалить, используя 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 есть

Iska
23-03-2020, 21:13
решение на 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