Articles of active directory

在GDI +中发生了一个通用错误

我有一个传统的Winforms应用程序,使用它时,造成一些奇怪的问题。 应用程序部分处理图像,用户可以将图像添加到logging,这些图像在.Net中resize,并保存到服务器共享。 我有两个使用这个应用程序的问题,都导致“GDI +中发生一般性错误”。 用户可以查看logging,图像显示正常,可以尝试打印,出现select打印机的对话框,但是当点击打印时,出现错误。 另一个是当用户尝试添加一个新的图像到一个logging,相同的一般错误。 最好的部分 – 只有两个用户有这个问题。 图像可以直接从共享打开并打印出来,没问题。 这两个用户都是同一个AD组的一部分,其他人都拥有对共享/文件的权限。 两个用户login到另一台机器上的应用程序,并做同样的工作正常。 我试过让两个人完全控制和共享文件的所有权,但仍然是相同的错误。 卸载并重新安装应用程序不起作用。 我已经login到每个受影响的用户机器和应用程序安装在每个用户的基础上,但在我的凭据在同一台计算机上安装和运行的应用程序运行良好。 任何人都有这个问题的经验,或者我应该尝试下一步? 编辑:这一切都开始时,我们将共享文件夹移动到另一台服务器。

基于Linux的域pipe理解决scheme?

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

如何以编程方式确定用户帐户是否是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域之外的普通域帐户不同。

如何从dns域名获得简短的“域名”?

原谅我,如果我对这个主题的理解有一些缺点,我只知道我所知道的关于域名和活动目录,因为我从与他们合作。 有两个不同的“版本”的域名。 首先是我称之为company.int (对于用户max@company.int)的DNS域名,其次是像prefixname (对于用户前缀名称\ max),并且它们都指的是相同的事情。 我的问题是,给“company.int”,如何将其转换为“prefixname”? 编辑:或者给定一个System.DirectoryServices.ActiveDirectory.Domain对象,如何获得前缀名? 编辑2:另外,是否有一个除此之外的“prefixname”的名称? 我永远不知道该怎么称呼它。 编辑3:我试图得到的价值是相同的值显示在“login到”(它列出的域和您的计算机)的Windowslogin屏幕上。 编辑4:我已经想通了以下几点可以得到的价值: SecurityIdentifier sid = GetCurrentUserSID(); string prefixName = sid.Translate(typeof(NTAccount)).Value.Split('\\')[0]; 有谁知道更好的方法来获得这个名字?

如何获得所有的Windows组?

我写这个来获得一个特定用户所属的组: DirectoryEntry AD = new DirectoryEntry("WinNT://" + Environment.MachineName + ",computer"); DirectoryEntry user = AD.Children.Find(completeUserName, "user"); object obGroups = AD.Invoke("Groups"); foreach (object ob in (IEnumerable)obGroups) { // Create object for each group. DirectoryEntry obGpEntry = new DirectoryEntry(ob); listOfMyWindowsGroups.Add(obGpEntry.Name); } for (int j = 0; j < listOfMyWindowsGroups.Count; j++) { //ex } 如何检索窗口中的所有组,而不仅仅是一个特定的用户?

如何从本地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