首页 > 解决方案 > 来自 Dev、Test 和 PROD 的 Powershell Get-ADUser

问题描述

我对 power shell 脚本有点陌生,最好指定环境详细信息(开发、测试和生产)以检索 AD 组/用户的数据并更新 AD 用户/组详细信息?任何示例代码都会有所帮助。先感谢您。

标签: powershellactive-directorypowershell-2.0powershell-3.0powershell-4.0

解决方案


我要做的第一件事是安装 ActiveDirectory PowerShell 模块。

dev、test、prod 等不同的环境通常意味着每个环境都有专用的 Active Directory 实例。AD 实例可以通过其域名或复制该特定实例数据的域控制器组来区分。

如果每个环境都有一个专用域,则 ActiveDirectory 模块中的大多数命令都允许您指定搜索库或服务器名称。该SearchBase参数允许您为 OU 或仅输入根域组件的专有名称字符串。该Server参数允许您传递域控制器的名称。使用这两个参数,您可以跨多个环境隔离搜索查询和写入操作。

示例 1:dev.local 域

以下将返回 dev.local 域的所有 AD 用户:

Get-ADUser -filter * -SearchBase "dc=dev,dc=local"

示例 2:dc1.test.local 域控制器

以下将返回 dc1.test.local 的 AD 数据库中的所有 AD 组:

Get-ADGroup -filter * -Server dc1.test.local

相同的方法可以应用于写回 AD 的命令。

如果您在同一个 Active Directory 中有不同的环境数据,您可以使用示例 1中的类似方法。如果您的环境数据位于可区分的 OU 结构中,则可以再次依赖该-SearchBase参数。您还可以通过将可识别数据添加到对象属性来标记您的对象。Get-ADUser运行类似或的命令时可以引用这些属性Get-ADGroup。另一种方法是将测试对象放入您可以清楚识别的 AD 组中。然后您可以先查询这些组以检索您的测试对象。

只需阅读Get-ADUserGet-ADGroup中的命令功能,您就可以学到很多东西。该Get-Help命令还可以提供有用的示例。


推荐阅读