问题标签 [domaincontroller]
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.
windows - 检测远程计算机是否为域控制器
我的工作场所有几个实验室环境,每个环境都有一堆 Windows 服务器。用户通常通过管理员帐户访问服务器以解决问题或进行培训。我有兴趣确定哪些服务器(如果有)已被使用实验室的人设置为域控制器。这些 DC 都不会与我计划用于扫描的机器有任何信任关系。我有太多的服务器要 RDP 到每个服务器,而且很可能任何给定的域都只有自己或极少数其他服务器作为域成员。谷歌已经出现了一些渗透测试博客,其中包含一些技术,但它们似乎对我的需求来说有点过头了。理想情况下,我想扫描给定子网中的所有机器以查找开放端口或其他东西,然后 RDP 仅扫描正面命中以检查详细信息。
authentication - Server 2012 本地共享 - 无法使用 \\IP 访问,但可以通过 \\localhost 工作
在过去的几天里,我一直被这个问题困扰,我在互联网上找不到有效的解决方案。
我有一个在 Amazon AWS 上运行的 Windows Server 2012 实例,具有公共 IP 地址。我将它用作 SCCM(System Center 2012 配置管理器)服务器(因此它也是域控制器)。我意识到在这里使用公共 IP 可能不是最佳实践,但我处于一个奇怪的位置,我们没有将任何客户端连接到实际域(它们是世界各地的工作组计算机)。这里的目标是使用 SCCM 将软件包部署到不在同一个 LAN/VPN/域上的所有客户端。
这是我第一次设置这样的东西,所以我遵循了这个指南: http ://www.windows-noob.com/forums/index.php?/topic/4045-system-center-2012-configuration-manager-指导/。我能够让工作组计算机显示在 SCCM 服务器设备列表中(通过手动客户端安装),但这些工作组计算机需要访问服务器的共享才能下载软件包。在亚马逊上,我打开了所有端口并允许所有 IP 与服务器通信。我可以使用 IP 地址从任何工作组计算机 RDP 进入服务器,但无法访问服务器的 SMB 共享,即使我正在尝试与有权访问这些共享的域帐户进行连接。
我决定看看我是否可以在服务器上本地连接到共享。使用具有管理员权限的帐户登录,我可以\\localhost\shares
毫无问题地访问。但是当我尝试这样做时\\X.X.X.X\shares
,它会要求用户/密码(确认它能够连接)并且我为具有管理员权限的帐户输入了正确的凭据(使用 DOMAIN\ACCOUNT),但它不断说用户/通行证不正确。单击取消后,出现错误提示“错误代码 0x80004005 未指定错误”。
对我来说,登录的管理员帐户无法通过公共 IP 地址访问本地共享,这对我来说很疯狂……显然,如果服务器本身不能,远程计算机将无法访问这些共享。我试过禁用防火墙,但这没有什么区别。我能够从服务器 ping 通 IP 并得到响应。
我在互联网上搜索了解决方案,但没有任何效果。以下是我发现的一些建议(已失败):
- 确保为以太网适配器安装并启用了“Microsoft 网络客户端”和“Microsoft 网络的文件和打印机共享”
- 在 TCP/IP 上启用 NetBIOS IPv4 属性
- 确保禁用 IPv6
- 服务器、TCP/IP NetBIOS 帮助程序和工作站(服务)都在运行
有任何想法吗?抱歉发了这么长的帖子,只是想尽可能多地了解细节。感谢所有帮助。谢谢!
肖恩
azure - 使用单个域控制器的多个 Azure 订阅
是否可以使用设置为域控制器的 Azure 虚拟机来管理托管在其他 Azure 订阅上的虚拟机?
active-directory - Active Directory 服务器与域控制器
什么是活动目录服务器,什么是域控制器。他们是一样的吗?如果不是,两者有什么区别?
azure - 将主域控制器移动到不同的 Azure 虚拟网络
我创建了一个具有特定地址空间的 Azure 虚拟网络 - 10.0.0.0/8。我在它下面创建了一个子网 10.10.0.0/16,并向这个子网添加了几台机器,包括一个 PDC 和一个 BDC,它们也充当 DNS 服务器。
不幸的是,这并不是我的本意,我打算将地址空间创建为 10.10.0.0/16,目的是使用 S2S VPN 网关将其连接到其他一些虚拟网络。其他虚拟网络使用配置为的地址空间设置:10.x.0.0/16
为了纠正这种情况,根据我在此处和 MSDN 上可以找到的内容,我在同一区域中创建了一个具有正确地址空间(10.10.0.0/16)的新虚拟网络,然后删除了旧虚拟网络中的虚拟机(但离开 VHD)并使用旧 VHD 在新虚拟网络中重新创建 VM。
这似乎按预期工作。现在我开始使用域控制器和另一台机器。按照相同的过程移动域控制器会有任何问题吗?我意识到系统 GUID 会有所不同,但不确定这是否会影响与 AD 和 DNS 服务器相关的任何内容。
TIA 为您提供帮助。
networking - 如何找到 DNS 名称预期解析的位置?
是否可以检查用于解析域名的 DNS 服务器(在内部网络中)?我们有很多步骤:代理、BigIP、域控制器等。我有一个复杂的网络,有很多 DNS 服务器。有时在浏览器中我使用:
我收到网页,大约 15 分钟后,我收到有关超时的错误。但是当我使用 IP 地址而不是域别名时,我总是会访问我的网页。所以我决定这可能是DNS服务器的问题。我想知道如何解决类似问题的常用方法。
windows - 用exchange去掉备份域控制器吗?
所以在我的网络中,我有一个主域控制器和一个备份域控制器。备份域控制器上有交换。
由于我已将电子邮件托管移出站点,因此交换服务已关闭。所以我现在不需要运行交换的备份域控制器。我想永久关闭它。
将其从其在活动目录和备份域控制器中的角色中删除的正确方法是什么?
两个域控制器都是 Server 2008。
非常感谢!
authentication - Active Directory 全局目录中的构造属性(获取帐户的密码到期)
在 Active Directory 之上构建自定义身份验证服务(使用 LDAP),我们现在需要查看帐户的密码是否已过期(最好还要查看密码过期/过期的时间)。我们需要在查询帐户时看到这一点(而不是在bind()
用户请求的上下文中)。
Active Directory 中为此提供了几个标志。我们首先尝试的是User-Account-Control属性,ADS_UF_PASSWORD_EXPIRED
如果密码过期,该属性应设置:
用户密码已过期。该标志由系统使用来自 Pwd-Last-Set 属性和域策略的数据创建。
我们无法让它工作,并找到了 SimpleADSI的解释:
注意:该位不按预期工作!
通常,该用户帐户控制位应该指示用户的密码已过期。但是,密码实际到期时系统不会设置,也不能通过设置该位强制用户在下次登录时更改密码。
相反,它们引用构造的属性 msDS-User-Account-Control-Computed,该属性还包含用于检查密码到期的位:UF_PASSWORD_EXPIRED
。还有另一个构造属性msDS-UserPasswordExpiryTimeComputed,用于获取密码何时过期。完美,有一个警告:
构造的属性不能作为 LDAP 搜索请求中的值数据返回。除非搜索范围设置为“base”,这意味着 LDAP 客户端只能访问一个对象。
这意味着我们必须为每个帐户执行一个额外的查询来获取构造的属性。不理想,但它有效。
接下来,林中的更多 Active Directory 域也希望使用新的自定义身份验证服务,因此我们开始查询 Active Directory 全局目录,而不是查询本地域控制器(这意味着我们可以查询同一林中任何域中的对象)。
对于问题(最后) :全局目录不会同步本地域控制器的所有属性。“幸运的是”不工作的 User-Account-Control 属性是同步的(哦,讽刺的是),但我们使用的构造属性不是。这意味着我们又回到了原点,无法获取帐户密码何时或什至已过期。
所以,两个主要问题是:
- 是否有任何方法可以将构造的属性(或计算它们的值)同步到 Active Directory 全局目录?
- 有没有更好的方法,也许是为了避免我们为获取构造属性所做的(做过)单对象查询(我想我想问我们是否做错了......)?
提前致谢!
active-directory - 所有域控制器的共享注册表位置
我有一项服务可以在安装了它的特定 Windows 域的所有域控制器上运行。
我有服务所依赖的设置,我想把它放在一个可以共享的注册表位置。他们有什么办法可以做到这一点吗?
基本上是所有域控制器的共享注册表位置,因此当我的任何服务更改我的注册表时,我的所有服务都可以立即看到更改。
c# - 如何确定我使用的机器是否是域控制器
使用 C#,找出我的代码运行的机器是否是域控制器的方法是什么。
我不想“走出去”并收集有关域上任何其他域控制器的信息......我只对我的代码运行的机器是否是域控制器感兴趣。此外,我不需要知道它是否是主域控制器……只要它是域控制器。
这是我尝试过的
试用 1
和
试用 2
这些中的任何一个都合适吗?为什么或为什么不合适?