【发布时间】:2019-04-19 14:06:19
【问题描述】:
我们的任务是创建一个流程,每季度检查一次随机员工的网络流量。我已经在 Powershell 中启动了一个脚本,从特定 OU 中选择 10 个随机用户,但我仍然得到一些不需要的数据。我需要帮助进一步筛选列表。输出为我提供了已禁用并留在 OU 中的用户以及很长时间未登录的 PRN 员工。我想搜索在过去 3 个月内修改过的具有电子邮件地址和登录名的 AD 帐户。这是我到目前为止的代码示例。
Get-ADUser -SearchBase "ou=ouname,ou=ouname,dc=domainname,dc=suffix" -Filter * | Select-Object -Property Name | Sort-Object{Get-Random} | select -First 10
[编辑:已回答的问题]
这是我的最终脚本,添加了$_.passwordlastset 作为搜索属性,因为这将获取在过去 90 天内更改过密码的用户。
$DateFrom = (get-Date).AddDays(-90)
Get-ADUser -Properties * -Filter {enabled -eq $True} -SearchBase "ou=ouname,dc=domainname,dc=suffix" | where { $_.passwordlastset -gt $DateFrom -and $_.mail -ne $null } | Sort-Object {Get-Random} | select name, sAMAccountName -First 10
【问题讨论】:
标签: powershell active-directory