![]() |
Помогите подштриховать bat (printui.dll,PrintUIEntry)
В домене на каждой машине имеются принтеры clp1 clp2 clp3 clp4 hp199 hp200 (установлены по IP)
на некоторых установлен Canon (LBP2900 локально) либо clp5 (тот же Canon только переименован). наваял bat файл вроде работает / Но смущает долгая отработка первого этапа bat ника .(удаление всех возможных сетевых принтеров) Помогите отладить данный bat ник , что бы можно или как то проверять наличие сетевого принтера с последующим его удалением или заменить перебор принтеров для удаления одной командой (только сетевых ) |
Часть с удалением принтеров (извини, проверять у себя как-то неохота... :o )
можно попробовать распараллелить, запустив все копии printui.dll одновременно. Список принтеров можно для красоты сунуть в одну строку и выбирать в цикле... Код:
set ToDel=it2_996801\Canon zgb_996801\Canon bkass_996801\Canon zdgm_996801\Canon zpek_996801\Canon sspr_996801\Canon zs2_996801\clp5 sb1_996801\Canon zhoz_996801\Canon gi_996801\Canon |
NiOl, опробую , отпишу .
|
Цитата:
Код:
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 |
Цитата:
0. проще . 1. Нет доступа с контроллеру домена и групп. политике (есть головная компания, и мы, так сказать, с урезанными правами .) по этому что либо делать с группами , доменами и т.д. нам запрещено . 2. компы часто перемещаются относительно здания по этому жестко привязывать их к группам не льзя. Цитата:
и подставить сразу те переменные которые мною используются домен допустим DUMM |
batyaPS,
1. понимаю, сами так работаем - нужны права на создание своих групп (в своем OU) и включение в них компов 2. не понимаю, при чем тут расположение... например, "OU01-hp200" - компы, кот.печатают на hp200; комп переехал - перекинул его в другую группу, скажем, "OU01-Canon" - сам скрипт при этом править не нужно Цитата:
Код:
WMIC Printer Where Network=TRUE Get ShareName,ServerName |
большое спасибо amel27 и NiOl, оба ваши варианты полностью рабочие .
с отличием в том , что один может удалять принтеры только заведомо принадлежащие к организации(или через список ) . а второй может удалить все возможные принтеры сетевые . |
обновлю тему .
ранее на машинах 2k строка rundll32 printui.dll,PrintUIEntry /y /q /n\\%computername%\Canon (устанавливает локальный принтер по умолчанию) работало корректно. сейчас перевел машины на XP и данная строка больше не отрабатывает у пользователей . т.е. под администратором работает, а под пользователем нет . причем строка rundll32 printui.dll,PrintUIEntry /in /u /w /q /n\\zpek_996801\Canon (установка сетевого принтера) проходит без проблем . вывода ошибки в консоли нет . т.е. после выполнения команды делается перевод строки и все (как будто все выполнилось) подскажите ... на что нужно дать права что бы у пользователей корректно отрабатывала строка rundll32 printui.dll,PrintUIEntry /y /q /n\\%computername%\Canon |
Время: 11:20. |
Время: 11:20.
© OSzone.net 2001-