• Products
    • View all products
    • Free trials
  • Solutions
    • All Solutions
    • All Integrations
  • Resources
    • All Resources
    • Learning Hub
  • Trials
  • Support
    • Support Home
    • By Product
      • All Products
      • Active Roles
      • Authentication Services
      • Cloud Access Manager
      • Defender
      • Identity Manager
      • Password Manager
      • Safeguard
      • Starling Identity Analytics & Risk Intelligence
      • Starling Two-Factor Authentication
      • TPAM Appliance
    • Contact Support
      • Overview
      • Customer Service
      • Licensing Assistance
      • Renewal Assistance
      • Technical Support
    • Download Software
    • Knowledge Base
    • My Account
      • My Products
      • My Service Requests
      • My Licenses
      • My Groups
      • My Profile
    • Policies & Procedures
    • Professional Services
    • Technical Documentation
    • One Identity University
    • User Forums
    • Video Tutorials
  • Partners
    • Overview
    • Partner Circle Log In
    • Become a Partner
    • Find a Partner
    • Partner Community
  • Communities
    • Home
    • Blogs
      • Blogs A to Z
      • One Identity Community
      • AD Account Lifecycle Management
      • Cloud
      • Identity Governance & Administration
      • Privileged Access Management
      • syslog-ng Community
    • Forums
      • All Product Forums
      • Active Roles
      • Identity Manager
      • Password Manager
      • Safeguard
      • Unix Access Management
    • Social Networks
      • Facebook
      • LinkedIn
      • Twitter
      • YouTube
One Identity Community
One Identity Community
  • Site
  • User
  • Site
  • Search
  • User
Active Roles Community
Active Roles Community
Wiki Get effective policy info list
  • Forum
  • Ideas
  • Wiki
  • More
  • Cancel
  • New
  • -Active Roles Script Center
    • +Active Roles Script Policy Best Practices
    • Active Roles SDK
    • +C#
    • +JavaScript
    • +PowerShell
    • -VBScript
      • VBScript Library source code
      • -VBScript samples
        • A Managed Unit with users which have not logged on for last 90 days
        • Adjust the case of usernames to title case (first letter of each part of the name)
        • Advanced group creation/provision
        • Advanced shared folder creation
        • Bulk policy incompliance fixing
        • Check unique value of an attribute
        • +Computer management
        • +Exchange management
        • Function that converts regular date into integer8 format
        • Get effective policy info list
        • +Group management
        • How to find a request source in script policy
        • How to send emails based on scripts policy parameters and Virtual Attribute values
        • +Permissions Management
        • Policy incompliance reporting & fixing for specified policy
        • Populate values from a SQL database to an AD Attribute
        • Prevent copying an attribute on user copy
        • Prohibite a permission propagation to AD
        • Prohibite an AD native security editing
        • Read large integer date attributes and display them in date and time readable format
        • Read XML Node text or attribute value
        • Read XML Node with Children into DictionaryObject
        • Standalone script that requests built-in password generation policy
        • +User management
        • Validate moving operations
        • +VBScript: Approval

You are currently reviewing an older revision of this page.

  • History View current version

Get effective policy info list

Back to VBScript samples

DESCRIPTION

Get effective policy info list


Note This code may use functions from the ARS Script Policy Best Practices. Please, follow the link to obtain instructions and code for those functions.


SCRIPT

'*********************************************************************************

' THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,

' EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED

' WARRANTIES OF MERCHANTBILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.

'

' IF YOU WANT THIS FUNCTIONALITY TO BE CONDITIONALLY SUPPORTED,

' PLEASE CONTACT QUEST PROFESSIONAL SERVICES.

'*********************************************************************************

'

' This code is published on the ActiveRoles Script Center:

' http://communities.quest.com/docs/DOC-9991

'

' This code may use functions from the ARS Script Policy Best Practices:

' http://communities.quest.com/docs/DOC-10016

'

' Please, follow the link to obtain instructions and code for those functions.

'*********************************************************************************

Option Explicit

'******************************************************************************

'*** ARS Constants

Const EDS_CONTROL_FULL_EFFECTIVE_POLICY_INFO = 31

'******************************************************************************

'*** Multi-page MsgBox

'******************************************************************************

Function MultiMsgBox(ByVal strOut)

Dim i, n, strPart

Do While (strOut <> "")

n = 0

For i = 1 To 21

n = InStr(n+1, strOut, vbCrLf)

If (n <= 0) Then

n = Len(strOut)+1

Exit For

End If

Next

strPart = Left(strOut, n-1)

strOut = Mid(strOut, n+2)

MsgBox (strPart)

Loop

End Function

'******************************************************************************

'***

'*** param: objObject - interesting object

'*** boolIncludeServerSideGeneration - include server-side

'*** generated values in policy info list

'*** arrstrInterestingAttributes - array of strings with

'*** LDAP names of attribute -or- Empty for all attributes

'******************************************************************************

Function MsgPolicyInfoList(ByRef objObject, ByVal boolIncludeServerSideGeneration, ByVal arrstrInterestingAttributes)

Dim strOut, strOut2, boolFlag, strInterestingAttribute

Dim objPolicyInfoList, objPolicyInfo, strValue

strOut = "Administrative Policy:" & vbCrLf & "-------------------------------" & vbCrLf

'-----------------------------------------

If (boolIncludeServerSideGeneration) Then

objObject.Control(EDS_CONTROL_FULL_EFFECTIVE_POLICY_INFO) = arrstrInterestingAttributes

End If

'-----------------------------------------

Set objPolicyInfoList = objObject.GetPolicyInfoList

For Each objPolicyInfo in objPolicyInfoList

boolFlag = False

If (IsEmpty(arrstrInterestingAttributes)) Then

boolFlag = True

Else

For Each strInterestingAttribute In arrstrInterestingAttributes

If (LCase(strInterestingAttribute) = LCase(objPolicyInfo.Name)) Then boolFlag = True

Next

End If

If (boolFlag) Then

On Error Resume Next

strOut = strOut & "Property = '" & objPolicyInfo.Name & "'" & vbCrLf

On Error Goto 0

On Error Resume Next

strOut = strOut & " autogenerated = " & objPolicyInfo.AutoGenerated & vbCrLf

On Error Goto 0

On Error Resume Next

strOut = strOut & " case adjusting = " & objPolicyInfo.CaseAdjusting & vbCrLf

On Error Goto 0

On Error Resume Next

strOut = strOut & " maximum length = " & objPolicyInfo.MaximumLength & vbCrLf

On Error Goto 0

On Error Resume Next

strOut = strOut & " generated value = " & objPolicyInfo.GeneratedValue & vbCrLf

On Error Goto 0

On Error Resume Next

strOut = strOut & " server-side generated = " & objPolicyInfo.ServerSideGenerated & vbCrLf

On Error Goto 0

On Error Resume Next

strOut = strOut & " value required = " & objPolicyInfo.ValueRequired & vbCrLf

On Error Goto 0

On Error Resume Next

strOut2 = ""

For Each strValue in objPolicyInfo.PossibleValues

strOut2 = strOut2 & " '" & strValue & "'" & vbCrLf

Next

If (strOut2 <> "") Then strOut = strOut & " possible values:" & vbCrLf & strOut2

On Error Goto 0

On Error Resume Next

strOut = strOut & " admin note = '" & objPolicyInfo.AdminNote & "'" & vbCrLf

On Error Goto 0

strOut = strOut & "--------------------" & vbCrLf

End If

Next

MultiMsgBox (strOut)

End Function

'******************************************************************************

'***

'******************************************************************************

Dim objOU, objUser

'--- Prepare to user creation in specified OU

Set objOU = GetObject("EDMS://OU=Sales,DC=foo,DC=com")

Set objUser = objOU.Create("user", "CN=John Smith")

'--- Put some value to creating user

objUser.Put "givenName", "John"

objUser.Put "sn", "Smith"

'--- Get policy info list for creating user

Call MsgPolicyInfoList(objUser, True, Array("displayName","sAMAccountName"))

'--- Or get policy info list for existing user

'Set objUser = GetObject("EDMS://CN=John Smith,OU=Sales,DC=foo,DC=com")

'Call MsgPolicyInfoList(objUser, True, Array("displayName","sAMAccountName"))

MsgBox "Done!"

'***** END OF CODE ***************************************************************

COMPATIBILITY

Script compatible with the following version(s): <Not specified>

Back to VBScript samples

  • Company
    • About Us
    • Buy
    • Careers
    • Contact Us
    • News
  • Resources
    • Blogs
    • Customer Stories
    • Documents
    • Events
    • Videos
  • Support
    • Professional Services
    • Renew Support
    • Technical Support
    • One Identity University
    • Support Service
  • Social Networks
    • Facebook
    • Instagram
    • LinkedIn
    • Twitter
    • YouTube
  • © 2025 One Identity LLC. ALL RIGHTS RESERVED.
  • Legal
  • Terms of Use
  • Privacy
  • Community Feedback & Support
  • Cookie Preference Center