Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Старожил


Сообщения: 392
Благодарности: 6

Профиль | Сайт | Отправить PM | Цитировать


вот скрипт 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"
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:17, 24-11-2008 | #9