标签: domaincontroller

UserPrincipals.GetAuthorizationGroups枚举组时发生错误(1301).升级到Server 2012域控制器后

研究:

与解决方法类似的问题,但不是对现有问题的实际解决方案

类似的问题指向Microsoft End Point更新为罪魁祸首

上面的链接最适合我的问题,我也在创建这篇文章时查看了Stack Overflow列出的每个类似问题,只有上面引用的问题符合我的问题.

背景:

我一直在使用UserPrincipal.GetAuthorizationGroupsC#.NET 4.0 Web表单站点上Server 2008 R2上运行IIS 7.5的特定页面访问权限2年半.2013年5月15日,我们删除了运行Server 2008(而不是r2)的主域控制器,并将其替换为Server 2012域控制器.第二天,我们开始收到下面列出的例外情况.

我使用Principal Context进行表单身份验证.用户名/通过握手成功并且正确设置了auth cookie,但是后续的Principal Context调用也会UserPrincipal.GetAuthorizationGroups间歇性地调用失败.我们已经解决了Server 2012域控制器中出现的一些BPA问题,但这还没有解决问题.我还建立了一个在两个独立服务器上运行的cron.虽然它们运行相同的代码库,但两个服务器将在不同的时间以组SID解析失败.(开发环境和生产环境).

该问题在Web服务器重启时暂时解决,并且在开发服务器上它将在12小时不能运行后自行解决.生产服务器通常会停止正常运行,直到重新启动而不解决自身.

此时,我正在尝试优化针对网络中特定域控制器的cron以及新DC,并使用当前未能产生更多目标异常时间的标准LDAP查询.到目前为止,我们已经在一台Web服务器上发现它失败的日子没有模式,但它将在大约12小时内恢复.最新结果显示,在上午8点至晚上8点之间,集团SID解决方案失败,然后恢复,几天后它将在晚上8点失败并在早上8点恢复,然后再运行12小时并再次失败.我们希望看看它是否只是一个特定的服务器通信问题,或者看它是否是整个域控制器集.

例外:

Exception information: 
Exception type: PrincipalOperationException 
Exception message: An error (1301) occurred while enumerating the groups.  
The group's SID could not be resolved.
at System.DirectoryServices.AccountManagement.SidList.TranslateSids(String target, IntPtr[] pSids)
at System.DirectoryServices.AccountManagement.SidList..ctor(SID_AND_ATTR[] sidAndAttr)
at System.DirectoryServices.AccountManagement.AuthZSet..ctor(Byte[] userSid, NetCred credentials, ContextOptions contextOptions, String flatUserAuthority, StoreCtx userStoreCtx, Object userCtxBase)
at System.DirectoryServices.AccountManagement.ADStoreCtx.GetGroupsMemberOfAZ(Principal p)
at System.DirectoryServices.AccountManagement.UserPrincipal.GetAuthorizationGroups()
Run Code Online (Sandbox Code Playgroud)

题:

鉴于以上信息,有没有人知道为什么退出Windows Server 2008(而不是r2)并实施新的Server …

c# active-directory domaincontroller windows-server-2012

27
推荐指数
2
解决办法
2万
查看次数

如何使用目标C获取在OSX上登录AD域的用户的用户名

有没有办法找到使用我的应用程序并登录到AD域的用户的用户名(用户主体名称或samaccountname)?我们还能找到以编程方式连接到哪个域的用户吗?

dsconfigad -show 命令行确实显示域但不显示用户名.

我不能依赖NSUsername() or NSFullUserName()功能,因为用户可以手动更改这些功能.

任何帮助都会很明显.

macos cocoa active-directory domaincontroller

8
推荐指数
0
解决办法
161
查看次数

如何使用LDAP查询组织单位的组?

我尝试了很多查询,但这会让我得到我的OU:

(&(objectCategory=organizationalUnit)(Name=MyOU)) (我刚刚在这里得到你)

我尝试使用(&(objectCategory=organizationalUnit)(objectClass=group)(Name=MyOU))但失败了.

而且,(&(objectCategory=Group)(cn=MyOU,dc=mytop,dc=mysuffix))失败了.

我想在OU中获取组.我搜索了很多,但无法想出来.如何在OU中找到组?我有一个例程,将打印出组.我只是无法正确查询.

感谢您的任何帮助.

ldap active-directory domaincontroller

7
推荐指数
1
解决办法
3万
查看次数

以编程方式确定当前域控制器

我需要查询当前的域控制器,可能是主要的更改用户密码.

(P)DC名称应该是完全合格的,即DC=pdc,DC=example,DC=com(如何正确命名这种表示法?)

如何使用C#完成?

.net c# active-directory domaincontroller domainservices

7
推荐指数
2
解决办法
2万
查看次数

Php adLDAP错误 - 无法绑定到服务器:需要强(呃)身份验证

我试图使用PHP adLDAP版本4.04 在企业网络上进行身份验证,但尚未成功.

PHP Version 5.2.4

我试过这个stackoverflow后发布的PHP ldap - 需要强(呃)身份验证,没有运气.

不是这个域控制器的管理员; 我只需要能够查询.

我能ping HOSTNAMEOFDC.domain.location.company.com(我的域控制器的FQDN)

域控制器是一个Windows Server 2012 R2 Standard.

我已成功查询此域控制器使用DsQueryPowerShell AD Module没有问题,也没有我必须手动键入的身份验证.

我的代码:

<?php
require_once("includes/php/adLDAP/src/adLDAP.php");
$username = "domain\\username"; // also tried just "username"
$password = "somepassword";

// All possible settings are listed in this array
$options = array(
        "account_suffix" => "@domain.location.company.com",
//      "admin_username" => $username,
//      "admin_password" => $password,
//      "ad_port" => "636",
//      "base_dn" => "DC=domain,DC=location,DC=company,DC=com",
        "domain_controllers" …
Run Code Online (Sandbox Code Playgroud)

php openssl ldap domaincontroller adldap

7
推荐指数
1
解决办法
2160
查看次数

如何让我的域控制器与正确的外部时间源同步?

我有一个用户联系我说她的电脑时钟比她的手机时钟快8或9分钟.这与我有关,因为手机时钟总是同步的.我看了看电脑的时钟,它是一样的,比我的手机提前了大约8分钟.八分钟是很多时间关闭.所以我看了看我的两个DC.作为AD PDC仿真器的那个比我的手机快1分钟; 这似乎更合理.但是工作站并没有与它同步.所以我看着我的另一个DC,它没有主角.它与工作站完全相同,快8分钟左右.

所以这里有几个大问题.首先,我的DC没有相同的时间.其次,我的工作站与更快的DC同时进行(它们是否与它同步?).我查看了两个DC的错误日志,并过滤了Time-Service.PDC模拟器DC具有警告事件ID 144:时间服务已停止作为良好时间源的广告.另一个DC具有警告事件ID 142:时间服务已停止作为时间源广告,因为本地时钟未同步.我也收到了其他事件ID警告.在主要DC上:事件ID 12,36,144(如上所述),131.在次要DC:事件ID 131,24,142(如上所述),50,129.我将在底部提供有关这些的更多信息.

从我所看到的,看起来我的PDCe并没有指向外部源.我是否应该使用"配置时间服务以使用外部时间源"下的说明(http://support.microsoft.com/kb/816042)进行设置?文章中的人(http://tigermatt.wordpress.com/2009/08/01/windows-time-for-active-directory/)表示要使用脚本自动化它(w32tm/config/manualpeerlist:"uk .pool.ntp.org,0×8 europe.pool.ntp.org,0×8¿/ syncfromflags:MANUAL/reliable:yes/update).但我不确定他们是否也在做同样的事情.即使他们这样做了,我也不确定我使用的是哪个地址.如果我查看我的辅助DC,它有一个NtpServer条目time.windows.com,0x9.PDCe也有它,直到我做了文章推荐的重置; 现在它没有NtpServer条目.

那么哪种方法适合使用,我使用的是什么地址?如果我正在运行Server 2008 R2,这有关系吗?

事件ID 12:时间提供程序NtpClient:此计算机配置为使用域层次结构来确定其时间源,但它是林的根目录下的域的AD PDC模拟器,因此域中没有任何计算机用作时间源的层次结构.建议您在根域中配置可靠的时间服务,或手动配置AD PDC以与外部时间源同步.否则,此计算机将充当域层次结构中的权威时间源.如果未为此计算机配置或使用外部时间源,则可以选择禁用NtpClient.

事件ID 36:时间服务未将系统时间同步86400秒,因为没有时间服务提供者提供可用的时间戳.在能够与时间源同步之前,时间服务不会更新本地系统时间.如果本地系统配置为充当客户端的时间服务器,它将停止作为客户端的时间源进行广告宣传.时间服务将继续重试并与其时间源同步时间.检查系统事件日志以获取其他W32time事件以获取更多详细信息.运行'w32tm/resync'强制进行即时时间同步.

事件ID 144:时间服务已停止作为良好时间来源的广告.

事件ID 131:由于''上的DNS解析错误,NtpClient无法将域对等设置为用作时间源.NtpClient将在3473457分钟再次尝试,然后将重新尝试的间隔加倍.错误是:请求的名称有效,但未找到所请求类型的数据.(0x80072AFC).

事件ID 24:时间提供者NtpClient:在8次尝试联系之后,没有从域控制器DC-DNS.domain.org [这是我们的主要DC]收到有效响应.此域控制器将作为时间源被丢弃,NtpClient将尝试发现要从中进行同步的新域控制器.错误是:对等方无法访问.

事件ID 142:时间服务已停止作为时间源进行广告,因为本地时钟未同步.

事件ID 50:时间服务检测到900秒的时间差大于5000毫秒.时间差可能是由与低精度时间源的同步或次优的网络条件引起的.时间服务不再同步,无法为其他客户端提供时间或更新系统时钟.当从时间服务提供商收到有效时间戳时,时间服务将自行纠正.

事件ID 129:由于发现错误,NtpClient无法将域对等设置为用作时间源.NtpClient将在3145779分钟内再次尝试,然后将重新尝试的间隔加倍.错误是:找不到该条目.(0x800706E1)

active-directory domaincontroller windows-server-2008-r2

5
推荐指数
1
解决办法
7万
查看次数

在当前AD站点中获取最近的域控制器,无需硬编码信息

对于Active Directory在站点之间复制数据时间过长的情况,我需要确保本地AD副本包含最新信息.

  • 如何获取当前站点的DomainControllers列表?

我没有在CodeprojectStackOverflow上找到任何东西

c# directoryservices ldap active-directory domaincontroller

5
推荐指数
2
解决办法
8547
查看次数

Server 2012本地共享 - 无法使用\\ IP访问,但可以通过\\ localhost工作

在过去的几天里,我一直坚持这个问题而且我无法在互联网上找到有效的解决方案.

我在Amazon AWS上运行了一个带有公共IP地址的Windows Server 2012实例.我将它用作SCCM(System Center 2012 Configuration Manager)服务器(因此它也是域控制器).我意识到在这里使用公共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 Helper和Workstation(服务)都在运行

有任何想法吗?很抱歉这么长的帖子,只是希望得到尽可能多的细节.所有帮助表示赞赏.谢谢!
肖恩

authentication sccm domaincontroller amazon-web-services windows-server-2012

5
推荐指数
1
解决办法
2727
查看次数

在哪里运行setspn命令?

我正在尝试使用以下命令添加服务主体名称,该命令用于Windows身份验证。

setspn –a HTTP/Kerberos.com domain\username
Run Code Online (Sandbox Code Playgroud)

我有一个在IIS服务器上运行的站点,该站点在连接到域控制器计算机的Windows 2008服务器上运行。

我是否必须setspn在IIS服务器或域控制器上运行命令?

spn kerberos windows-authentication domaincontroller

5
推荐指数
1
解决办法
2254
查看次数

如何在 Windows 中更改默认计划任务进程优先级

我已经检查了一段时间了。我们有一个创建计划任务的脚本,似乎正如网上很多地方所描述的,这个进程及其后代收到的任务优先级是 7:BelowNormal

现在这会在我们的测试环境中引起许多我想避免的问题

这里的问题是我是否可以创建一个 GPO 来覆盖 Windows 的默认计划任务优先级,以便所有新计划任务都将获得优先级 X(在我的情况下 X 为“正常”)

我知道有一个选项可以在创建时设置计划任务优先级,但我想避免这种情况,因此每个新任务都将具有正确的默认优先级,而不是低于正常的优先级

提前致谢

windows powershell domaincontroller gpo

5
推荐指数
2
解决办法
6314
查看次数