问题标签 [adsi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
143 浏览

active-directory - 如何枚举用户的默认组?

活动目录的 memberOf 属性中未提及用户的默认组。

谁能告诉如何为用户检索这些组?

谢谢

0 投票
1 回答
1501 浏览

networking - 清除域控制器上 Active Directory 查询的缓存结果

我正在 2 个 Win2003 森林之间建立外部信任。然后我坐在第一个森林的域中时从第二个森林域中检索组名称。然后,我删除信任并再次进行查询,这会带来相同的输出。(这一次,它来自缓存,因为在删除信任后森林 2 变得无法访问)。

谁能告诉如何清除存储 Active Directory 查询结果的缓存?

此缓存仅在主域控制器上可用还是在辅助域控制器上可用?

注意:- 我正在通过编写自己的 ADSI 程序进行查询。

谢谢

0 投票
1 回答
867 浏览

vbscript - 当 ADSIEdit 返回正确的行数时,VBScript 返回 0 行

在过去两天左右的时间里,我一直在努力解决这个问题,但没有取得太大的成功——不管我尝试什么。当我运行查询以检索以特定结尾结尾的共享卷时,我让它在 ADSIEdit 中正常工作 - 但在我的 VBScript 中却没有。真的很奇怪,因为我使用的是完全相同的查询。

ADSIEdit 查询配置如下:

  • 名称:测试
  • 搜索根:DC=ad,DC=server,DC=com
  • 查询字符串:(&(objectCategory=volume)(objectClass=volume)(cn=K_*))
  • 查询范围:子树搜索。

    • 搜索结果:cn以K_开头的11条记录
    • VbScript 结果:1 条记录 (!?!?)

如果我将查询字符串更改为(最后一部分)(uNCName=*\5cOst-gro)),这就是我真正想要的(我给出的第一个查询字符串是出于测试目的),在 ADSIEdit 中我会返回 7 行 -在我的 VBScript 中没有!

这是我的(当前)VBScript 代码:

希望有人可以提供帮助。我已经阅读了无数关于它的主题,但每一个都失败了:(

编辑:我认为我已经将其归结为信任/许可问题。当我在 AD 机器上运行 adfind(或 dsquery)时,它返回正确的行数。但是,如果我在客户端机器上运行它,它会返回错误的行数。现在的问题是,我该如何解决呢?

服务器:

客户:

0 投票
1 回答
767 浏览

sql-server - ADsDSOObject 和 .NET 为 objectSID 返回不同的值(类型)

我在数据库服务器中有一个用户创建的存储过程,它查询活动目录以获取用户信息并将数据插入表中。我们希望从数据库服务器中删除该操作,并在外部调用(PowerShell 或 C#)中执行初始 AD 查询和数据插入。

存储过程使用 sp_OA 过程创建 ADsDSOObject 来执行实际的 AD 查询。默认情况下,ADsDSOObject 似乎以十六进制返回 objectSID。以下是示例输出值。

当我通过 PowerShell 运行 ADSI 查询时,我得到了 objectSID 的字节数组,我可以通过 .NET System.Security.Principal.SecurityIdentifier ( <objectSID>, 0) 将其转换为字符串。

这会以正确的 SID 形式返回实际的字符串 SID 标识符。

但是,我需要将数据存储为二进制,以便用 .NET 解决方案替换数据库中的过程,以避免应用程序发生任何更改。

使用 PowerShell 或 C#,有谁知道如何将字节数组转换为十六进制或如何将字符串 SID 表示转换为十六进制?

0 投票
1 回答
1365 浏览

model-view-controller - LookupAccountSID 返回不正确的域名

MSDN 说: LookupAccountSid 函数返回找到 SID 的第一个域的名称。

如果用户域 A迁移到域 B ,我们在域 A 的任何机器上使用LookupAccountSid函数查询用户的旧 SID,我们得到域 A 的域名而不是域 B。

似乎即使在迁移用户之后,Active Directory 仍将用户信息保留在域 A 上。即使重新启动域 A 的机器(包括域控制器)后,此问题也没有解决。

我需要 User 的新域的名称。你能建议如何解决这个问题吗?

0 投票
1 回答
1136 浏览

c# - 使用 DirectoryServices 创建用户帐户时出现奇怪的 sAMAccountName

我的 C# 代码使用 DirectoryServices 命名空间来创建域用户帐户。

这成功创建了帐户,但 sAMAccountName 属性包含一个相当奇怪的值,例如 $HGA000-8FP94NQK9R9I 或 $NGA000-B3BJ2ELT5OOD。在我的开发域中执行时,一切都很好。

0 投票
1 回答
1040 浏览

scripting - 列出 IIS6 场中所有已停止的应用程序池

我只想打印那些停止或停止的 IIS6 池(AppPoolState 为 3 或 4)。如果其他一切都很好(一切都开始了),只需打印出“OK”。我不确定是否有一种简单的方法来检查所有这些。我试图循环遍历应用程序池,逐个检查每个状态,但它看起来有点复杂,似乎有一种更简单的方法可以做到这一点。

这段代码将进入一个循环,该循环运行一个庞大的服务器列表,在每个服务器上运行其他检查,然后打印出一个表。

0 投票
1 回答
3013 浏览

powershell - 将 ADSI 对象转换为 Powershell 对象

我有一些代码可以通过 ADSI 获取 IIS6 站点列表:

当我通过 convertto cmdlet 或输出字符串或使用 tostring() 循环对象时,我得到类似这样的东西

基本上我只需要像 Powershell 对象一样对待站点列表(servercomment),这样我就可以通过各种方式导出它们。但是据我了解,这些本身就是集合,并且确实具有更多属性,但是当我更深入时,我看不到任何可以提取为 IIS 站点名称的内容。通过 WMI 获取这些信息更容易还是我必须创建一个新的 Powershell 对象来包含这些信息?

0 投票
1 回答
647 浏览

ipad - 在 VDI 中映射打印机的登录脚本

我所拥有的是人们想使用 iPad 来访问 VDI 图像。我前段时间创建了一个脚本,它将根据用户在 AD 中的位置映射用户。这不适用于 iPad,因为我无法将 parm 文件从 iPad 传递到 VDI 映像。我现在正在寻找一种方法,如果不存在 parm 文件,它将只退出脚本。

这是我的脚本:您认为检查用户是否在 iPad 上的最佳方法是什么?如果他们在 iPad 上,如何关闭而不运行此脚本?

0 投票
3 回答
2545 浏览

c++ - 来自 NetBIOS 名称的 DNS 名称 - API 函数

有没有什么API函数可以解决用户或组目录对象的netbios名称。

我需要以下格式的输出:

  1. 名称FullyQualifiedDN - 例如:CN=John Smith,OU=Users,DC=Engineering,DC=Microsoft,DC=Com
  2. 名称DnsDomain - 示例:engineering.microsoft.com\JSmith
  3. 提供 DNS 域名的任何其他格式。

注意:TranslateName 函数在给出名称时失败,如下所示: win2008domainnetbiosname\username

谢谢