# $adsPath is the path to a user object my $object = Win32::OLE->GetObject($adsPath) or die "..."; my $schemaObj = Win32::OLE->GetObject($object->{Schema}) or die "..."; my @mandatoryAttributes = $schemaObj->{MandatoryProperties}; my @optionalAttributes = $schemaObj->{OptionalProperties};