我可以使用
等代码获取Active Directory对象的访问规则集合ActiveDirectorySecurity ads = directoryEntry.ObjectSecurity;
AuthorizationRuleCollection arc = ads.GetAccessRules(true, true, typeof(NTAccount));
foreach (ActiveDirectoryAccessRule adar in arc)
{
// get rule properties
}
但是,我想知道每条规则是否也属于ActiveDirectoryAccessRule子类型之一,例如PropertyAccessRule。
这可能吗?我没有看到提供此信息的类属性。
答案 0 :(得分:1)
您可以使用is
来检查类型 - 例如:
if (adar is System.DirectoryServices.PropertyAccessRule )
{
// do whatever you need to do if it is a PropertyAccessRule...
}
您可以使用以下内容执行此操作,因为所有内容都来自ActiveDirectoryAccessRule
:
System.DirectoryServices.CreateChildAccessRule
System.DirectoryServices.DeleteChildAccessRule
System.DirectoryServices.DeleteTreeAccessRule
System.DirectoryServices.ExtendedRightAccessRule
System.DirectoryServices.ListChildrenAccessRule
System.DirectoryServices.PropertyAccessRule
System.DirectoryServices.PropertySetAccessRule