首页 > 解决方案 > 具有 OU 的 AD 非活动用户

问题描述

我想获取过去 90 天内未使用其帐户的用户列表。我想在没有获得 CN 的情况下查看他们在哪个 OU/DC 中。这可能吗?我为此使用 PowerShell ISE

我目前有

Search-ADAccount -UsersOnly –AccountInActive –TimeSpan 90:00:00:00 
                 –ResultPageSize 2000 –ResultSetSize $null 
      | ?{$_.Enabled –eq $True} 
      | Select-Object Name, SamAccountName, DistinguishedName, LastLogonDate  
      | Export-CSV “C:\Temp\InActiveUsers.CSV” –NoTypeInformation

这将返回完整的专有名称,之后我必须在 Excel 中删除 CN,这是一个烦人的混乱 - 我宁愿不重复处理。

该解决方案不必基于search-adaccount,但我确实希望它在单个代码中,因此我不必获取用户列表,然后使用该列表和另一位代码来获取他们的 OU/直流。

标签: powershellactive-directory

解决方案


您可以通过在第一个非转义逗号上拆分字符串并丢弃 CN 部分来获取上级 DN:

# ...
| Select-Object Name,SamAccountName,@{Name='OU';Expression={($_.DistinguishedName -split '(?<!\\),',2)[1]}}, LastLogonDate

推荐阅读