Articles of active directory

基于Linux的域pipe理解决scheme?

使用Windows Server家族的任何成员,我可以设置一个活动目录,并为大型计算机提供单个用户池; 对给定域中的任何共享资源(包括对客户端计算机的访问等),都可以授予/删除访问权限。 使用Linux来pipe理多用户,多计算机环境有什么类似的(和广泛的)解决scheme? 他们有什么优点/缺点? 他们如何与Windows进行互操作?

如何从本地Win32(即不是.NET)代码查询ActiveDirectory

如果我想从.NET中的Active Directory获取用户信息,我可以使用DirectorySearcher类。 例如,要查找我要调用的用户的电子邮件地址 : public String GetUserEmailAddress(String accountName) { DirectorySearcher searcher = new DirectorySearcher(); searcher.Filter = String.Format("(&(objectCategory=user)(sAMAccountName={0}))", accountName); searcher.PropertiesToLoad.Add("mail"); SearchResult searchResult = searcher.FindOne(); return searchResult.Properties["mail"][0]; } 查询Active Directory的本地方法是什么? 注意 : 没有指定域名 没有指定服务器名称 我们甚至可以扩展我们的function来允许查询任何通用的任意信息: public Object GetUserAttribute(String accountName, String propertyName) { DirectorySearcher searcher = new DirectorySearcher(); searcher.Filter = String.Format("(&(objectCategory=user)(sAMAccountName={0}))", accountName); searcher.PropertiesToLoad.Add(propertyName); SearchResult searchResult = searcher.FindOne(); return […]

如何使用C ++获取ActiveDirectory中的maxpwdAge属性值?

我正在与AD服务器,我想获得maxpwdAge属性值… 我已经尝试了ADSi,但它提供了一个问题。 VARIANT var; bsNamingContext=L"maxpwdAge"; hr = ADsGetObject(pszADsPath, IID_IADsUser, (void**) &pUser); if(SUCCEEDED(hr)) { VariantInit(&var); hr = pUser->Get(bsNamingContext, &var); } 但是,它给-2147463155(8000500d)错误… 但我使用bsNamingContext=L"cn"; 它正确地给出CN值… 任何人都可以解决它?

活动目录属性“badPwdCount”

问题:我们已经将AD服务器从2003年升级到2008年,由于某些“错误代码”,开发人员以这种方式进行编码,他直接将“badPwdCount”属性值转换为INT,并由于NULL值转换 – NULL引用exception – NULL不能转换为INT。 更大的问题:现在我们无法进行部署,因为有超过100个独立的应用程序依赖于此更改,而我们现在正在寻找最less的处理方法。 背景:现在,这个“badPwdCount”属性的工作方式是,当用户login到域时,它将被设置为零,否则它是NULL。 问题是,这些用户都不会交互式地login,因为他们是外部的,我们通过API对他们进行身份validation,他们也不能使用API​​login。 问题:有人知道这个值是在registry还是在某个地方,我可以find并设置为零? 也想通过脚本启动每个用户的login,但也想收集其他想法… badPwdCount的MSDN页面: http : //msdn.microsoft.com/en-us/library/windows/desktop/ms675244 (v=vs.85) .aspx

LDAP – 检索所有属性/值的列表?

是否可以从LDAP中检索所有属性/值的列表,而不指定,如果可以的话,这怎么可能呢?

有没有办法使用Windows身份validation(Active Directory)的Git服务器?

我find了有关如何在Windows服务器上安装Git的文章,并使用SSH(如CopSSH)进行身份validation。 我有点惊讶,因为我记得读一个不应该使用Windows机器共享的Git仓库(抱歉,不记得我在哪里读)。 我的问题是我可以设置Git使用Windows身份validation,而不是SSH? 这对我来说会比较容易pipe理。 由于机器在我的“业余时间”由我来pipe理,越容易越好。

在SVN中,我如何覆盖自动Windows域身份validation

我有一个构build服务器不是Windows域的一部分,试图连接到一个VisualSVN服务器运行HTTPS通过Apache与域login通过Active Directory。 当我尝试使用指定域用户名连接到服务器时,我发现客户端挂起: svn ls –username=domainuser https://subversion.mydomain/svn/repo1/ 服务器上的日志使用生成计算机的login名以及“域名”字段中的生成计算机主机名显示Windows身份validation失败。 命令行上提供的用户名完全被忽略。 SVN客户端:TortoiseSVN命令行工具:svn,版本1.8.1(r1503906) 在一个单独的机器上(在域上) – 我发现,如果我使用cygwin svn,那么–username不会被忽略。

如何以编程方式确定用户帐户是否是Windows中特定组的成员?

给定一个组名和一个用户帐户,我想知道提供的用户是否属于一个特定的组。 用户可以是本地用户或域用户,并且该组可以是本地组或域组,并且该组也可以嵌套在其他组内。 简而言之,我正在寻找一个像bool IsUserMemberOf(User, Group)这样的函数,它将在内部调用相应的Win32 API来执行search。 我想进行上述查询的过程应具有查询本地和AD组所需的权限。 我想运行企业pipe理员帐户下的进程应该做的查询任何森林区议会,但可能不适用于不属于域的机器。 关于这个查询过程应该运行什么帐户的任何想法,以便它可以查询LSA以及AD?

从命令行获取用户的非截断Active Directory组

我经常使用net user命令查看一个用户的AD组: net user /DOMAIN <username> 这个效果很好,但是组名被截断为大约20个字符。 在我的组织中,大多数组名比这个长得多。 有谁知道通过命令行获取非截断AD组的方法吗?

DirectoryEntry.Invoke(“组”,null)不检索所有组?

我创build了一个WCF Web服务来从Active Directory返回用户和组信息。 它适用于大多数组和用户。 我使用directoryEntry.Invoke(“groups”,null)返回指定用户所属的组。 这返回MOST组。 奇怪的是,我可以find任何组并枚举它的成员,即使它是我在其成员中使用调用查询时缺less的组之一。 大多数展示此行为的组都是启用了Exchange的。 大多数有问题的用户帐户是在联合域中的用户,他们在我查询的域中使用Exchange服务器。 我不想查询联合域中的对象。 我的理论到目前为止: 一些安全限制不允许通过invoke()枚举所有组,即使我可以查询缺失的组并枚举它们的成员。 调用与一些组的子集有问题。 也许通用的,dynamic的或支持Exchange的属性正在发挥作用 invoke方法没有select所有的组,因为“联合”帐户(作为他们的Exchange帐户设置的一部分创build的)与sid映射回其login域之外的普通域帐户不同。