繁体   English   中英

PowerShell-筛选Get-ADUser以仅获取禁用的帐户

[英]PowerShell - Filter Get-ADUser to get disabled accounts only

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

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

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

尽管我真正需要做的是查看每个名称,然后仅将与禁用帐户关联的名称移动到新的csv文件中。 只有我不能完全弄清楚如何实现这一目标。

你快到了:

$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”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM