工作中经常需要进行一些域控操作,这是一些常用powershell命令
查询域控用户user1
Get-ADUser -Properties * user1
查询域控用户user1(只显示用户名、组织结构)
Get-ADUser -Properties * user1 | select SamAccountName,CanonicalName
从文件读取查询多个域用户,(只显示用户名、姓名、邮箱、组织结构),导出为csv
Get-Content C:\Users\user1\Desktop\1.txt | foreach-object{Get-ADUser -Properties * -filter{SamAccountName -eq $_} | select SamAccountName,Displayname,Mail,CanonicalName} |Export-Csv -Path d:\ADUser.csv -Encoding utf8 -NoTypeInformation
获取域控密码策略
Get-ADDefaultDomainPasswordPolicy
net accounts /domain
导出所有域用户为csv(用户名、组织部门、创建日期、最后登录日期、账号创建日期、是否是管理员、是否密码过期、密码最后设置时间、登录次数、是否锁定、最后一次错误密码尝试、错误密码次数、组织结构)
Get-ADUser -Filter * -Properties * | select SamAccountName,Displayname,UserPrincipalName,LastLogonDate,whenCreated,Mail,Enabled,adminCount,PasswordExpired,PasswordLastSet,logonCount,LockedOut,LastBadPasswordAttempt,badPwdCount,CanonicalName|Export-Csv -Path d:\Get-ADUser.csv -Encoding utf8 -NoTypeInformation
导出所有域用户为csv(只导出用户名,组织部门)
Get-ADUser -Filter * -Properties * | select SamAccountName,CanonicalName|Export-Csv -Path d:\Get-ADUser.csv -Encoding utf8 -NoTypeInformation
列出所有 AD 用户密码到期日期:
Get-ADUser -filter {Enabled -eq $True -and PasswordNeverExpires -eq $False} –Properties "DisplayName", "msDS-UserPasswordExpiryTimeComputed" |Select-Object -Property "Displayname",@{Name="ExpiryDate";Expression={[datetime]::FromFileTime($_."msDS-UserPasswordExpiryTimeComputed")}}