AD подключение дисков
Всем привет
Имеется следующая проблемка. В моем распорежении только один cmd файл для отработки скриптов. У меня 7 OU, и для каждого надо подключить свои диски, как можно одним батником разделить подключение дисков для семи разных регионов? |
Цитата:
Сетевой диск подключается пользователям при входе? Я делал так: в cmd файле сервера писал: if exist %homeshare%\%homepath%\script.bat start script.bat Таким образом, при старте будет проверяться у пользователя, есть ли у него в домашней папке файл script.bat, и, если он есть, запускает его. Ну а в этом файле уже для каждого юзера запускаются свои задачи. |
разделяеть так.
UO 1 2 3 4 Диск подключается при входе через батник. Не выход, потому что много пользователей Нужна логика типа. if UO user = 1 then bla bla и т.д. |
Сложно сделать из одного батника семь? По одному на OU?
|
Нет такой возможности. Если мог бы . не спрашивал :) есть только один батник для всех пользователей
Возможно есть решения силами VBS но кто подскажет как получить данный параметр пользователя |
Как вариант можно диски цеплять не черз батник а через политику.
|
читаем первый пост
|
Цитата:
В CMD можно включить элементы LDAP-запроса. Но это муторно, долго и нестабильно. |
вот скрипт VBS, может поможет...
Подключение принтера 2 июня 2008 Скрипт (vbs) мапит принтера на основе членства в соответствующей группе. Один недостаток - если пользователь входит в несколько групп, принтеры для которых делаются дефолтными, то в результате дефолтным будет тот принтер, кот. мапится в скрипте последним. Dim oNet Dim sPrintServer 'On Error Resume Next Set oNet = CreateObject("WScript.Network") ' default print server sPrintserver = "DC1" If IsMember("Printer1") then oNet.AddWindowsPrinterConnection "\\" & sPrintServer & "\Printer1" End If If IsMember("Printer2") then oNet.AddWindowsPrinterConnection "\\" & sPrintServer & "\Printer2" End If If IsMember("Printer3") then oNet.AddWindowsPrinterConnection "\\" & sPrintServer & "\Printer3" oNet.SetDefaultPrinter "\\" & sPrintServer & "\Printer3" End If If IsMember("Printer4") then oNet.AddWindowsPrinterConnection "\\" & sPrintServer & "\Printer4" oNet.SetDefaultPrinter "\\" & sPrintServer & "\Printer4" End If ' FUNCTION ============ IsMEmber ===================================================== Function IsMember(sGroup) ' IsMember ' Test to see if user if member of specified group ' sGroup Name of group ' Returns True if user is group member Dim sAdsPath, oUser, oGroup ' ================= Populate dictionary if not yet created ======================= If IsEmpty(g_oGroupDict) Then Set g_oGroupDict = CreateObject("Scripting.Dictionary") g_oGroupDict.CompareMode = vbTextCompare sAdsPath = oNet.UserDomain & "/" & oNet.UserName On Error Resume Next Set oUser = GetObject("WinNT://" & sAdsPath & ",user") If Err.Number then IsMember = FALSE Exit Function End IF On Error Goto 0 For Each oGroup In oUser.Groups g_oGroupDict.Add oGroup.Name, "-" Next Set oUser = Nothing End If IsMember = CBool(g_oGroupDict.Exists(sGroup)) End Function подключение принтеров заменить на подключение дисков типа et WshNetwork = WScript.CreateObject("WScript.Network") Set oDrives = WshNetwork.EnumNetworkDrives On Error Resume Next For i = 0 to oDrives.Count - 1 Step 2 WshNetwork.RemoveNetworkDrive oDrives.Item(i),true Next On Error Goto 0 WshNetwork.MapNetworkDrive "R:", "\\SERVER1\share" WshNetwork.MapNetworkDrive "S:", "\\SERVER\obm" |
нашел утилиту ifmember самый . оказался самый простой способ . всем спасибо
|
Время: 05:38. |
Время: 05:38.
© OSzone.net 2001-