【问题标题】:Powershell Get-ADUser from Dev, Test and PROD来自 Dev、Test 和 PROD 的 Powershell Get-ADUser
【发布时间】:2019-08-03 01:15:06
【问题描述】:

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

【问题讨论】:

  • 您使用的是哪个版本的 PoSh?通常最好指定您需要兼容的 最低 版本。 ///// 还有,你试过什么?

标签: powershell active-directory powershell-2.0 powershell-3.0 powershell-4.0


【解决方案1】:

我要做的第一件事是安装 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-ADUserGet-ADGroup 等命令时可以引用这些属性。另一种方法是将测试对象放入您可以清楚识别的 AD 组中。然后您可以先查询这些组以检索您的测试对象。

通过阅读Get-ADUserGet-ADGroup 的命令功能,您可以学到很多东西。 Get-Help 命令也可以提供有用的示例。

【讨论】:

  • 另外,我经常使用Get-ADUser -Identity "SamAccountName"Get-ADUser -Filter "DisplayName -eq 'Display Name'"。确保您了解返回的有限属性。获取所有属性包括-Properties * 开关。例如:Get-ADUser -Filter "DisplayName -eq 'Ross Lyons'" -Properties *。试试看结果并尝试一下。
  • 非常感谢,这很有帮助:)
猜你喜欢
  • 1970-01-01
  • 2021-10-24
  • 1970-01-01
  • 2015-01-31
  • 1970-01-01
  • 1970-01-01
  • 2022-01-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多