Kent,

I've been hacking around with ADsSecurity and came-up with this script. It's basically a rip from what little i've found on the net ...

This script will enumerate all access control entries ($ace) in a Registry ACL ($dacl) :

code:

break on


$KEY = "HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT" ; change this key to whatever


$RIGHT_REG_READ = &20019
$RIGHT_REG_FULL = &F003F


$sec = createobject("ADsSecurity")
if $sec
$sd = $sec.GetSecurityDescriptor("RGY://\$key" )
if $sd
?"$key"?
$dacl = $sd.DiscretionaryAcl
if $dacl
for each $ace in $dacl
? $ace.trustee
select
case $ace.accessmask = $RIGHT_REG_READ
" (read)"
case $ace.accessmask = $RIGHT_REG_FULL
" (full control)"
case 1
" (special)"
endselect
next
$dacl=0
endif
$sd=0
endif
$sec=0
else
?"ADsSecurity not installed on this machine"
endif


exit


Just an fyi - never now what might come in handy one day ?

This script just scratches the surface of what ADsSecurity's all about (obviously). In terms of registry security - there's alot more granularity one can get into (query/set/delete/etc). But I imagine that ADsSecurity's file/folder permissioning feature is the big seller - eh ?

-Shawn

[ 10 August 2001: Message edited by: Shawn ]