Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - ASP и VBScript

Страница: 1 |

 

  Вопрос: Доступ к папке Добавлено: 14.02.09 14:05  

Автор вопроса:  rashidmk
Server Windows 2003 R2. Одноранговая сеть. Есть конкретная папка. Kak на VBScripte удалять все локальные группы и юзера имеющие доступ к этой папке и дать доступ к папке конкретному юзеру или локальной группе ?

Ответить

  Ответы Всего ответов: 2  

Номер ответа: 1
Автор ответа:
 VerhoLom



Вопросов: 20
Ответов: 285
 Профиль | | #1 Добавлено: 15.02.09 15:39
http://osp.ru/win2000/2008/07/5679214/
http://osp.ru/win2000/2009/01/5888922/
http://osp.ru/win2000/2009/01/5892959/

вообще походите по сайту - там давно когда-то был пример сценария для Вин2000. Я не думаю, что в Вин2003 эта сфера программирования притерпела настолько сильные изменения

Ответить

Номер ответа: 2
Автор ответа:
 alroy



Вопросов: 3
Ответов: 28
 Профиль | | #2 Добавлено: 18.02.09 16:01
Ниже привожу логон скрипт в котором в зависимости от принадлежности к конкретной группе назначается сетевой диск причем во всех отдела диск будет с одинаковой буквой а папки на сервере у каждого отдела свои и подключаются при входе в домен

  1.  
  2. Option Explicit  
  3. 'On Error Resume Next  
  4.  
  5. Dim WshShell, WshNetwork  
  6. Dim strUserDN, objSysInfo, GroupObj, UserGroups, UserObj
  7.  
  8. UserGroups=""    
  9.  
  10.  
  11. Set WshShell = WScript.CreateObject("WScript.Shell")  
  12. Set objSysInfo = CreateObject("ADSystemInfo")  
  13.  
  14. strUserDN = objSysInfo.userName  
  15.  
  16. Set UserObj = GetObject("LDAP://" & strUserDN)  
  17.  
  18. For Each GroupObj In UserObj.Groups    
  19.         UserGroups=UserGroups & "[" & GroupObj.Name & "]"    
  20. Next    
  21.  
  22. 'MsgBox  strUserDN          "Member of "& UserGroups    
  23.  
  24. if InGroup("Отдел 1") Then    
  25.         MapDrv "R:", "\\srv02\xxxxx" ' Папка для данного  отдела
  26. end if  
  27.  
  28. if InGroup("Отдел кадров") Then    
  29.         MapDrv "R:", "\\srv02\xxxxxx" ' Папка для данного  отдела
  30. end if  
  31.  
  32. If InGroup("Торговый отдел") Then    
  33.         MapDrv "R:", "\\srv02\xxxxxxxx" ' Папка для данного  отдела
  34. end if  
  35.  
  36. If InGroup("Отдел 3") then    
  37.         MapDrv "R:", "\\srv02\xxxxxxxxxxxxxx" ' Папка для данного  отдела
  38. end if  
  39.  
  40. If InGroup("Podpiska") then    
  41.         MapDrv "P:", "\\srv02\aaaaaaa" ' Папка для данного  отдела
  42.         MapDrv "R:", "\\srv02\zzzzzzzzzz" ' Папка для данного  отдела
  43. end if  
  44.  
  45.  
  46. If InGroup("Бухгалтерия") then    
  47.         MapDrv "R:", "\\srv02\xxxxxxx"
  48. end if  
  49.  
  50.  
  51. MapDrv "S:", "\\srv02\all" ' общий диск
  52.  
  53.  
  54. '==========================================================================  
  55. '  
  56. ' Function MapDrv(DrvLet, UNCPath)  
  57. '  
  58. ' DrvLet -  Буква устройства  
  59. ' UNCPath - Сетевой путь  
  60. '  
  61. ' COMMENT: Подключение сетевых дисков с записью ошибок в EventLog  
  62. '  
  63. '==========================================================================  
  64.  
  65.  
  66. Function MapDrv(DrvLet, UNCPath)  
  67.  
  68.     Dim WshNetwork,objFSO          ' Object variable  
  69.     Dim Msg  
  70.  
  71.     Set WshNetwork = WScript.CreateObject("WScript.Network")  
  72.     Set objFSO = CreateObject("Scripting.FileSystemObject")
  73.  
  74.     On Error Resume Next  
  75.  
  76.     If objFSO.DriveExists(DrvLet) Then  
  77.         WshNetwork.RemoveNetworkDrive DrvLet, true, true
  78.     End If
  79.  
  80.     WshNetwork.MapNetworkDrive DrvLet, UNCPath  
  81.      
  82.     Select Case Err.Number  
  83.         Case 0            ' No error  
  84.  
  85.         Case -2147023694  
  86.             WshNetwork.RemoveNetworkDrive DrvLet, true, true
  87.             WshNetwork.MapNetworkDrive DrvLet, UNCPath  
  88.                
  89.         Case -2147024811  
  90.             WshNetwork.RemoveNetworkDrive DrvLet, true, true  
  91.             WshNetwork.MapNetworkDrive DrvLet, UNCPath  
  92.  
  93.         Case Else  
  94.  
  95.             Msg = "Mapping network drive error: " & _  
  96.                    CStr(Err.Number) & " 0x" & Hex(Err.Number) & vbCrLf & _  
  97.                   "Error description: " & Err.Description & vbCrLf  
  98.             Msg = Msg & "Domain: " & WshNetwork.UserDomain & vbCrLf  
  99.             Msg = Msg & "Computer Name: " & WshNetwork.ComputerName & vbCrLf  
  100.             Msg = Msg & "User Name: " & WshNetwork.UserName & vbCrLf & vbCrLf  
  101.             Msg = Msg & "Device name: " & DrvLet & vbCrLf  
  102.             Msg = Msg & "Map path: " & UNCPath  
  103.  
  104.             WshShell.LogEvent 1, Msg, "\\srv01"
  105.     End Select  
  106. End Function
  107.  
  108.  
  109. '==========================================================================  
  110. '  
  111. ' Function InGroup(strGroup)
  112. '  
  113. ' strGroup - группа, принадлежность к которой проверяем
  114. '  
  115. ' COMMENT: проверка принадлежности пользователя к группе
  116. '  
  117. '==========================================================================  
  118.  
  119. Function InGroup(strGroup)    
  120.         InGroup=False    
  121.         If InStr(UserGroups,"[CN=" & strGroup & "]") Then    
  122.                 InGroup=True    
  123.         End If    
  124. End Function

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам