$outputFile = "C:\userlist.csv"
# 导出所有 AD 用户到 CSV 文件
Get-ADUser -Filter * -Properties * | Export-Csv -Path $outputFile -NoTypeInformation
上述脚本中,$outputFile变量指定了导出的 CSV 文件的路径。Get-ADUser命令用于获取所有 AD 用户,-Filter *参数表示不对用户进行过滤。-Properties *参数表示获取用户的所有属性。
最后,脚本使用Export-Csv命令将用户列表导出到 CSV 文件中,并使用-NoTypeInformation参数防止将 PowerShell 对象的类型信息写入 CSV 文件。
以下是 AD 用户的一些常见属性:
- Name:用户的显示名称。
- SamAccountName:用户的登录名。
- UserPrincipalName:用户的 UPN。
- Description:用户的描述。
- EmailAddress:用户的电子邮件地址。
- Office:用户的办公室。
- Department:用户的部门。
- Title:用户的职务。
- Manager:用户的上级经理。
- Enabled:用户是否启用。
- AccountExpirationDate:用户账户的过期日期。
- PasswordNeverExpires:用户的密码是否永不过期。
- PasswordLastSet:用户的上次密码更改日期。
- PasswordExpired:用户的密码是否已过期。
- LastLogonDate:用户的上次登录日期。
- BadLogonCount:用户的错误登录次数。
- LockedOut:用户是否已被锁定。
- LogonWorkstations:用户可以登录的工作站。
- HomeDirectory:用户的主目录路径。
- HomeDrive:用户的主目录驱动器。
- ScriptPath:用户的登录脚本路径。
- ProfilePath:用户的档案路径。
如果要导出所有属性,可以使用-Properties *参数。如果只想导出部分属性,可以将属性名称列出来,例如:
Get-ADUser -Filter * -Properties Name, SamAccountName, EmailAddress | Export-Csv -Path C:\userlist.csv -NoTypeInformation
Get-ADUser -Filter * -Properties Name, SamAccountName, UserPrincipalName,EmailAddress,Department, Office,Title,Enabled,PasswordNeverExpires,LastLogonDate,BadLogonCount,LockedOut, HomeDirectory| Export-Csv -Path C:\userlist.csv -NoTypeInformation