【问题标题】:Search AD users for a user在 AD 用户中搜索用户
【发布时间】:2015-12-13 08:15:02
【问题描述】:

我有一个关于搜索广告的问题。 我已经编写了这段代码,用于移动在 AD 中没有 AD 帐户的用户的 HomeDrives。

Get-ChildItem -LiteralPath "\\server1\path" -Force |
    Where-Object {$_.PSIsContainer} |
    ForEach-Object {
        $Name = Split-Path -Path $_ -Leaf

        $ADResult = ([adsisearcher]"(samaccountname=$Name)").Findone()

        if (!($ADResult)) {
            $sNewPath = "\\server1\newpath"
            Move-Item -Path $_.Fullname -Destination $sNewPath -Force
        }
    }

问题是我想从另一台服务器上运行它,而 AD 在另一台服务器上。但是这个:

$ADResult = ([adsisearcher]"(samaccountname=$Name)").Findone()

仅当 AD 在此服务器上时才会运行。

所以我想用可以访问 server2 上的 AD 的解决方案替换这一行。

我可以使用Get-ADUserSearch-ADAccount 来实现吗?

【问题讨论】:

  • “但是这个......只有当 AD 在这个服务器上时才会运行” - 你试过了吗? AD 查询适用于域成员计算机。
  • 试过了,有什么建议吗?
  • 你尝试的时候发生了什么? (您具体尝试了什么?)请记住:我们看不到您的屏幕。使用您收到的确切错误消息更新您的问题。
  • 正如@Bill_Stewart 所说:使用 ADSI 搜索器应该适用于任何域成员。也可以使用 AD cmdlet,但需要先安装远程服务器管理工​​具 (RSAT)。如何安装它们取决于您要安装它们的操作系统。
  • 要使用 Get-Aduser 或 Search-ADAccount - 需要安装 RSAT 吗?它的胜利 sv 2008 R2

标签: powershell active-directory powershell-2.0


【解决方案1】:

我使用:
获取-WmiObject Win32_UserAccount

您可以使用过滤器指定用户名。 获取-WmiObject Win32_UserAccount -filter 'name="username"'

【讨论】:

  • 如果您拥有的不仅仅是一个小域,那么这种方法可能会非常缓慢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-10-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多