[решено] AD подключение дисков

Ответить
Аватара пользователя
forsem

[решено] AD подключение дисков

Сообщение forsem »

Всем привет

Имеется следующая проблемка. В моем распорежении только один cmd файл для отработки скриптов.

У меня 7 OU, и для каждого надо подключить свои диски, как можно одним батником разделить подключение

дисков для семи разных регионов?
Аватара пользователя
Delirium

Re: [решено] AD подключение дисков

Сообщение Delirium »

Цитата forsem:



У меня 7 UO
[решено] AD подключение дисков




как они разделяются в структуре AD?

Сетевой диск подключается пользователям при входе? Я делал так: в cmd файле сервера писал:

if exist %homeshare%\%homepath%\script.bat start script.bat

Таким образом, при старте будет проверяться у пользователя, есть ли у него в домашней папке файл script.bat, и, если он есть, запускает его. Ну а в этом файле уже для каждого юзера запускаются свои задачи.
Аватара пользователя
forsem

Re: [решено] AD подключение дисков

Сообщение forsem »

разделяеть так.

UO

1

2

3

4

Диск подключается при входе через батник.

Не выход, потому что много пользователей Нужна логика типа. if UO user = 1 then bla bla и т.д.
Аватара пользователя
forsem

Re: [решено] AD подключение дисков

Сообщение forsem »

Сложно сделать из одного батника семь? По одному на OU?
Аватара пользователя
monkkey

Re: [решено] AD подключение дисков

Сообщение monkkey »

Нет такой возможности. Если мог бы . не спрашивал Изображение есть только один батник для всех пользователей



Возможно есть решения силами VBS но кто подскажет как получить данный параметр пользователя
Аватара пользователя
forsem

Re: [решено] AD подключение дисков

Сообщение forsem »

Как вариант можно диски цеплять не черз батник а через политику.
Аватара пользователя
forsem

Re: [решено] AD подключение дисков

Сообщение forsem »

Цитата forsem:



В моем распорежении только один cmd файл для отработки скриптов
[решено] AD подключение дисков




Прочитали. В чем проблема непонятно. Написать три строчки семь раз, изменяя одну в каждом случае? И прицепить на каждый OU по одному батнику? Вы бы проблему яснее объяснили. И людям понятнее, и Вам быстрее ответят.

В CMD можно включить элементы LDAP-запроса. Но это муторно, долго и нестабильно.
Аватара пользователя
babki

Re: [решено] AD подключение дисков

Сообщение babki »

вот скрипт 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"
Аватара пользователя
forsem

Re: [решено] AD подключение дисков

Сообщение forsem »

нашел утилиту ifmember самый . оказался самый простой способ . всем спасибо
Ответить

Вернуться в «Microsoft Windows NT/2000/2003»