|
Компьютерный форум OSzone.net » Серверные продукты Microsoft » Microsoft Windows NT/2000/2003 » Помогите написать скрипт |
|
Помогите написать скрипт
|
Пользователь Сообщения: 54 |
Профиль | Отправить PM | Цитировать Есть терминальный сервер на Win 2003, к которому подключаются пользователи под своими логинами с разных компьютеров. К компьютерам подключены принтеры и установлены на терминальнике. Необходимо написать скрипт, который бы выбирал по умолчанию конкретный принтер при подключении пользователя. Есть пожелание, реализовать через IP адрес клиентского компьютера.
|
|
Отправлено: 11:36, 31-05-2012 |
Ветеран Сообщения: 1384
|
Профиль | Отправить PM | Цитировать DmitriiV, общался с автором темы в ICQ
|
------- Отправлено: 17:11, 31-05-2012 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 54
|
Профиль | Отправить PM | Цитировать Вот что я нашел в инете http://www.osp.ru/win2000/2009/06/9846437/
В понедельник проверю на пользователях, на своей машине проверил. Вот что у меня получилось: Dim dbg:dbg=true Dim networkIDs: set networkIDs=CreateObject("Scripting.Dictionary") Dim Nacs, Nac Set Nacs=GetObject("winmgmts://./root/cimv2").ExecQuery("Select IPAddress, IPSubnet from win32_NetworkAdapterConfiguration where IPEnabled=True") For Each Nac in Nacs Dim N If (Not IsNull(Nac.IPAddress)) And (Not IsNull(Nac.IPSubnet)) Then For N=0 to UBound(Nac.IPAddress) NetworkIDs(Nac.IPAddress(N))=vbNullString Next End If Next Dim IDList:IdList=networkIDs.Keys Dim Locations:Set Locations=CreateObject("Scripting.Dictionary") 'Locations ("Z")="192.168.1.7"' Locations ("31")="192.168.2.31" Locations ("32")="192.168.2.32" Locations ("33")="192.168.2.33" Locations ("38")="192.168.2.38" Locations ("49")="192.168.2.49" 'Locations ("45")="192.168.2.45"' 'Locations ("36")="192.168.2.36"' Locations ("50")="192.168.2.50" 'Locations ("61")="192.168.2.61"' 'Locations ("62")="192.168.2.62"' Locations ("39")="192.168.2.39" Locations ("37")="192.168.2.37" Locations ("47")="192.168.2.47" 'Locations ("42")="192.168.2.42"' Locations ("41")="192.168.2.41" 'Locations ("63")="192.168.2.63"' Locations ("60")="192.168.2.60" Locations ("40")="192.168.2.40" 'Locations ("35")="192.168.2.35"' Locations ("34")="192.168.2.34" 'Locations ("4")="192.168.2.4"' Dim SystemLocation SystemLocation=vbNullString Dim MultipleMatches MultipleMatches=False Dim WshShell Set WshShell=CreateObject("WScript.Shell") Dim Session Session=WshShell.ExpandEnvironmentStrings("%SessionName%") If Session = "Console" or Session = "%SessionName%" Then Dim Location For Each Location in Locations.Keys Dim currentId For Each currentID in IDList If dbg Then WScript.Echo "ID:", CurrentID If currentID=Locations(Location) Then If dbg Then WScript.Echo "matched", CurrentID If SystemLocation <> vbNullString Then MultipleMatches = True Else SystemLocation = Location End If End If Next Next End If If Not MultipleMatches Then Dim WshNetwork Set WshNetwork=CreateObject("WScript.Network") Select Case SystemLocation Case "Z" WshNetwork.AddWindowsPrinterConnection "\\192.168.1.251\HP LaserJet P1005" WshNetwork.SetDefaultPrinter "\\192.168.1.251\HP LaserJet P1005" Case "31" WshNetwork.AddWindowsPrinterConnection "\\192.168.2.31\HP-LaserJet-Professional-P1102" WshNetwork.SetDefaultPrinter "\\192.168.1.31\HP-LaserJet-Professional-P1102" Case "32" WshNetwork.AddWindowsPrinterConnection "\\192.168.2.32\HP-LaserJet-Professional-P1102" WshNetwork.SetDefaultPrinter "\\192.168.1.32\HP-LaserJet-Professional-P1102" Case "33" WshNetwork.AddWindowsPrinterConnection "\\192.168.2.33\HP-LaserJet-Professional-P1102" WshNetwork.SetDefaultPrinter "\\192.168.1.33\HP-LaserJet-Professional-P1102" Case "38" WshNetwork.AddWindowsPrinterConnection "\\192.168.2.38\HP-LaserJet-Professional-P1102" WshNetwork.SetDefaultPrinter "\\192.168.1.381\HP-LaserJet-Professional-P1102" Case "49" WshNetwork.AddWindowsPrinterConnection "\\192.168.2.49\HP-LaserJet-Professional-P1102" WshNetwork.SetDefaultPrinter "\\192.168.1.49\HP-LaserJet-Professional-P1102" ' Case "45"' ' WshNetwork.AddWindowsPrinterConnection "\\192.168.2.45\HP-LaserJet-Professional-P1102"' ' WshNetwork.SetDefaultPrinter "\\192.168.1.45\HP-LaserJet-Professional-P1102" ' ' Case "36"' ' WshNetwork.AddWindowsPrinterConnection "\\192.168.2.36\HP-LaserJet-Professional-P1102"' ' WshNetwork.SetDefaultPrinter "\\192.168.1.36\HP-LaserJet-Professional-P1102" ' Case "50" WshNetwork.AddWindowsPrinterConnection "\\192.168.2.50\HP-LaserJet-Professional-P1102" WshNetwork.SetDefaultPrinter "\\192.168.1.50\HP-LaserJet-Professional-P1102" ' Case "61"' ' WshNetwork.AddWindowsPrinterConnection "\\192.168.2.61\HP-LaserJet-Professional-P1102"' ' WshNetwork.SetDefaultPrinter "\\192.168.1.61\HP-LaserJet-Professional-P1102" ' ' Case "62"' ' WshNetwork.AddWindowsPrinterConnection "\\192.168.2.62\HP-LaserJet-Professional-P1102"' ' WshNetwork.SetDefaultPrinter "\\192.168.1.62\HP-LaserJet-Professional-P1102" ' Case "39" WshNetwork.AddWindowsPrinterConnection "\\192.168.2.39\HP-LaserJet-Professional-P1102" WshNetwork.SetDefaultPrinter "\\192.168.1.39\HP-LaserJet-Professional-P1102" Case "37" WshNetwork.AddWindowsPrinterConnection "\\192.168.2.37\HP-LaserJet-Professional-P1102" WshNetwork.SetDefaultPrinter "\\192.168.1.37\HP-LaserJet-Professional-P1102" Case "47" WshNetwork.AddWindowsPrinterConnection "\\192.168.2.47\HP-LaserJet-Professional-P1102" WshNetwork.SetDefaultPrinter "\\192.168.1.47\HP-LaserJet-Professional-P1102" ' Case "42"' ' WshNetwork.AddWindowsPrinterConnection "\\192.168.2.42\HP-LaserJet-Professional-P1102"' ' WshNetwork.SetDefaultPrinter "\\192.168.1.42\HP-LaserJet-Professional-P1102" ' Case "41" WshNetwork.AddWindowsPrinterConnection "\\192.168.2.41\HP-LaserJet-Professional-P1102" WshNetwork.SetDefaultPrinter "\\192.168.1.41\HP-LaserJet-Professional-P1102" ' Case "63"' ' WshNetwork.AddWindowsPrinterConnection "\\192.168.2.63\HP-LaserJet-Professional-P1102"' ' WshNetwork.SetDefaultPrinter "\\192.168.1.63\HP-LaserJet-Professional-P1102" ' Case "60" WshNetwork.AddWindowsPrinterConnection "\\192.168.2.60\HP-LaserJet-Professional-P1102" WshNetwork.SetDefaultPrinter "\\192.168.1.60\HP-LaserJet-Professional-P1102" Case "40" WshNetwork.AddWindowsPrinterConnection "\\192.168.2.40\HP-LaserJet-Professional-P1102" WshNetwork.SetDefaultPrinter "\\192.168.1.40\HP-LaserJet-Professional-P1102" ' Case "35"' ' WshNetwork.AddWindowsPrinterConnection "\\192.168.2.35\HP-LaserJet-Professional-P1102"' ' WshNetwork.SetDefaultPrinter "\\192.168.1.35\HP-LaserJet-Professional-P1102" ' Case "34" WshNetwork.AddWindowsPrinterConnection "\\192.168.2.34\HP-LaserJet-Professional-P1102" WshNetwork.SetDefaultPrinter "\\192.168.1.34\HP-LaserJet-Professional-P1102" ' Case "4"' ' WshNetwork.AddWindowsPrinterConnection "\\192.168.2.4\HP-LaserJet-Professional-P1102"' ' WshNetwork.SetDefaultPrinter "\\192.168.1.4\HP-LaserJet-Professional-P1102" ' Case Else If dbg then WScript.Echo "No matching location found." WScript.Echo "SystemLocation:",SystemLocation End If End Select End If Function NetworkID(Address,Mask) Dim AddresOctets,MaskOktets,Result,N AddressOctets=Split(Address,".") MaskOctets=Split(Mask,".") ReDim Result (UBound(AddressOctets)) For N=0 To UBound(AddressOctets) Result(N)=AddressOctets(N) And MaskOctets(N) Next NetworkID=Join(Result,".") End Function |
Отправлено: 15:02, 01-06-2012 | #12 |
Старожил Сообщения: 165
|
Профиль | Отправить PM | Цитировать Ужас. В МС наверно бы удавились если увидели эти скрипты. Вам же уже совсем-совсем давно сделали GPP в которых можно назначать куда угодно и как угодно таргетинг. http://www.microsoft.com/en-us/downl....aspx?id=24449
|
Отправлено: 16:18, 01-06-2012 | #13 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Помогите, написать sh скрипт | webinteger | Программирование в *nix | 2 | 17-09-2010 09:01 | |
Помогите написать скрипт для установки qip | aild | AutoIt | 5 | 28-07-2010 14:19 | |
FreeBSD - Помогите написать скрипт | Stirs | Общий по FreeBSD | 2 | 25-06-2008 02:29 | |
Помогите написать скрипт копирования | Filariel | Программирование в *nix | 7 | 17-11-2006 16:38 | |
Помогите написать скрипт!!! | Sergei Antoshkin | Вебмастеру | 1 | 13-03-2003 18:22 |
|