# enum-ActiveDirectoryRights.ps1
# Enum sample using PowerShell
# Thomas Lee - tfl@psp.co.uk
# Get enums
$enums=[enum]::GetValues([System.DirectoryServices.ActiveDirectoryRights])
# Display values
"System.DirectoryServices.ActiveDirectoryRights enum has {0} possible values:" -f $enums.count
$i=1
$enums | %{"Value {0}: {1}" -f $i,$_.tostring();$i++}
""
# Checking against an enum value
$ToCheck = "Delete"
if ($ToCheck -eq [System.DirectoryServices.ActiveDirectoryRights]::Delete)
{"`$ToCheck is Delete"}
else
{"`$ToCheck is NOT Delete"}
This script produces the following output:
PS C:\Documents and Settings\LeeT>
D:\foo\enum-ActiveDirectoryRights.ps1
System.DirectoryServices.ActiveDirectoryRights enum has 19 possible values:
Value 1: CreateChild
Value 2: DeleteChild
Value 3: ListChildren
Value 4: Self
Value 5: ReadProperty
Value 6: WriteProperty
Value 7: DeleteTree
Value 8: ListObject
Value 9: ExtendedRight
Value 10: Delete
Value 11: ReadControl
Value 12: GenericExecute
Value 13: GenericWrite
Value 14: GenericRead
Value 15: WriteDacl
Value 16: WriteOwner
Value 17: GenericAll
Value 18: Synchronize
Value 19: AccessSystemSecurity
$ToCheck is Delete