У меня есть AD, размещенный на 2003R2 и 2008R2, я хотел бы проверить членство для компьютера домена (например, compA), когда пользователь входит в систему с этого компьютера (например, compA) и выполняет определенные операции внутри сценария. Я думаю, что WMI, вероятно, может быть полезен, но я не могу найти правильный запрос для получения списка групп соответствующей учетной записи компьютера. Любая идея?
Вот сценарий, который я изменил из этот сайт. Я не тестировал код, но он выглядит нормально.
Option Explicit
Dim objNetwork, strDomain, strComputer, objComputer, objGroup, strGroupMemberships
Dim arrGroupMemberships
' Get the domain and username from the WScript.Network object
Set objNetwork = CreateObject("WScript.Network")
strDomain = objNetwork.UserDomain
strComputer = objNetwork.ComputerName
' Instanciate the user object from the data above
Set objComputer = GetObject("WinNT://" & strDomain & "/" & strComputer)
' Run through the users groups and put them in the string
For Each objGroup In objComputer.Groups
strGroupMemberships = strGroupMemberships & objGroup.Name & ","
Next
arrGroupMemberships = Split(strGroupMemberships, ",")
' Loop through array to get groups that this computer is a member of
Это должно помочь вам двигаться в правильном направлении, если вы еще не решили эту проблему.
Get-WmiObject win32_ComputerSystem | Format-List DomainRole
0"Stand Alone Workstation"
1"Member Workstation"
2"Stand Alone Server"
3"Member Server"
4"Back-up Domain Controller"
5"Primary Domain Controller"