域控制器未更新powershell中的Get ADUser

域控制器未更新powershell中的Get ADUser,powershell,active-directory,Powershell,Active Directory,使用net user jsmith/domain查找帐户时,它将显示有关用户及其密码的所有当前信息。当我使用powershell和Get ADUser查找时,信息不准确。我猜这是因为他们指向不同的域控制器,而其中一个还没有跟上 问题是:网络用户使用的是什么域控制器?这样我就可以让ADUser用同样的 更好的是,我如何才能找到最快的域控制器?所以我的假设是错误的。正确地运用这些知识,我可以挽救这个答案 因此,如果您想要网络用户和获取用户之间的内聚,您可以尝试以下方法: $pdc = (((nlte

使用
net user jsmith/domain
查找帐户时,它将显示有关用户及其密码的所有当前信息。当我使用powershell和Get ADUser查找时,信息不准确。我猜这是因为他们指向不同的域控制器,而其中一个还没有跟上

问题是:网络用户使用的是什么域控制器?这样我就可以让ADUser用同样的


更好的是,我如何才能找到最快的域控制器?

所以我的假设是错误的。正确地运用这些知识,我可以挽救这个答案

因此,如果您想要
网络用户
获取用户
之间的内聚,您可以尝试以下方法:

$pdc = (((nltest /dclist:domainname | ?{$_ -match "\[PDC\]"}).Trim()) -Split '\s')[0]
Get-ADUser -Identity someguy -Server $pdc

至于选择最快的域控制器,您的计算机应该已经被告知哪个控制器适合使用。您在同一active directory站点中所做的更改应该可以快速复制。如果您正在跨广告站点进行更改,那么您将不得不等待,只要您已在站点到站点复制设置中进行了设置

当给定
/domain
开关时,
net user
命令,该开关可能不一定是当前登录服务器,另一方面,
Get ADUser
使用该服务器

您看到不同信息的原因是,这两种信息之间还没有发生这种变化的复制

  • 要查看登录服务器,请在cmd中执行
    设置logonserver
  • 要查看主域控制器(PDC),请执行
    nltest/dclist:example.org
    nltest
    需要安装一些Active Directory工具)

我认为
net用户
将使用域控制器,您可以从命令
set logonserver
或简称
set log
中看到域控制器。实际上没有最快的域控制器。这一切都取决于最初的更改是在哪里进行的,以及您的复制站点的设计。要想知道这是什么控制器,有什么办法吗?我正试图告诉您。cmd
set log
的输出应该会告诉您这一点。奇怪的是,它在命令提示符下工作,但在powershell中却不工作。知道为什么吗?简而言之,因为它不是powershell命令Set是
Set变量的别名。在PowerShell中,
$env:LOGONSERVER
更适合。一开始我没有想到要建议它,我非常确定
Get ADUser
使用与
net user
相同的env var(LOGONSERVER)。。。它当然不会为来自DNS的每个命令随机选择一个命令,这将打破所有的混乱。@RobertRossmann我认为这是正确的。那么我的复制评论可能有用。好吧,这个问题对我来说算不上什么。。。如果我们同意两个命令使用相同的DC,那么为什么需要考虑复制呢?如果复制不重要,那么为什么九位神认为信息不完全相同?@RobertRossmann事后看来你是对的。我试图用op的假设作为我的基础,找出两者不同的原因。阅读您的评论后,我意识到我的代码是多余的。事实证明,我们都错了-
net user
不使用logonserver:)它使用主域控制器-如果您感兴趣,请参阅下面的回答。我看到put忽略了它,因为真正的PDC已不存在。这显然不是完全正确的。我试图用你的发现来挽救我的答案。做得好。当我运行这个命令时,它列出了所有的域控制器,列表中有一个旁边有[PDC]。奇怪的是,这正是我从中获取数据的域控制器,但它仍然没有更新,并且显示了不准确的信息。是否有一些缓存正在进行,或者可能只是一些维护?另外,命令应该是nltest/dclist:example.org——您有一个额外的空间。