BEGIN COMMENT
? Создание объектов GPM и GPMConstants, затем подключение к домену.
END COMMENT
Set GPMC = CreateObject(«GPMgmt.GPM»)
Set Constants = GPMC.GetConstants()
? BEGIN CALLOUT A
A
Set GPMCDomain = GPMC.GetDomain(«mycompany.net», «», Constants.UseAnyDC)
? END CALLOUT A

? BEGIN CALLOUT B
BEGIN COMMENT
B
? Создание объекта для GPO, для которого требуется получить список разрешений.
END COMMENT
Set MyGPO = GPMCDomain.GetGPO(«{31B2F340-016D-11D2-945F-00C04FB984F9}»)

BEGIN COMMENT
? Получить разрешения.
END COMMENT
Set GPOSec = MyGPO.GetSecurityInfo()
? END CALLOUT B

For indx=1 to GPOSec.Count
BEGIN COMMENT
	? Назначить ACE переменной Ace.
END COMMENT
	Set Ace = GPOSec.Item(indx)
BEGIN COMMENT
C
	? Найти имя пользователя или группы для ACE.
END COMMENT
	Set UsrorGrp= Ace.Trustee
	PrincipalName=UsrorGrp.TrusteeName
? BEGIN CALLOUT C
BEGIN COMMENT
	? Определить, какие разрешения имеет пользователь или группа.
END COMMENT
	Select Case Ace.Permission
		Case Constants.permGPOApply
			Perm=»Чтение и применение Group Policy»
		Case Constants.permGPOEdit
			Perm=»Редактирование Group Policy»
		Case Constants.permGPOEditSecurityAndDelete
			Perm=»Редактирование Group Policy,
 изменение уровня безопасности и удаление Group Policy»
		Case Constants.permGPORead
			Perm=»Чтение Group Policy»
		Case Constants.permGPOCustom
			Perm=»Специальные разрешения»
	End Select
? END CALLOUT C
	WScript.Echo «Пользователь или группа: « & PrincipalName & _
		«имеет следующие разрешения: « & Perm
Next

Поделитесь материалом с коллегами и друзьями