Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 13:46 05.07.25 
Компютри и Интернет
   >> Системни администратори
*Кратък преглед

Тема WinXP Network Printersнови  
Автор bass (so deep!)
Публикувано01.03.05 19:51



Hi!
Споделете, моля, спретнат начин за разкарване на мрежов принтер от всички потребителски профили на една работна станция с WinXP. Ако имате желание - и за смяна на принтера по подразбиране (отново за всички профили) :-))

p.s. Става въпрос за принтер, закачен към сървър и share-нат, а не за такъв със собствен принтсървър, в случая JetDirect (който принтер за WinXP изглежда като локален и добавянето/триенето му се отнася за всички профили). Проблемът с Default-принтера обаче важи и за двата случая.

Благодаря!



Тема Re: WinXP Network Printersнови [re: bass]  
Автор the_dude_78™Модератор (Trash Talker)
Публикувано01.03.05 20:36



така предлагам ти един много радикален начин, забърши профилите на всички

сега сериозно, трябва да намериш къде точно в регистрите се пазеше тая информация и след това да си напишеш скрипт, който да го ръннеш на всеки юзър

The One You Love To Hate


Тема Re: WinXP Network Printers [re: the_dude_78™]  
Автор bass (so deep!)
Публикувано01.03.05 20:56



Аз точно ровенето по registry исках да избегна :-))
Обаче като каза скрипт се сетих, че така или иначе юзърите си имат логин-скриптове за мапване на разни устройства, та мога да добавя и няколко реда за принтерите. Ся отивам да чета конзолни команди за съответната дейност
:-\\

p.s. Гадното е, че през net use или PrintUI.dll се затриват пак само принтерите в текущия профил и няма никаква гаранция, че в обозримо бъдеще ще се почисти всичко отвсякъде. А пък не ми се ще този скрипт да продължи да се изпълнява месеци след като проблемният принтер е прибран в кашон в мазето :-\\

Редактирано от bass на 01.03.05 21:59.



Тема Re: WinXP Network Printersнови [re: bass]  
Автор Mopфиyc (матричар)
Публикувано02.03.05 10:15



VBS...
Или казано по просто, ето ти класически .vbs скрипт от microsof.com

Set WshNetwork = CreateObject("WScript.Network")
PrinterPath = "\\ServerY\PrinterX"
PrinterDriver = "Printer DRV"
WshNetwork.AddWindowsPrinterConnection PrinterPath, PrinterDriver
WshNetwork.SetDefaultPrinter "\\ServerY\PrinterX"

Както предполагам се досещаш:
- ServerY е принт сървъра
- PrinterX е шеринг нейм а на принтера
- Printer DRV е драйвера, пише се по пълно име на принтерния драйвер.
При мен - PrinterDriver = "HP LaserJet 2300 Series PCL 5e"

Това добавя принтер при всеки логон и го прави по подразбиране.
Не мога да намеря страницата с пълните скриптове сега, там имаше команди за премахване на принтери (било в началото на този скрипт, било при лог оф), както и обяснения.
При тестове не сработва понякога ако системата има дефолт - локален принтер.

E намерих и командата за премахване:

Windows Script Host

RemovePrinterConnection Method
Removes a shared network printer connection from your computer system.

object.RemovePrinterConnection(strName, [bForce], [bUpdateProfile])
Arguments
object
WshNetwork object.
strName
String value indicating the name that identifies the printer. It can be a UNC name (in the form \\xxx\yyy) or a local name (such as LPT1).
bForce
Optional. Boolean value indicating whether to force the removal of the mapped printer. If set to true (the default is false), the printer connection is removed whether or not a user is connected.
bUpdateProfile
Optional. Boolean value. If set to true (the default is false), the change is saved in the user's profile.
Remarks
The RemovePrinterConnection method removes both Windows and MS-DOS based printer connections. If the printer was connected using the method AddPrinterConnection, strName must be the printer's local name. If the printer was connected using the AddWindowsPrinterConnection method or was added manually (using the Add Printer wizard), then strName must be the printer's UNC name.

Example
The following code disconnects a network printer.

[VBScript]
Set WshNetwork = WScript.CreateObject("WScript.Network")
PrinterPath = "\\printserv\DefaultPrinter"
WshNetwork.RemovePrinterConnection PrinterPath, true, true
[JScript]
var WshNetwork = WScript.CreateObject("WScript.Network");
var PrinterPath = "\\\\PRN-CORP1\\B41-4523-A";
WshNetwork.RemovePrinterConnection(PrinterPath, true, true);



Welcome to the real world

Редактирано от Mopфиyc на 02.03.05 10:22.



Тема Re: WinXP Network Printersнови [re: Mopфиyc]  
Автор bass (so deep!)
Публикувано02.03.05 10:57



10x, и това са варианти. Аз засега съм сложил в логин-скриптовете
това
rundll32 printui.dll, PrintUIEntry /n \\share_server\shareprintername /y
за указване на дефолт-принтер
и това
rundll32 printui.dll, PrintUIEntry /nd /n \\share_server\shareprintername
за разкарването на ненужния.

Ще кара така, докато не намеря начин за еднократна и всеобхватна чистка, но не ме радва хич...



Тема Re: WinXP Network Printersнови [re: bass]  
Автор Mopфиyc (матричар)
Публикувано02.03.05 11:25



Еднократна няма как, всеобхватна... ако знаеш имената на принтерите набутай скрипт да изрине всичко, после да слага само използвания...


Welcome to the real world


*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2025 Dir.bg Всички права запазени.