Telepuzik, Group Policy Infrastructure, Registry, Scripts - везде success. Похоже, что если зайти под другим пользователем, юзер всё же становится админом, т.к. делать можно всё. Однако диски не мапятся и по RDP проблемы.
ko4evneg, Ошибок нет. Скрипт ниже.
Код:

' Позволяет подключать различные папки, в зависимости от групп безопасности,
' к которым принадлежит пользователь. Настройка параметров - отредактировать
' элеметы массива arrShares: "ИмяГруппы", "БукваДиска", "ПутьКОбщейПапке".
' Если имя группы "", то ресурс подключается всем пользователям.
'=========================================================================
' Допустимо использовать русские буквы и пробелы в элементах массива.
' X - Общая папка
'
arrShares = Array ("", "X:","\\W2k3R2\Folder$\Share")
'-------------------------------------------------------------------------
Set objWshShell = WScript.CreateObject("WScript.Shell")
Set objNetwork = WScript.CreateObject("Wscript.Network")
Set objSysInfo = WScript.CreateObject("ADSystemInfo")
'-------------------------------------------------------------------------
strUserDN = objSysInfo.userName
Set objUser = GetObject("LDAP://" & strUserDN)
'-------------------------------------------------------------------------
lngSharesCounter = UBound(arrShares)
If (((UBound(arrShares) + 1) / 3) = Fix ((UBound(arrShares) + 1) / 3)) And lngSharesCounter > 0 Then
'Количество элементов массива д.б. кратно 3
For lngI = 0 To lngSharesCounter Step 3
strShareGroup = arrShares (lngI)
strShareLetter = arrShares (lngI + 1)
strSharePath = arrShares (lngI + 2)
If strShareGroup = "" Then
fMap = True
Else
fMap = IsMember (strShareGroup)
End If
If fMap Then
On Error Resume Next
objNetwork.MapNetworkDrive strShareLetter, strSharePath
End If
Next
Else
MsgBox "Ошибки в описании параметров массива в скрипте 'mapdrives.vbs'. Пожалуйста сообщите об этой ошибке администратору сети."
End If
'-------------------------------------------------------------------------
Function IsMember(strGroup)
' Function to test one user for group membership.
' objUser is the user object with global scope.
' strGroup is the NT Name of the group to test.
' objGroupList is a dictionary object with global scope.
' Returns True if the user is a member of the group.
Dim objGroup
If IsEmpty(objGroupList) Then
Set objGroupList = CreateObject("Scripting.Dictionary")
objGroupList.CompareMode = vbTextCompare
For Each objGroup In objUser.Groups
objGroupList(objGroup.sAMAccountName) = True
Next
End If
IsMember = objGroupList.Exists(strGroup)
End Function
'-------------------------------------------------------------------------