Добрый день.
Делаю некий logon скрипт, столкнулся с необходимостью отсеивать юзеров по группам их принадлежностей... подскажите, как реализовать....
То есть смысл такой...
В зависимости от группы, в которой пользователь состоит, будут выполняться разные сценарии входа...
За ранее спасибо.
CMD/BAT - Распознование группы пользователя...
-
DarckSol
Re: CMD/BAT - Распознование группы пользователя...
1) Проще отфильтровать политику по Security Filter

Но обязательно прочитать, про нововедение в работе GPO -
2) whoami /groups - покажет к каким группам пренадлежит пользователь ( с помощью find/findstr производить поиск по группам и выполнение в for)
Но обязательно прочитать, про нововедение в работе GPO -
https://habrahabr.ru/post/304202/
2) whoami /groups - покажет к каким группам пренадлежит пользователь ( с помощью find/findstr производить поиск по группам и выполнение в for)
-
Nand
Re: CMD/BAT - Распознование группы пользователя...
Проверка членства в группе (vbs)
Function CheckGroup (objGroups)
Dim objGroup, objMember
If Member = True Then
Exit Function
End If
On Error Resume Next
Set objGroup = GetObject("LDAP://CN=" & objGroups &",ou=Groups,dc=nameDC,dc=nameDC2")
objGroup.GetInfo
If Err.Number then
Member = False
Exit Function
End If
If objGroup.IsMember(objUser.ADsPath) Then
Member = True
Exit Function
End If
For Each objMember In objGroup.Members
If (LCase(objMember.Class) = "group") Then
objGroups = Replace(objMember.name,"CN=","")
CheckGroup objGroups
End If
Next
End Function
Вызывать:
Member = false
CheckGroup("need Group")
If Member then
call objWSH.Run....
filetxt.WriteLine.....
Else
filetxt.WriteLine....
End If
Function CheckGroup (objGroups)
Dim objGroup, objMember
If Member = True Then
Exit Function
End If
On Error Resume Next
Set objGroup = GetObject("LDAP://CN=" & objGroups &",ou=Groups,dc=nameDC,dc=nameDC2")
objGroup.GetInfo
If Err.Number then
Member = False
Exit Function
End If
If objGroup.IsMember(objUser.ADsPath) Then
Member = True
Exit Function
End If
For Each objMember In objGroup.Members
If (LCase(objMember.Class) = "group") Then
objGroups = Replace(objMember.name,"CN=","")
CheckGroup objGroups
End If
Next
End Function
Вызывать:
Member = false
CheckGroup("need Group")
If Member then
call objWSH.Run....
filetxt.WriteLine.....
Else
filetxt.WriteLine....
End If