[решено] AD подключение дисков
-
forsem
[решено] AD подключение дисков
Всем привет
Имеется следующая проблемка. В моем распорежении только один cmd файл для отработки скриптов.
У меня 7 OU, и для каждого надо подключить свои диски, как можно одним батником разделить подключение
дисков для семи разных регионов?
Имеется следующая проблемка. В моем распорежении только один cmd файл для отработки скриптов.
У меня 7 OU, и для каждого надо подключить свои диски, как можно одним батником разделить подключение
дисков для семи разных регионов?
-
Delirium
Re: [решено] AD подключение дисков
Цитата forsem:
У меня 7 UO
как они разделяются в структуре AD?
Сетевой диск подключается пользователям при входе? Я делал так: в cmd файле сервера писал:
if exist %homeshare%\%homepath%\script.bat start script.bat
Таким образом, при старте будет проверяться у пользователя, есть ли у него в домашней папке файл script.bat, и, если он есть, запускает его. Ну а в этом файле уже для каждого юзера запускаются свои задачи.
У меня 7 UO
[решено] AD подключение дисков
как они разделяются в структуре AD?
Сетевой диск подключается пользователям при входе? Я делал так: в cmd файле сервера писал:
if exist %homeshare%\%homepath%\script.bat start script.bat
Таким образом, при старте будет проверяться у пользователя, есть ли у него в домашней папке файл script.bat, и, если он есть, запускает его. Ну а в этом файле уже для каждого юзера запускаются свои задачи.
-
forsem
Re: [решено] AD подключение дисков
разделяеть так.
UO
1
2
3
4
Диск подключается при входе через батник.
Не выход, потому что много пользователей Нужна логика типа. if UO user = 1 then bla bla и т.д.
UO
1
2
3
4
Диск подключается при входе через батник.
Не выход, потому что много пользователей Нужна логика типа. if UO user = 1 then bla bla и т.д.
-
forsem
-
monkkey
Re: [решено] AD подключение дисков
Нет такой возможности. Если мог бы . не спрашивал
есть только один батник для всех пользователей
Возможно есть решения силами VBS но кто подскажет как получить данный параметр пользователя
есть только один батник для всех пользователейВозможно есть решения силами VBS но кто подскажет как получить данный параметр пользователя
-
forsem
-
forsem
Re: [решено] AD подключение дисков
Цитата forsem:
В моем распорежении только один cmd файл для отработки скриптов
Прочитали. В чем проблема непонятно. Написать три строчки семь раз, изменяя одну в каждом случае? И прицепить на каждый OU по одному батнику? Вы бы проблему яснее объяснили. И людям понятнее, и Вам быстрее ответят.
В CMD можно включить элементы LDAP-запроса. Но это муторно, долго и нестабильно.
В моем распорежении только один cmd файл для отработки скриптов
[решено] AD подключение дисков
Прочитали. В чем проблема непонятно. Написать три строчки семь раз, изменяя одну в каждом случае? И прицепить на каждый OU по одному батнику? Вы бы проблему яснее объяснили. И людям понятнее, и Вам быстрее ответят.
В CMD можно включить элементы LDAP-запроса. Но это муторно, долго и нестабильно.
-
babki
Re: [решено] AD подключение дисков
вот скрипт 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"
Подключение принтера
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 подключение дисков
нашел утилиту ifmember самый . оказался самый простой способ . всем спасибо