【发布时间】:2014-03-03 11:28:08
【问题描述】:
我对 PowerShell 还很陌生,我在很多论坛上都发过这个帖子,但是我之前在这里获得过编程帮助,虽然这不是严格的编程,但我希望有人知道答案。
我的组织有大约 5,300 个用户,我们需要为一个客户禁用。有人决定最好地利用我们的时间是让人们通过 AD 并一次禁用它们。当我听到这个消息后,我立即停止了它并使用 PowerShell 获取我们已经拥有的 CSV 列表,并运行一个 cmdlet 来禁用 CSV 列表中的所有用户。
这似乎可行,但我想进行比较。我想将 CSV 文件中的用户与 AD 中的用户进行比较,并确认他们都已被禁用,而无需单独检查所有 5300。我们随机检查了大约 60 个以验证我的运行是否有效,但我想确保没有一个漏掉。
我尝试了几个脚本,并尝试了一些 cmdlet 变体。我尝试过的所有脚本都没有工作,充满了错误。当我尝试使用 csv 文件中的 get-content 或 import-CSV 运行 AD 搜索时,当我导出它时,它给了我大约 7600 个禁用用户(如果我按禁用搜索)。总共只有 5300 个用户,所以它必须给我所有 AD 中的禁用用户。我运行的其他 cmdlet 似乎也在做同样的事情,它会导出整个 AD 列表,而不仅仅是与我的 CSV 文件进行比较。
任何人都可以提供的任何帮助都会有所帮助。
【问题讨论】:
-
此外,我们正在处理的 CSV 文件只是一个使用 FDN 的用户列表,因此一行的示例是 CN=Users Name,OU=ImInHere,DC=domain, DC=com
-
所以基本上只是
foreach (user in CSV) | $_.Disabled的报告? -
奥斯汀,基本上。需要它查看 CSV 以检查用户名,然后在 AD 中检查该用户并查看其是否启用或禁用(我对任何一个都很好),然后向我显示该数据。因此,如果启用了任何一个,我可以确保它们被禁用。
标签: powershell csv import