【问题标题】:PowerShell - Filter Get-ADUser to get disabled accounts onlyPowerShell - 筛选 Get-ADUser 以仅获取禁用的帐户
【发布时间】:2017-06-08 16:20:28
【问题描述】:

我有一个 csv 文件,其中包含一个没有标题的用户名列表。我想最终得到第二个 csv 文件,其中仅包含那些与禁用的 Active Directory 用户相对应的用户名。

我在玩 Get-Content 然后 ForEach-Object (%) 循环来查询 AD 并返回每个 SAM 及其启用属性的状态。

Get-Content users.csv | % {Get-ADUser $_ | Select-Object samaccountname,enabled}

虽然我真正需要做的是查看每个名称并仅将与禁用帐户相关联的名称移动到新的 csv 文件中。只有我不能完全弄清楚如何做到这一点。

【问题讨论】:

    标签: powershell csv active-directory


    【解决方案1】:

    你快到了:

    $users = @(gc users.csv | % {Get-ADUser $_ | select samaccountname,enabled})
    $users | ? { -not($_.enabled) } | export-csv -notypeinformation $somecsv
    

    我们在做什么:

    1. 使用 foreach-object 循环遍历文本文件并选择 您想要的 AD 用户属性并将它们分配给数组 @()。它们通常会以数组的形式返回,但我总是显式转换,因为如果返回 ONE 结果,它会作为单个对象而不是单项数组返回。
    2. 然后我们使用 where-object 别名 (?) 过滤这些用户 未启用,然后将它们发送到您的“disabled_users.csv”

    【讨论】:

      猜你喜欢
      • 2018-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多