我正在尝试通过ActiveDirectory递归地获取用户的所有直接下属。因此,给定一个用户,我最终会得到一个所有用户的列表,这些用户有这个人作为经理,或者有一个人作为经理,有一个人作为经理......最终有输入用户作为经理。我目前的尝试很慢:privatestaticCollectionGetDirectReportsInternal(stringuserDN,outlongelapsedTime){Collectionresult=newCollection();Collectionreports=newCollection();Stopwatchsw=newStopwatch()
任何人都可以为初学者推荐一些使用C#语言访问ActiveDirectory的教程吗?谢谢。 最佳答案 看看这个CodeProjectarticle还有这个MSDNcodesamplecollection.API实际上非常简单——困难的部分是在目录中找到所需的信息。根据我(有限)的经验,标准ActiveDirectory的(命名)架构并不一致。ActiveDirectoryExplorer在这一点上可能会很有帮助。 关于c#-将C#与ActiveDirectory教程结合使用,我们在Sta
我在网站上搜索了信息,发现了这个:ASP.NETC#ActiveDirectory-Seehowlongbeforeauser'spasswordexpires这解释了如何根据域策略获取密码何时过期的值。我的问题是:如果用户的OU组策略具有不同的MaxPasswordAge值,覆盖域组策略中指定的值怎么办?如何以编程方式获取OU的组策略对象?编辑:为了让这个问题更清楚一点,我添加了这个编辑。我所追求的是能够判断用户密码何时过期。据我了解,日期值可以受域本地策略或组对象策略的约束。我有一个将Linq转换为Ldap查询的Linq2DirectoryServiceProvider。因此,获取
下面的代码让我获得了组中的用户,但它被返回了“CN=johnson\,Tom,OU=Users,OU=Main,DC=company,DC=com”我只想返回名字和姓氏。我怎样才能做到这一点?DirectoryEntryou=newDirectoryEntry();DirectorySearchersrc=newDirectorySearcher();src.Filter=("(&(objectClass=group)(CN=Gname))");SearchResultres=src.FindOne();if(res!=null){DirectoryEntrydeGroup=newDi
在我们的开发环境中,所有ASP.NET应用程序都运行良好。但是,当我在测试机器上部署站点时,在某些页面上出现此异常:NHibernate.TransactionException:Transactionnotconnected,orwasdisconnectedatNHibernate.Transaction.AdoTransaction.CheckNotZombied()ind:\CSharp\NH\NH\nhibernate\src\NHibernate\Transaction\AdoTransaction.cs:line406atNHibernate.Transaction.Ad
我在这方面已经有一段时间了,而且我总是得到:System.DirectoryServices.AccountManagement.PrincipalServerDownException我认为这意味着我的连接设置(连接字符串)是错误的。当我在ActiveDirectory所在的计算机上的cmd上写入“dsqueryserver”时,我得到:"CN=DCESTAGIO,CN=SERVERS,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=estagioit,DC=local"我已尝试通过以下方式进行以下连接:1:Princi
我使用以下代码连接到使用ActiveDirectory集成身份验证的SQLAzure数据库。privatestringGenerateConnectionString(stringdatabaseName,stringserverName){SqlConnectionStringBuilderconnBuilder=newSqlConnectionStringBuilder();sqlConnectionBuilder.DataSource=string.Format("tcp:{0}.database.windows.net",serverName);connBuilder.Init
我想检查用户是否在特定的父OU中。我该怎么做?检查下面的代码,清楚地了解我在寻找什么。usingSystem.DirectoryServices.AccountManagement;publicboolIsUserInOU(stringsamAccountName,stringOUName){using(varcontext=newPrincipalContext(ContextType.Domain)){using(varuser=UserPrincipal.FindByIdentity(context,IdentityType.SamAccountName,samAccountNa
我正在尝试做一些简单的事情(我认为)-使用我们域中的ActiveDirectory组使用基于角色的安全性来保护我的应用程序。具体来说,我需要根据当前登录的用户是否属于domain\groupA来显示/隐藏页面上的项目在事件目录中。出于某种原因,很难找到有关为此使用ActiveDirectory的信息。我似乎找到的所有内容都涉及使用角色使用基于表单的身份验证的详细信息,或者它使用数据库来存储信息。我只想在ActiveDirectory中使用我们已经概述的安全结构。有人可以解释一下我需要什么吗?我需要:在web.config在web.configIIS设置为windows身份验证if(Us
我按照Microsoft的HelloKeyVault中的示例在我的ASP.NetMVCWeb应用程序上设置了AzureKeyvault。示例应用程序。默认情况下,AzureKeyVault(ActiveDirectory)AuthenticationResult的有效期为一小时。因此,一小时后,您必须获得一个新的身份验证token。KeyVault在获得我的第一个AuthenticationResulttoken后的第一个小时内按预期工作,但在1小时到期后,它无法获得新token。不幸的是,直到我的生产环境出现故障,我才意识到这一点,因为我在开发过程中从未测试过超过一个小时。无论如何,