powershell - 具有 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/直流。
解决方案
您可以通过在第一个非转义逗号上拆分字符串并丢弃 CN 部分来获取上级 DN:
# ...
| Select-Object Name,SamAccountName,@{Name='OU';Expression={($_.DistinguishedName -split '(?<!\\),',2)[1]}}, LastLogonDate
推荐阅读
- python - json.decoder.JSONDecodeError:期望值:第 1 行第 1 列(字符 0)python 请求
- pointers - Fortran 中的故意类型不匹配
- excel - Excel:从名称中查找数组中的最小值
- javascript - vue数据集输出未定义
- sql - 如何为以下查询使用 case 表达式
- android - Kotlin RecyclerView 没有附加适配器跳过布局
- python - 如何找到存储在 Python 服务器上的秘密哈希?
- java - 只为表格视图中的一个单元格着色
- mysql - 需要我的表为每个 id 创建一行
- javascript - Vue+Laravel:如果表单数组中的数据位于元组数据之一中,如何从 api 挂载数据