Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

сетевой принтер

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Windows
Предыдущая тема :: Следующая тема  
Автор Сообщение
Аспирин
Гость





СообщениеДобавлено: Пт Июн 25 2004 07:59    Заголовок сообщения: сетевой принтер Ответить с цитатой

Дело в следующем,

Есть группа безумных юзеров, которые таскают постоянно принтер от одного компьютера к другому. Поскольку принтер сетевой, то при каждой такой операции приходится у всех других перенастраивать этот принтер.

Устал. Может знающие люди подскажут какое нибудь элехантное решение, чтобы какой нибудь ярлычок, на него все настроены, а в случае чего просто меняешь в нем сетевой путь и готово.
Вернуться к началу
TechNoir



Зарегистрирован: 22.08.2003
Сообщения: 1632
Откуда: Moscou

СообщениеДобавлено: Пт Июн 25 2004 08:16    Заголовок сообщения: Ответить с цитатой

Некоторые делают так:
Подключают принтер к компьютеру 1 - Делают его общим с доступом только компьютеру 2.
На компьютере 2 устанавливают драйвер для принтера (ну типа для этой машины тот принтер сетевой).
Затем на компе 2 дают общий доступ на принтер.
На всех остальных клиента устанавливают принтер котороый как будто бы подключен к компу 2 (на самом деле 1).

Я правда сам такого не делал, народ рассказывал
Smile
_________________
Vive la Russie!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Гость






СообщениеДобавлено: Пт Июн 25 2004 10:09    Заголовок сообщения: Ответить с цитатой

прикольно Wink а сервер они из комнаты в комнату не таскают? Smile
(чтобы сеть быстрей работала)
модель принтера приведите,тип подключения
Вернуться к началу
Аспирин
Гость





СообщениеДобавлено: Пт Июн 25 2004 10:28    Заголовок сообщения: сетевой принтер Ответить с цитатой

Предложенная схема не рулит, т.к. на вкладке <Доступ> у ярлыка сетевого принтера он как бы уже расшарен, хотя в сети его все равно не видно.

Принтер HP1300. У всех юзеров Win200Pro, сервер под Win2000Serv.
Сетка TCP/IP. Принтер подключен на USB.

Возникла мысль замонтировать путь "\\юзер_комп\принтер" на LPT1 и поставить драйвер принтера как будто он локальный, а потом его расшарить. Что думаете?

Ну сервер не таскают, так как рядом с ним сидит злой админ.
Вернуться к началу
And



Зарегистрирован: 02.12.2003
Сообщения: 401
Откуда: Московская обл.

СообщениеДобавлено: Пт Июн 25 2004 10:35    Заголовок сообщения: Ответить с цитатой

Марку принтера в студию!!! Самый элегантный вариант. Без изменения настроек, без гемороев и процего суицида. Покупаем принт сервер. Маленькая такая коробочка стоит не дорого. На одном конце LPT порт, на другом LAN порт RJ-45. Устанавливаем дрова на сервере печати который будет постоянно доступен, в качестве порта будет порт TCP/IP и IP адрес принт-сервера!!! Можно на файл-помойке, сильно не нагрузит. Затем шарим его и наслажбаемся. Очередь печати на сервере и всегда доступна. Когда принтер переносите печать все равно будет доступна только реально документы будут напечатаны в тот момент когда ты в сеть воткнешь принтер Smile) Да еще один геморойчик небольшой придется пользователям постоянно напоминать где стоит принтер. Настройки менять им не придется так как принтер установлен на сервере а физически он может быть в любом месте где у тебя есть сеть!!! Попробуй так!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Аспирин
Гость





СообщениеДобавлено: Пт Июн 25 2004 10:44    Заголовок сообщения: сетевой принтер Ответить с цитатой

Легко за $200 принтсервер. Действительно какая мелочь. Да забыл сказать, денег на это не дадут, а за свои жаба душит.
Вернуться к началу
And



Зарегистрирован: 02.12.2003
Сообщения: 401
Откуда: Московская обл.

СообщениеДобавлено: Пт Июн 25 2004 11:08    Заголовок сообщения: Ответить с цитатой

Принт сервер стоит 71$ вот здесь посмотри http://www.nix.ru/price/virtualshop.html?PHPSESSID=c3acd1afcd7b717355c986427a437b32 Смотреть сетевое оборудование D-Link модель
D-Link <DP-301P/+> Print Server (1LPT, 1UTP, 10/100Mbps) EXT
Предупреждаю, не каждый принтер с ним жить будет. Твой HP 1300 жить будет. У тебя к нему должен быть LIO-LPT адаптер. И язык PJL он держит. А если без него то так и будешь мучаться. Можно установить принтер и на одной и на другой машине, а у пользователей поставить два принтера с разными названиями. Просто один из них будет постоянно не доступен. Физический принтер то один. Работающий выбирать по умолчанию!!!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Kilobait
Гость





СообщениеДобавлено: Пт Июн 25 2004 11:31    Заголовок сообщения: Ответить с цитатой

zainstalit' na vsex kompax etot printer, sdelat' sharing, na kazdom kompe podsoedinit' vse printera so vsex kompov v lokalke i sdelat' printer pooling (pri uslovii sto eto edinstvennij printer takoj marki v seti) i vse i daze nicego nigde meniat' nenado budet, puskaj tiagajut ego iz ugla v ugol do posinenija. Toka vot licno mne legce byloby sxodit' za listom otpecatanogo teksta cem taskat' printer. Durdom kakojto
Вернуться к началу
Аспирин



Зарегистрирован: 25.06.2004
Сообщения: 7

СообщениеДобавлено: Пт Июн 25 2004 12:03    Заголовок сообщения: Ответить с цитатой

Естественно он не единственный принтер в сети есть еще один такой же, но с ним все по правильному. Да и как то это как бы сказать очень уж по русски через ...

Есть одно решение правда с одним кривым моментом. Можно менять имя компа в сети на который принтер поставили, тогда все работает. Проблема в том, что компы имеют имена привязанные к юзерам. Может можно чего нибудь учудить с NetBIOS или DNS чтобы у компа было альтернативное имя.

С монтирование на LPT1 ничего не вышло. С машины на которой установлен такой виртуальный принтер все работает, а вот с других выдает ошибку печати.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Гость






СообщениеДобавлено: Пт Июн 25 2004 12:38    Заголовок сообщения: Ответить с цитатой

Подключить принтер к рабочей станции (если уж у нас принт-сервера нет),прописать,расшарить,раздать права.
На сервере опубликовать в AD.
на других клиентах подключить принтер как сетевой (забрав список принтеров из AD).
у этой серии принтеров должен быть встроенный JEdirect adapter.
тогда вообще проблем нет Wink

берем патч корд,присоединяем принтер и хаб\свитч
далее на сервере создаем новый порт (лучше Jetdirect,а не TCP/IP)
прописываем принтер на вновь созданный порт
(говорим что локальный,а не сетевой принтер и сняв галку с PLug&Play),раздаем права,расшариваем и публикуем в AD.

на клиентах прописываем принтер как сетевой.
проблема миграции принтера закончилась...
Вернуться к началу
TechNoir



Зарегистрирован: 22.08.2003
Сообщения: 1632
Откуда: Moscou

СообщениеДобавлено: Сб Июн 26 2004 10:32    Заголовок сообщения: Ответить с цитатой

Я где-то пол года назад сделал все так, как And сказал и не жалею.
Прислушайтесь к нему Smile

_________________
Vive la Russie!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Avalanche



Зарегистрирован: 10.03.2004
Сообщения: 95
Откуда: г.Норильск

СообщениеДобавлено: Пн Июн 28 2004 04:12    Заголовок сообщения: Ответить с цитатой

Сценарии подключения к принтерам
Криста Андерсон

Обеспечить доступ пользователя к нужному ему принтеру - сложная задача в большой сети или в компании, сотрудники которой постоянно перемещаются от одного компьютера к другому. Пользователям, работающим на дому, и торговым агентам с ноутбуками, постоянно подключающимся к сети из разных мест, вовсе не обязательно работать с одним и тем же принтером. Если несколько человек совместно пользуются одним компьютером или один сотрудник работает на нескольких машинах, администратор должен обеспечить доступ к нужному принтеру в каждом конкретном случае. Программа на VBScript может автоматически установить принтер и подсоединиться к нему при регистрации пользователя, в соответствии с ID пользователя или компьютера, а по окончании сеанса разорвать соединение. Данный сценарий оптимален для операционных систем на базе Windows NT, таких как Windows XP, 2000 и NT, так как в них можно за один прием создать соединение с принтером и установить драйверы. Но если драйверы установлены заранее, то этот метод применим и на машинах Windows 9x.

Windows Script Host (WSH) поддерживает интерфейсы многих объектов Win32, в том числе WshNetwork (или WScript.Network) - набора сетевых ресурсов, общих накопителей и принтеров. Свойства объекта WshNetwork: имя компьютера (ComputerName), имя пользователя (UserName) и домен компьютера (UserDomain). В WshNetwork реализовано несколько методов сетевого доступа к дискам и принтерам. Чтобы явно установить связь принтера с портом, следует использовать метод AddPrinterConnection. Для соединения с принтерами в среде Windows (и автоматической установки драйверов на машинах XP, Windows 2000 и NT), нужно применить метод AddWindowsPrinterConnection, который будет представлен в примере. Метод SetDefaultPrinter назначает компьютеру принтер, связь с которым устанавливается по умолчанию. WshNetwork обеспечивает совместное использование сетевых принтеров, а с помощью оператора Select Case и функции InputBox процесс разделения можно сделать более гибким.

Организация типового соединения с принтером
В Листинге 1 показан самый простой способ установить принтер с использованием VBScript.

Листинг 1. Сценарий соединения с принтером.
' Begin callout A
Option Explicit
Dim oNetwork, sPrintPath
' End callout A
' Begin callout B
Set oNetwork = CreateObject("WScript.Network")
' End callout B
' Begin callout C
sPrintPath = "\\servername\printername"
' End callout C
' Begin callout D
oNetwork.AddWindowsPrinterConnection sPrintPath
oNetwork.SetDefaultPrinter sPrintPath
' End callout D

Данный исходный текст:

Определяет переменные, которые будут использованы в сценарии (метка A), поэтому, если в тексте сценария будет допущена опечатка в имени переменной, то будет выдано сообщение об ошибке, а не создана новая переменная.
Создает соединение с объектом wshnetwork (метка B). Не создав этого соединения, нельзя вызывать методы и свойства объекта.
Назначает путь UNC (Universal Naming Convention - универсальное соглашение об именовании) переменной sprintpath (метка C), поэтому ссылку на путь сделать легко.
Вызывает соответствующий метод, чтобы создать соединение с принтером и назначить его выбираемым по умолчанию. В качестве аргумента к методу указывается путь принтера (метка D).
Если сервер представляет собой компьютер на базе NT, то при наличии корректного пути (метка C Листинга 1) сценарий устанавливает соединение с указанным принтером. Чтобы перенести сценарий в другую сеть, достаточно заменить путь (метка C) действительным UNC-путем принтера.

Этот сценарий можно использовать для работы с несколькими принтерами, выбирая один из них по умолчанию. Для этого нужно определить отдельную переменную для каждого принтера, назначить отдельный путь и вызвать метод AddWindowsPrinterConnection для каждой переменной, а также вызвать метод SetDefaultPrinter, чтобы присвоить одной из переменных значение принтера, выбираемого по умолчанию. Параметр выбора по умолчанию действует так же, как аналогичный параметр, задаваемый через контекстное меню: если в качестве выбираемых по умолчанию назначено несколько принтеров, то выбран будет последний из указанных.

Принтеры для конкретных компьютеров и пользователей
Данный сценарий - хорошее начало, но его возможности ограничены. С помощью сценария нельзя сделать ничего, что выходило бы за рамки команды Net Print или инструмента Con2prt из пакета Microsoft Windows 2000 Resource Kit. Чтобы установить принтеры для конкретных компьютеров и пользователей, сценарий должен получить идентифицирующие данные и в соответствии с ними выполнить нужные действия. В Листинге 2 показан сценарий для установки принтеров по результатам идентификации компьютера (если компьютер, на котором выполняется сценарий, соединен с принт-сервером).

Листинг 2. Сценарий для соединения принтеров с конкретным компьютером.
Option Explicit
Dim oNetwork, sPrintPath
Set oNetwork = CreateObject("WScript.Network")
' Begin Callout A
Select Case oNetwork.ComputerName
Case "Gamma"
sPrintPath = "\\server\printer1"
Case "Geektoy"
sPrintPath = "\\server\printer2"
Case Else
sPrintPath = "\\server\printer3"
End Select
' End Callout A
oNetwork.AddWindowsPrinterConnection sPrintPath
oNetwork.SetDefaultPrinter sPrintPath

Сначала в сценарии определяются переменные и устанавливается соединение с объектом WshNetwork. Однако в исходном тексте Листинга 2 используется оператор Select Case, значительно повышающий возможности сценария. Благодаря оператору Select Case сценарий может прочитать имя локального компьютера и на основании этой информации принять решение об установке того или иного принтера. Имя компьютера определяет значение переменной sPrintPath, которое затем передается методам AddWindowsPrinterConnection и SetDefaultPrinter.

Таким образом, оператор Select Case у метки A в Листинге 2 используется для анализа имени компьютера - свойства oNetwork.ComputerName. Если имя компьютера - "Gamma", то сценарий назначает переменной sPrintPath путь "\\server\printer1"; если имя - "Geektoy", то переменной sPrintPath назначается путь "\\server\printer2". Не нужно перечислять все компьютеры сети, достаточно указать вариант Case Else, содержащий путь "\\server\printer3" к общему принтеру для всех остальных систем, кроме "Gamma" и "Geektoy". Если удалить строку Case Else, и переданное значение ComputerName не совпадает ни с одним из вариантов Case, то сценарий просто переходит к первой строке после End Select. Чтобы использовать сценарий, показанный в Листинге 2, на практике, следует заменить пути к принтерам и имена компьютеров путями и именами конкретной сети.

Составив похожий сценарий, можно выбирать принтеры в зависимости от ID пользователя. В качестве аргумента Select Case применяется имя зарегистрированного пользователя (значение oNetwork.UserName). В Web-Листинге 1 приведен оператор Select Case для такого сценария. Во всем остальном сценарий не отличается от Листинга 2.

Web-Листинг 1: Сценарий соединения с принтером по имени зарегистрированного пользователя.
Select Case oNetwork.UserName
Case "Lisa"
sPrintPath = "\\server\printer1"
Case "Bruce"
sPrintPath = "\\server\printer2"
Case Else
sPrintPath = "\\server\printer3"
End Select

Пользовательские соединения неустойчивы. Например, регистрируется пользователь Лиза, и оператор из Web-Листинга 1 отображает ее принтер; затем Лиза завершает сеанс связи. После этого на том же компьютере регистрируется пользователь Брюс. Оператор отображает его принтер, и он увидит только свой принтер, а не свой принтер вместе с принтером Лизы. Но чтобы отменить соединение принтера с конкретным компьютером или соединение, которое не было заменено другим соединением, необходимо удалить принтер вручную или вызвать метод RemovePrinterConnection объекта WshNetwork, указав в качестве аргумента путь к принтеру. Этот вызов можно вставить в сценарий выхода для компьютеров Windows 2000.

Соединения, зависящие от местонахождения
Сценарий в Листинге 2 подсоединяет компьютер к принтеру, который выбирается в зависимости от имени компьютера. Но как связать группу компьютеров, расположенных в одном месте, с принтером, находящимся в непосредственной близости от них - и повторить эту процедуру для разных мест? Можно дополнить Листинг 2 оператором Select Case c отдельным вариантом для каждого компьютера, или подготовить новую версию сценария для компьютеров каждой территориальной группы. В большой сети любое из этих решений может оказаться неудобным. Но существует и третий способ: составить сценарий, который запрашивает у пользователя его местонахождение (например, библиотека, третий этаж), а затем соединяет машину пользователя с ближайшим принтером. Для такого сценария необходимы действия пользователя, но если человек знает, в какой части здания он находится, и получат от программы соответствующий запрос, то сценарий будет работоспособным. Сценарий можно запрограммировать на завершение работы или повторный запрос, если пользователь указал несуществующее место.

Сценарий, показанный в Листинге 3, выводит на экран диалоговое окно с просьбой указать местонахождение пользователя.

Листинг 3. Сценарий соединения с принтером по территориальному признаку.
Option Explicit
Dim oNetwork, sPrintPath, sLocate
Set oNetwork = CreateObject("WScript.Network")
' Begin callout A
sLocate =_
InputBox("Where are you? Type 'Lab', 'Library', or 'Reception'.")
' End callout A
Select Case sLocate
Case "Lab"
sPrintPath = "\\server\printerA"
Case "Library"
sPrintPath = "\\server\printerB"
Case "Reception"
sPrintPath = “\\server\printerC"
Case Else
MsgBox("That is not a valid choice. The script will exit.") :WScript.Quit
End Select
oNetwork.AddWindowsPrinterConnection sPrintPath
oNetwork.SetDefaultPrinter sPrintPath

В окне ввода VBScript всегда есть кнопки OK и Cancel, но программист должен сформулировать запрос и может указать два дополнительных необязательных аргумента (заголовок и стандартный текст), придав окну индивидуальный вид. Заголовок отображается в панели заголовка, а стандартный текст - строка, которая выводится в текстовом поле окна при первом обращении пользователя к сценарию. Код у метки A в Листинге 3 задает приглашение для диалогового окна. В исходном тексте не заданы заголовок и стандартный текст, но если программист хочет ввести их, то приглашение, заголовок и стандартный текст нужно разместить в следующем порядке:

InputBox(prompt,
title, default)
Переменные prompt и default – строковые, поэтому их необходимо заключить в кавычки (").

Затем оператор Select Case анализирует введенные пользователем данные и выбирает принтер для соединения. Если пользователь ввел неверное значение, то сценарий переходит к оператору Case Else: функция MsgBox выводит составленное программистом текстовое сообщение, а метод WScript.Quit завершает работу сценария. Другими словами, сценарий не устанавливает соединение с принтером, если пользователь ввел некорректные данные. Другой вариант - установить соединение с каким-нибудь принтером или (что несколько усложняет наш пример) попросить пользователя повторить ввод (на тот случай, если в первый раз была допущена опечатка). В любом случае необходимо как-то завершить сценарий и присвоить какое-нибудь значение переменной sPrinterPath перед вызовом метода AddWindowsPrinterConnection. Иначе произойдет ошибка при попытке установить соединение с принтером без пути в качестве аргумента.

С помощью групповой политики Windows 2000 можно назначить принтеры, выбираемые по умолчанию, или блокировать утилиту Add Printers панели управления. Кроме того, можно спрятать разделяемые принтеры (добавив в конце их имени знак $), чтобы пользователи могли подключиться только к принтерам, программно связанным с их именем, компьютером или местоположением. В результате сотрудники лаборатории A не пошлют по ошибке свои документы на принтер в лаборатории Z, расположенной в другом здании.

Свойства и методы WshNetwork - не единственный способ управлять принтерами через VBScript. Можно воспользоваться инструментом PrintAdmin из комплекта ресурсов Windows 2000 или интерфейсами WMI (Windows Management Instrumentation) и Active Directory Service Interface (ADSI). Но использование WshNetwork - самый простой способ. А о WMI и ADSI мы поговорим немного позднее.

Криста Андерсон - независимый автор и консультант, редактор журнала Windows NT Magazine. Ее последняя книга, вышедшая в издательстве Sybex, — Mastering Local Area Networks. С автором можно связаться по адресу: candersn@adelphia.net.
--------------------------------------------------------------------------------
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Аспирин



Зарегистрирован: 25.06.2004
Сообщения: 7

СообщениеДобавлено: Пн Июн 28 2004 16:42    Заголовок сообщения: Ответить с цитатой

Мдя, информация конечно ценная про скрипты и про Кристу Андерсон, тока с точностью до наоборот. У меня пользователи никуда не бегают, у меня принтер бегает от одного компа к другому.

Итого:
1. Если при перемещении принтера от одного компа к другому сохранить имя компьютера в сети, то юзеры ничего не заметят.
2. Если юзерам при подключении принтера вводить IP адрес вместо имени компьютера с принтером и потом сохранять этот IP при перемещениях принтера, то юзера тоже ничего не заметят.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Avalanche



Зарегистрирован: 10.03.2004
Сообщения: 95
Откуда: г.Норильск

СообщениеДобавлено: Вт Июн 29 2004 05:19    Заголовок сообщения: Ответить с цитатой

Цитата:
Итого:
1. Если при перемещении принтера от одного компа к другому сохранить имя компьютера в сети, то юзеры ничего не заметят.
2. Если юзерам при подключении принтера вводить IP адрес вместо имени компьютера с принтером и потом сохранять этот IP при перемещениях принтера, то юзера тоже ничего не заметят.

Напоминает размышления Вини Пуха о пчёлах и мёде Wink
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Алекс



Зарегистрирован: 25.06.2003
Сообщения: 2206
Откуда: Москва

СообщениеДобавлено: Вт Июн 29 2004 11:17    Заголовок сообщения: Ответить с цитатой

Avalanche писал(а):
Напоминает размышления Вини Пуха о пчёлах и мёде Wink

Сильно! Very Happy
_________________
Удачи!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Windows Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...