powershell - 来自 Dev、Test 和 PROD 的 Powershell Get-ADUser
问题描述
我对 power shell 脚本有点陌生,最好指定环境详细信息(开发、测试和生产)以检索 AD 组/用户的数据并更新 AD 用户/组详细信息?任何示例代码都会有所帮助。先感谢您。
解决方案
我要做的第一件事是安装 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-ADUser和Get-ADGroup中的命令功能,您就可以学到很多东西。该Get-Help
命令还可以提供有用的示例。
推荐阅读
- python - 检查以太坊域名是否注册python
- python - 保存为分区镶木地板时是否可以更改输出文件名?
- pandas - 如何在 Pandas 中不使用 One-Hot-Encoding 重新编码 53k 个唯一地址(保存为对象)?
- spring - 在 Gradle 中需要 2 个不同版本的相同依赖项
- c# - 尝试在 Window Task Scheduler 上运行应用程序,该任务将一直运行直到超时
- flutter - 基于按钮单击刷新列表视图
- tensorflow - tensorflow中的梯度计算导入pb文件的graph_def(对象检测)
- outlook - 如何在共享的 Outlook 日历中查找谁创建了约会?
- html - 如何改进此复选框列表以确保某些文本不在复选框下方?
- java - 如何使方法的参数泛型