Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » vbs logon скрипт для подключения сетевых дисков

Модерирует : lynx, Crash_Master, dg, emx, ShriEkeR

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7

Открыть новую тему     Написать ответ в эту тему

Etalon

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Seeth

Код:
 
   <job id="vbs">
      <script language="VBScript">
         Set WshNetwork = WScript.CreateObject("WScript.Network")
         WScript.Echo "Domain = " & WshNetwork.UserDomain
         WScript.Echo "Computer Name = " & WshNetwork.ComputerName
         WScript.Echo "User Name = " & WshNetwork.UserName
         
         With WshNetwork
             Select Case .UserName
             case "Вася"
                       .MapNetworkDrive "E:", "\\Server\Вася"
                         
             case "Петя"
                       .MapNetworkDrive "E:", "\\Server\Петя"
             ...
                 
             case "Витя"
                       .MapNetworkDrive "E:", "\\Server\Витя"
             End Select  
         End With
      </script>
   </job>
 

Всего записей: 306 | Зарегистр. 03-02-2006 | Отправлено: 09:29 24-04-2006 | Исправлено: Etalon, 09:34 24-04-2006
Seeth



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Огромное спасибо! Прямов точку! У меня тут сроки горят, и это как бальзам на душу
 
Спасибо еще раз. Клевый форум! Надо почаще на него заглядывать - очень много полезной и интересной информации.  
 
Добавлено:
Смежный вопрос... Извиняйте, если оффтоп.
Как раздать права пользователям на разделе NTFS, что бы в каталоге, в котором находится куча подкаталогов, пользователи видели только те, на которые у них есть права, а остальных не видели? У меня получается сделать толко так, что бы доступ у них был только к своим, но видят они даже те к которым вообще нету доступа. А мне нужно что бы ничего лишнего они не видели и даже не подозревали о наличии еще каких то подкаталогов, кроме своих.
 
Как это сделать средствами MS Windows 2003 Server Enterprise edition?

Всего записей: 5 | Зарегистр. 21-04-2006 | Отправлено: 11:19 25-04-2006
Etalon

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Seeth
Это дело уже где-то обсуждается. К сожалению, не помню в какой теме.
В кратце, тебе нужна вот такая хрень ABEUI.msi. Взять её можно на сайте Микрософт

Всего записей: 306 | Зарегистр. 03-02-2006 | Отправлено: 13:06 26-04-2006
Seeth



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ЗАРАБОТАЛО!!! Супер! Спасибо. Буду обращатся если что

Всего записей: 5 | Зарегистр. 21-04-2006 | Отправлено: 12:03 27-04-2006
alexitd



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Etalon

Цитата:
У принтеров уже есть такой атрибут.  
Просто у меня принтеров мало и вроде как проще их просто перечислить, чем Location'ы сравнивать
а вот у меня много...
как перебрать все принтеры в AD, чтоб посравнивать Location?

Всего записей: 100 | Зарегистр. 14-02-2006 | Отправлено: 12:21 28-04-2006
alexitd



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
нашел сам тут

Всего записей: 100 | Зарегистр. 14-02-2006 | Отправлено: 17:50 02-05-2006
ndvuser

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго времени.
Подскажите пожалуйста как к выше указаному скрипту SergeyCVS по мапированию дисков прикрутить задачку по перемещению папки "Мои документы" на сервер (изменение в свойствах пути к папке), на сервере для каждого пользователя создается своя шара \\srv\user$.
Причем у определенных пользователей (с ноутами) этого происходить не должно, но они все у нас посчиталы.

Всего записей: 4 | Зарегистр. 19-06-2006 | Отправлено: 13:32 23-08-2006 | Исправлено: ndvuser, 13:34 23-08-2006
ndvuser

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
С папкой Мои документы разобрался, ее через GPO перенаправлять оч легко.
Теперь осталось разобраться с принтерами, как бы их прикрутить к данному скипту?
И не подскажите какой командой из скрипта запустить файл регистра, чтоб бэз шуму и пыли все внеслось в реестр?

Всего записей: 4 | Зарегистр. 19-06-2006 | Отправлено: 16:52 26-08-2006
ndvuser

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вот народ что получилось! Спасибо всем за помощь. Мапит диски, принтеры, вносит изменения в регистр.

Код:
Option Explicit  
'On Error Resume Next  
   
Dim WshShell, WshNetwork  
Dim strUserDN, objSysInfo, GroupObj, UserGroups, UserObj, Printers  
 
' Задаем имя файлового сервера, при использовании нескольких серверов  
' создаем несколько констант и используем их при вызове MapDrv  
Const FileSrv1 = "\\SRV2"  
Const FileSrv2 = "\\SRV5"  
 
UserGroups=""    
   
Set WshShell = WScript.CreateObject("WScript.Shell")  
Set WshNetwork = WScript.CreateObject("WScript.Network")  
Set objSysInfo = CreateObject("ADSystemInfo")    
Set Printers = WshNetwork.EnumPrinterConnections
 
strUserDN = objSysInfo.userName    
 
Set UserObj = GetObject("LDAP://" & strUserDN)    
 
For Each GroupObj In UserObj.Groups    
        UserGroups=UserGroups & "[" & GroupObj.Name & "]"    
Next    
 
'MsgBox "Member of "& UserGroups    
 
if InGroup("KlientBank") then    
        MapDrv "J:", FileSrv2 & "\notes$","Клиент Банк"  
 
        WshNetwork.AddWindowsPrinterConnection "\\SRV5\HP2420"  
        WshNetwork.SetDefaultPrinter "\\SRV5\HP2420"
end if    
 
WSHShell.Run "regedit /s 1C.reg",2
 
MapDrv "S:", FileSrv2 & "\Soft$", "Программы"  
MapDrv "O:", FileSrv2 & "\Documents$","Документы"  
MapDrv "W:", FileSrv2 & "\1C$","1С"  
 
   
'==========================================================================  
' Далее ничего не трогаем!!
   
Function MapDrv(DrvLet, UNCPath, DrvName)  
   
    Dim objFSO, oShell          ' Object variable  
    Dim Msg  
   
    Set objFSO = CreateObject("Scripting.FileSystemObject")  
    Set oShell = CreateObject("Shell.Application")  
 
    On Error Resume Next  
 
    If objFSO.DriveExists(DrvLet) Then  
        WshNetwork.RemoveNetworkDrive DrvLet, true, true  
    End If  
 
    WshNetwork.MapNetworkDrive DrvLet, UNCPath  
    oShell.NameSpace(DrvLet).Self.Name = DrvName  
       
    Select Case Err.Number  
        Case 0            ' No error  
   
        Case -2147023694    
            WshNetwork.RemoveNetworkDrive DrvLet, true, true  
            WshNetwork.MapNetworkDrive DrvLet, UNCPath  
            oShell.NameSpace(DrvLet).Self.Name = DrvName  
               
        Case -2147024811    
            WshNetwork.RemoveNetworkDrive DrvLet, true, true  
            WshNetwork.MapNetworkDrive DrvLet, UNCPath  
            oShell.NameSpace(DrvLet).Self.Name = DrvName  
 
        Case Else  
   
            Msg = "Mapping network drive error: " & _    
                   CStr(Err.Number) & " 0x" & Hex(Err.Number) & vbCrLf & _  
                  "Error description: " & Err.Description & vbCrLf  
            Msg = Msg & "Domain: " & WshNetwork.UserDomain & vbCrLf  
            Msg = Msg & "Computer Name: " & WshNetwork.ComputerName & vbCrLf  
            Msg = Msg & "User Name: " & WshNetwork.UserName & vbCrLf & vbCrLf  
            Msg = Msg & "Device name: " & DrvLet & vbCrLf  
            Msg = Msg & "Map path: " & UNCPath    
   
            WshShell.LogEvent 1, Msg, FileSrv1  
    End Select  
End Function  
 
 
'==========================================================================  
 
Function InGroup(strGroup)    
        InGroup=False    
        If InStr(UserGroups,"[CN=" & strGroup & "]") Then    
                InGroup=True    
        End If    
End Function
 

Всего записей: 4 | Зарегистр. 19-06-2006 | Отправлено: 11:34 28-08-2006
Laki7a



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ndvuser
 

Цитата:
WshNetwork.AddWindowsPrinterConnection "\\SRV5\HP2420"  
        WshNetwork.SetDefaultPrinter "\\SRV5\HP2420"  

 
В часности я дополнительно к этому использую:
WshNetwork.AddPrinterConnection "lpt1","\\Server\HPLaserJ"
 
А как проверить существует ли уже подключенный такой принтер и используется ли уже этот порт? Просто если сеществует - он выдаёт ошибку! Как её отловить и пойти по другой ветки выполнения? (что то вроде если уже есть, то удаляем и назначаем по нашему)

Всего записей: 146 | Зарегистр. 08-08-2005 | Отправлено: 12:21 07-09-2006
Asker80



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Laki7a

Цитата:
А как проверить существует ли уже подключенный такой принтер и используется ли уже этот порт? Просто если сеществует - он выдаёт ошибку! Как её отловить и пойти по другой ветки выполнения? (что то вроде если уже есть, то удаляем и назначаем по нашему)

Просто удаляем подключение (без всяких проверок), а потом мапим, как с дисками.

Всего записей: 482 | Зарегистр. 29-08-2005 | Отправлено: 03:25 08-09-2006
Sandman77

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
весело всё.. вот тока есть куча компов 95 и 98 винды.. и юзернейм там получаеться как то не всегда получить  из этого обьекта - WshNetwork... на клиентах ставицца естественно AD клиент....   как побороть ?  
 
Добавлено:
ошибка типа - "пользователь не поключён к сети"  хотя дискэ мапяться нормально...
мне имя нужно для подключения хоумкаталога.. составляю имя.. должно работать.. но не работает .. почему ?

Всего записей: 172 | Зарегистр. 23-12-2005 | Отправлено: 17:10 12-09-2006
lynnik



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
хороший скрипт.
 
а может кто переделает скрипт подключения сетевых дисков по принципу принадлежности к тому или иному OU (организационная единица в AD)

Всего записей: 110 | Зарегистр. 23-08-2003 | Отправлено: 15:34 13-09-2006
Sandman77

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lynnik
 
 
я б не парился... для каждого OU свою политику завёл бы и там стартап скрипт свой влепил... для того веть оушки и делают шоп свою политику вести
 
Добавлено:
во.. нашол на Мелкософте  
 
Do While sUser = ""
 
   If DateDiff("s", startTime, Now) > 30 Then Wscript.Quit
 
   Wscript.Sleep 500
 
   sUser = oNet.UserName
 
Loop
 
пишут шо для 9х виндов  помогает
 
Добавлено:
попробовал - не помогает .
 
всё так же ругаецца на sUser = oNet.UserName  "пользователь не подключён к сети, указанная служба не существует"
к тому же говорит на  Wscript.Sleep - метод не поддерживаеться.

Всего записей: 172 | Зарегистр. 23-12-2005 | Отправлено: 16:17 13-09-2006 | Исправлено: Sandman77, 17:54 13-09-2006
lynnik



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SergeyCVS
уже есть диск замапленый диск,  
который в проводнике пиден как "FolderName on ServerName DriveLetter:"  
 
теперь твоим скриптом маплю диск с такойже буквой. скрипт старый диск отключает, новый подключает, НО не переименовывает в проводнике. он все также остается "FolderName on ServerName DriveLetter:"  

Всего записей: 110 | Зарегистр. 23-08-2003 | Отправлено: 15:43 27-09-2006 | Исправлено: lynnik, 16:17 27-09-2006
MLG

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Поднимаю тему.
 
ndvuser
Больше к вам наверное вопрос, ну или ко всем кто сможет ответить.
Скрипт замечательный, но хотелось бы дополнить его определением с какого компьютера юзер логинится.
Что то типа  
 
If "user logon from Computername такой то, такой то и такой то" то then
что то делать
else  
делать что то другое
end if
 
Как вот этот "user logon from computername" описать? Сам к сожалению в vbs не силен, но копипасить умею
Компьеютеров несколько будет.
 

Всего записей: 1 | Зарегистр. 19-10-2006 | Отправлено: 17:40 19-10-2006
ronvaleron

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А как сделать что бы диски мапить можно было про primary group.
То есть если  стоит primary group test такая- то то мапиться такой - то диск X
если primary group test2 мапиться такой - то диск Y

Всего записей: 23 | Зарегистр. 15-08-2006 | Отправлено: 17:02 13-12-2006
finder

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите пожалуйста как в строчках:

Цитата:
if InGroup("User_group") then      
        MapDrv "R:", FileSrv2 & "\Doc","Док"  
end if    
 

 
Добавить изменения ключей реестра для запрета usb, cdrom и floppy на компьютере?
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\UsbStor]  
"Start"=dword:00000004  
   
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Cdrom]  
"Start"=dword:00000004  
   
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\flpydisk]  
"Start"=dword:00000004

Всего записей: 63 | Зарегистр. 01-11-2003 | Отправлено: 11:18 15-12-2006
ginya

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Люди!
У меня следующая проблема с подобным скриптом:
Мне, к великому сожалению, приходится держать еще пару десятков машин на NT4. Там нет некоторых объектов, использующихся в этом коде. Так вот есть ли у кого че-нить подобное для НТ?  
Буду весьма признателен... =))

Всего записей: 8 | Зарегистр. 16-02-2007 | Отправлено: 14:57 19-02-2007
Laki7a



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Для нт пользуй батники ))) напиши скрипт для них используя net use

Всего записей: 146 | Зарегистр. 08-08-2005 | Отправлено: 05:49 20-02-2007
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7

Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » vbs logon скрипт для подключения сетевых дисков


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru