首页 > 代码库 > powershell的查询功能
powershell的查询功能
1.用PowerShell查询指定OU中所有账号的创建时间\SID\上次修改密码时间\最后一次登录时间:
Get-ADuser -searchbase ‘ OU=LL,DC=LL,DC=COM ‘ -filter * -Properties * | Select-Object Name,SID, Created,PasswordLastSet,@{n="lastLogonDate";e={[datetime]::FromFileTime
($_.lastLogonTimestamp)}} | Export-CSV zuihoudenglu.csv -NoTypeInformation -Encoding UTF8
2.查询AD中,默认的密码策略(密码复杂性要注、锁定策略、密码长度、密码有效时间):Get-ADDefaultDomainPasswordPolicy
3.查询AD中,哪些用户被选中了“密码永不过期”的选顶:
查询域中被勾选了密码永不过期选项的用户
Get-ADUser -Filter ‘PasswordNeverExpires -eq $true‘ -Server A | select name
查询某个OU中被勾选了密码永不过期选项的用户并导出
Get-ADUser -searchbase ‘ OU=ll,DC=ll,DC=com ‘ -Filter ‘PasswordNeverExpires -eq $true‘ -Server A | select name | Export-CSV mimayongbuguoqi.csv -NoTypeInformation -
Encoding UTF8
4.查询AD中,已锁定的用户
get-aduser -filter * -properties * | where {$_.lockedout} | ft name,lockedout
5.查询AD中,哪些邮件组是空成员
Get-ADGroup -Filter * -Properties Members | where { -not $_.Members} | select Name
6.查询AD中OU所有一个月内未登录的AD帐号
Get-ADuser -searchbase ‘ OU=ll,DC=ll,DC=com ‘ -filter * -Properties * | Select-Object Name,SID, Created,PasswordLastSet,@{n="lastLogonDate";e=
{[datetime]::FromFileTime($_.lastLogonTimestamp)}} | where {$_.lastlogondate -lt (get-date).AddDays(-30)}
Get-ADuser -searchbase ‘ OU=ll,DC=ll,DC=com ‘ -filter * -Properties * | Select-Object Name,SID, Created,PasswordLastSet,@{n="lastLogonDate";e=
{[datetime]::FromFileTime($_.lastLogonTimestamp)}}
7.查询AD中,被禁用的账号
get-aduser -filter * -SearchBase "OU=ll,DC=ll,DC=com" | where {($_.enabled -eq $false) -and (($_.DistinguishedName).Contains("Leave") -eq $false)} | select
samaccountname,Surname,givenname,enabled,DistinguishedName | Export-Csv -Encoding Unicode -NoTypeInformation D:\ps\jinyongzhanghao.csv
8.查询AD中,被禁用的账号,并启用(启用后导出的csv文件中为空,可能是因为它导出文件是禁用的账号,而禁用的账号已被启用)
get-aduser -filter * -SearchBase "OU=ll,DC=ll,DC=com" | where {($_.enabled -eq $false) -and (($_.DistinguishedName).Contains("Leave") -eq $false)} | Export-Csv -
Encoding Unicode -NoTypeInformation D:\ps\qiyongzhanghao.csv |Enable-ADAccount
9.查询规定时间内为登录的计算机
Search-ADAccount -AccountInactive -TimeSpan "3" -ComputersOnly | select name | export-csv computertime.csv
$a=Import-Csv computertime.csv
foreach ($b in $a){
get-adcomputer $b.name | Move-ADObject -TargetPath "ou=delete,ou=ll,dc=ll,dc=com"
}
powershell的查询功能