WAY1.查看单个AD用户详细信息
#%USERNAME%为所需查询用户名
net user %USERNAME% /domain
WAY2.查询所有AD用户过期时间
简单粗暴
$maxPasswordAge = (Get-ADDefaultDomainPasswordPolicy).MaxPasswordAge.Days
Get-ADUser -filter {Enabled -eq $True -and PasswordNeverExpires -eq $False} -Properties * | Select-Object -Property "Displayname", @{n="ExpiryDate";e={$_.PasswordLastSet.AddDays($maxPasswordAge)}}
或者
Get-ADUser -filter {Enabled -eq $True -and PasswordNeverExpires -eq $False} -Properties * | Select-Object -Property "Displayname", @{n="ExpiryDate";e={$_.PasswordLastSet.AddDays($(Get-ADDefaultDomainPasswordPolicy).MaxPasswordAge.Days)}}
Get-ADUser -searchbase 'OU=IT,DC=xxx,DC=COM' -filter {Enabled -eq $True -and PasswordNeverExpires -eq $False} -Properties * | Select-Object -Property "Displayname", @{n="ExpiryDate";e={$_.PasswordLastSet.AddDays($(Get-ADDefaultDomainPasswordPolicy).MaxPasswordAge.Days)}}
1.查询整个AD所有用户的创建日期
Get-ADuser -filter * -Properties * | Select-Object Name,SID, Created,PasswordLastSet,@{n="lastLogonDate";e={[datetime]::FromFileTime($_.lastLogonTimestamp)}}
2.查询指定OU用户的创建日期
Get-ADuser -searchbase 'OU=IT,DC=xxx,DC=COM' -filter * -Properties * | Select-Object Name,SID, Created,PasswordLastSet,@{n="lastLogonDate";e={[datetime]::FromFileTime($_.lastLogonTimestamp)}}
3.查询指定OU并导出
Get-ADuser -searchbase 'OU=IT,DC=xxx,DC=COM' -filter * -Properties * | Select-Object Name,SID, Created,PasswordLastSet,@{n="lastLogonDate";e={[datetime]::FromFileTime($_.lastLogonTimestamp)}} | Export-CSV C:\Accountlist.csv -NoTypeInformation -Encoding UTF8
WAY3.查询AD中被设置为密码永不过期的域用户账号
1.查询整个AD
Get-ADUser -Filter 'PasswordNeverExpires -eq $true' -Server winserver1 | select name
2.查询指定OU
Get-ADUser -searchbase "OU=IT,DC=xxx,DC=COM" -Filter 'PasswordNeverExpires -eq $true' -Server winserver1 | select name
3.查询指定OU并导出
Get-ADUser -searchbase "OU=IT,DC=xxx,DC=COM" -Filter 'PasswordNeverExpires -eq $true' -Server winserver1 | select name |Export-Csv c:\PasswordNeverExpiresList.csv -NoTypeInformation -Encoding UTF8
dsquery查询AD过期信息
1.查询域控所有超过180天未修改密码的用户
dsquery user domainroot -stalepwd 180
2.查询指定ou下超过180天未修改密码的用户
dsquery user ou=IT,dc=xxx,dc=com -stalepwd 180
3.导出指定ou下超过180天未修改密码的用户
dsquery user ou=IT,dc=xxx,dc=com -stalepwd 180 >>C:\adusers.csv
dsquery批量修改AD密码
1.修改AD所有超过180天未修改密码的用户为xxx
dsquery user domainroot -stalepwd 180 | dsmod user -pwd xxx
1.修改指定ou内超过180天未修改密码的用户为xxx
dsquery user ou=IT,dc=xxx,dc=com -stalepwd 180 | dsmod user -pwd xxx
dsquery批量修改AD指定的密码
$userlist=import-csv -path user.csvforeach($user in $userlist){dsmod user (dsquery user -samid $userlist.sAMAccountName) -pwd $userlist.password
}
user.csv的格式,sAMAcountName和Password必须要,其他可根据自己需求添加,文件编码为Unicode