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

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

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

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

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

IDaho

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

Цитата:
Dim WshNetwork
    Set WshNetwork = WScript.CreateObject("WScript.Network")
        WshNetwork.RemoveNetworkDrive "h:"
    WshNetwork.MapNetworkDrive "h:", "\\server\folder"
        WshNetwork.RemoveNetworkDrive "j:"
    WshNetwork.MapNetworkDrive "j:", "\\server\folder"

т.е. как сделать обход ошибки.
 
и что дописать чтобы если замапенного диска нету, то строка
Цитата:
WshNetwork.RemoveNetworkDrive "h:"
не отрабатывалась.
 
я еще совсем начинающий скриптолог, не откажите в помощи. просто нужен простенький скрипт мапирования дисков, и чтобы пользователя не пугало сообщение об ошибке на экране при отработки скрипта.
 
 

Всего записей: 62 | Зарегистр. 06-02-2007 | Отправлено: 09:09 01-02-2008
Frizen13



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
здраствуйте. прошу помощи в таком вот деле ковыряю скриптик по подключение сетевого диска, но перед этим он должен проверить если ещё какието подключённые сетевые диски и если они имеются то не отключать а создать ещё один...  
 
 For i = 0 to oDrives.Count - 1 Step 2  
    ReDim myArray (oDrives.Count - 1)
         'wshNetwork.RemoveNetworkDrive (oDrives.Item(i))
        myArray(i) = oDrives.Item(i)
     Next  
           
 
вот тут я узнаю что типа есть диск но тепереь как мне выбрать свободный и создать?

Всего записей: 10 | Зарегистр. 31-01-2008 | Отправлено: 07:42 29-02-2008
Lusk

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Народ помогите плзз
Есть принт сервер ***_ls и файл сервер ***_fs
 
надо что бы мапились диск к пользователю из группы юзер и пару принтеров по умолчанию файнпринт
 
Вставляю в логон скрипт в ад 2003 клиенты все хр сп2  скрипт лежит на диске D: ad
 
 При входе в домен вообщи ничего не делается!
 
Option Explicit    
'On Error Resume Next    
   
Dim WshShell, WshNetwork    
Dim strUserDN, objSysInfo, GroupObj, UserGroups, UserObj, Printers  
   
' Задаем имя файлового сервера, при использовании нескольких серверов    
' создаем несколько констант и используем их при вызове MapDrv  
Const FileSrv1 = "\\***_fs\Users"  
 
   
UserGroups="Users"      
   
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("Users") then      
        MapDrv "J:", FileSrv1    
 
        WshNetwork.AddWindowsPrinterConnection "\\***_ls\FINEPRT5"  
        WshNetwork.SetDefaultPrinter "\\***_ls\FINEPRT5"  
end if    
 
 
   
   
'==========================================================================    
' Далее ничего не трогаем!!  
   
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  
 

Всего записей: 1 | Зарегистр. 17-03-2008 | Отправлено: 11:17 17-03-2008 | Исправлено: Lusk, 16:35 17-03-2008
FogFromDark



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Народ, может кто сталкивался с такой проблемой, при использовании скрипта уважаемого SergeyCVS в логах иногда возникает ошибка и не мапятся диски:
 Mapping network drive error: -2147022646 0x800708CA
Error description: Сетевое подключение не существует.  
Я так понимаю, что сетевой интерфейс не успевает подняться до загрузки скрипта и лечится это путем установки фиксированного Link Speed и Full Duplex, правда помогает это не всегда.
Как бы вставить в скрипт проверку на подключение диска и если он не подключен, то выставить таймаут и еще раз повторить попытку?

Всего записей: 9 | Зарегистр. 18-09-2002 | Отправлено: 17:23 24-03-2008
ADMCGBTPS

Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Народ а как в VBS сделать синхронизацию времени, а потом еще и приделать запуск БАТников.

Всего записей: 9 | Зарегистр. 12-12-2007 | Отправлено: 11:48 26-03-2008
bordyuja

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Народ,как сделать,чтобы при входе в домен,к каждому юзеру прикреплялась автоматом его личная папка которая лежит к примеру на \\pozitiv-server\личные папки\(название папки по фамилии но не такая как в логене)

Всего записей: 1 | Зарегистр. 26-03-2008 | Отправлено: 18:18 26-03-2008
Galaxy911

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
У меня так получилась подключить по ником в домене их личные папки
....
Case "docp"
MapRes = True
strResName = "\\Server\DOC$\"+WshNetwork.UserName
strResDrive = "P:"
.....

Всего записей: 11 | Зарегистр. 23-05-2007 | Отправлено: 22:29 12-04-2008 | Исправлено: Galaxy911, 22:56 12-04-2008
SergeyCVS



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

Цитата:
в логах иногда возникает ошибка и не мапятся диски:  
 Mapping network drive error: -2147022646 0x800708CA  
Error description: Сетевое подключение не существует.  
Я так понимаю, что сетевой интерфейс не успевает подняться до загрузки скрипта и лечится это путем установки фиксированного Link Speed и Full Duplex, правда помогает это не всегда.  
Как бы вставить в скрипт проверку на подключение диска и если он не подключен, то выставить таймаут и еще раз повторить попытку?

если комп в домене то можно выставить задержку перед применением ГПО
 
Добавлено:
 
bordyuja

Цитата:
Народ,как сделать,чтобы при входе в домен,к каждому юзеру прикреплялась автоматом его личная папка которая лежит к примеру на \\pozitiv-server\личные папки\(название папки по фамилии но не такая как в логене)  

если имена ни как не связаны с какимньть атрибутом аккаунта в АД то ни как. только прямым прописыванием соотвия юзера и фолдера

----------
xxx: если цыплят зовут - цыпа, цыпа, цыпа
xxx: а утят - утя, утя, утя..
xxx: то пингвинов надо подзывать - пинг, пинг, пинг

Всего записей: 2445 | Зарегистр. 04-01-2002 | Отправлено: 23:49 12-04-2008
shtrishochik

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А как определить какой либо функцией рабочую директорию windows в vbs  
 
Set fso = CreateObject("Scripting.FileSystemObject")
Dim str1,str2
str1="\\wd2000\NETLOGON\sst3d.scr"
 
str2-тут должна быть папка system32...как её определить?
fso.CopyFile str1,str2, True

Всего записей: 3 | Зарегистр. 09-04-2008 | Отправлено: 17:06 23-04-2008
sibovets

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А как сделать так чтобы этот скрипт не применялся к выборочным серверам в AD???

Всего записей: 5 | Зарегистр. 03-04-2008 | Отправлено: 11:58 11-07-2008
FogFromDark



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Уважаемые,  
При использовании несколько модифицированного скрипта SergeyCVS мапящего диски и переименовывающего их:  
 

Цитата:
[/q]
' COMMENT: Подключение сетевых дисков с записью ошибок в EventLog
 
Option Explicit
On Error Resume Next
 
Dim WshShell, WshNetwork, objShell        ' , objFSO
 
Set WshShell = WScript.CreateObject("WScript.Shell")
Set WshNetwork = WScript.CreateObject("WScript.Network")  
'Set objFSO = CreateObject( "Scripting.FileSystemObject" )
 
'objFSO.DeleteFolder( "C:\Program Files\Common Files\Symantec Shared\VirusDefs\tmp*" )
 
' Задаем имя файлового сервера, при использовании нескольких серверов  
' создаем несколько констант и используем их при вызове MapDrv
 
Const FileSrv1 = "\\SRV1"
'Const FileSrv2 = "\\SRV2"  
 
MapDrv "G:",FileSrv1 & "\folder1", "Общие папки"
MapDrv "W:",FileSrv1 & "\folder2" , "Специализированные папки"
MapDrv "Y:",FileSrv1 & "\folder3", "Папки департаментов"  
'==========================================================================
'
' Function MapDrv(DrvLet, UNCPath)
'
' DrvLet -  Буква устройства
' UNCPath - Сетевой путь
'
'==========================================================================
 
 
  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, "."
    End Select  
End Function  

Цитата:
 

 
в логах пишет следующее:

Цитата:
 

Mapping network drive error: 424 0x1A8
Error description: Object required
Domain: MSK
Computer Name: User
User Name: Username
 
Device name: Y:
Map path: \\srv1\folder1
[q]

Хотя переименование срабатывает, а вот логгирование ошибо подключения - нет. В чем могут быть грабли?
 

Всего записей: 9 | Зарегистр. 18-09-2002 | Отправлено: 17:23 28-07-2008
Raene

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите пожалуйста, как сделать в скрипте проверку на наличие сетевого подключения? Если проверка прошла, то выполнять скрипт дальше, если нет, то ничего не делать. В случае успешной проверки, проверить следующее: подмаплен ли сетевой диск пользователя на опреденную букву. Если подмаплен правильный диск, то выполнять скрипт дальше, если подмаплен другой диск, то остановить выполнение скрипта. Правильный сетевой диск нужно взять из AD. Имя пользователя, чтобы определялось по залогиненному пользователю на машинке.
 
Заранее спасибо.

Всего записей: 1 | Зарегистр. 29-07-2008 | Отправлено: 09:26 29-07-2008
mantis777

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А как добавить в скрпит, что мапит диски, что бы в массив попадали значения не только групп, которым явно принадлежит пользователь, но и те группы, в которые входят группы, которым он принадлежит. Т.е. если пользователь входит в группу А, то все ок. И если входит в группу Б, то тоже в значениях есть и А и Б. Но если группа А входит в С, то в массиве все равно будут теже А и Б. Как там заставить появиться и С ?

Всего записей: 47 | Зарегистр. 07-05-2002 | Отправлено: 08:35 11-11-2008
zorg1888

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

Цитата:
А как определить какой либо функцией рабочую директорию windows в vbs  
 
Set fso = CreateObject("Scripting.FileSystemObject")
Dim str1,str2
str1="\\wd2000\NETLOGON\sst3d.scr"
 
str2-тут должна быть папка system32...как её определить?
fso.CopyFile str1,str2, True

 
http://www.microsoft.com/technet/scriptcenter/scripts/templates/adsi/basic/gui.mspx?mfr=true
 

Цитата:
А как сделать так чтобы этот скрипт не применялся к выборочным серверам в AD???

попробуй использовать условие If с проверкой параметра WshNetwork.ComputerName

Всего записей: 26 | Зарегистр. 22-07-2008 | Отправлено: 22:35 23-12-2008 | Исправлено: zorg1888, 23:51 23-12-2008
Servers

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
To mantis777: Согласен очень дельный вопрос.
 
Как быть если на шары даются права Domain Local группам, ведь так считается правильно для будущего расширения.
Например есть сервер: Srv1
Есть шара: Share
NTFS rights: DL_Share (это группа является Domain Local в домене Test.ru) даны права на чтение, но в принципе не важно
в группу DL_Share входит группа AccountDepartment.
В группу AccountDepartment входит пользователь test1
 
Так вот господа теперь звучит вопрос:
 
При логоне пользователя test1 скрипт отработает только для группы AccountDepartment и он не сможет подключить шару Share. Сразу оговорю, что группа AccountDepartment входит во многое кол-во аналогичных групп DL_Share которым даны права доступа по NTFS.

Всего записей: 1 | Зарегистр. 17-02-2009 | Отправлено: 18:12 17-02-2009
DTLA

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вопрос такого плана, подключаю диски скриптом  
 
===========================================================
 
Set WshNetwork = CreateObject("WScript.Network")
Set objShell = CreateObject("Shell.Application")
On Error Resume Next
 
wshNetwork.RemoveNetworkDrive "V:"
wshNetwork.MapNetworkDrive "V:", "\\DFS_LINK\Share1\"
objShell.NameSpace("Y:").Self.Name = "ShareName1"
 
wshNetwork.RemoveNetworkDrive "R:"
wshNetwork.MapNetworkDrive "R:", ""\\DFS_LINK\Share2\"
objShell.NameSpace("Z:").Self.Name = "ShareName1"
 
===========================================================
 
на Windows XP (SP2 + SP3) проходит на ура (через GPO), но на Windows Vista SP1 (пользователь имеет теже самые права), подключение не проходит, UAC отключен...
 
в чем может быть загвоздка?

Всего записей: 17 | Зарегистр. 03-10-2008 | Отправлено: 13:28 19-02-2009 | Исправлено: DTLA, 13:34 19-02-2009
YURETS777



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как сделать отключение всех сетевых соединений (аналог net use * /delete /y)
 
WshNetwork.RemoveNetworkDrive "*", True, True
 
Выдает ошибку

Всего записей: 2161 | Зарегистр. 29-04-2005 | Отправлено: 12:26 02-04-2009
noklaf



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как сделать возможность авторизации? Например:  
MapDrv "Буква диска" ,"Подключаемая папка" , "Имя в проводнике", "Логин", "Пароль"  
 
Бывает полезно, когда нужно подключить папку с сервера другой организации.
 

Всего записей: 93 | Зарегистр. 11-03-2005 | Отправлено: 21:28 22-07-2009
ZeusKrd

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите пожалуйста!
Что есть:  
    1. MS Server 2008.
    2. компьютеры с XP, на которых работают кассиры.
    3. у кассиров перемещаемые профили.
    4. На компьютерах кассиров мапится диск R:, который расшарен на тех же компах.
            CompPath =  "\\" & WshNetwork.ComputerName &"\printer"
    MapDrv "R:", CompPath
    5. Кассиры постоянно сидят за разными компьютерами.
    6. На диск R: сохраняется авиа билет, который оттуда подхватывает 1с 7.7, это сделано для учета продаж. От локального диска отказались, т.к. билеты оформляются и в терминальном режиме(RDP) одновременно несколькими кассирами, поэтому у них тоже мапится R: только по пути "\\hq_star2\profile$\terminal_users\" & WshNetwork.UserName &"\printer".
Проблема:
Диск R: смапится на компе с именем callcent1, все прекрасно работает.
Когда этот же кассир садится за компьютер, к примеру, callcent5, то тут возникает проблема. На компьютере callcent5 мапится "Printer на callcent1( R: )". Помогает только отключение диска, только он из проводника не исчезает, но винда пишет что это диск отключен, и перезагрузка.
Заранее благодарен за помощь!

Всего записей: 4 | Зарегистр. 27-01-2010 | Отправлено: 12:48 27-01-2010 | Исправлено: ZeusKrd, 12:57 27-01-2010
ZeusKrd

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Никто помочь не может?

Всего записей: 4 | Зарегистр. 27-01-2010 | Отправлено: 11:01 29-01-2010
Открыть новую тему     Написать ответ в эту тему

Страницы: 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