当管理和维护 Active Directory 环境时,有一些基础的 PowerShell 命令可以帮助进行常规的检查和管理操作。以下是一些常用的基础检查命令示例:
当管理和维护 Active Directory 环境时,有一些基础的 PowerShell 命令可以帮助进行常规的检查和管理操作。以下是一些常用的基础检查命令示例:
1. 获取特定用户信息
# 获取特定用户的基本信息
Get-ADUser -Identity "username"
这个命令用于获取特定用户的基本信息,包括姓名、部门、电子邮件地址等。
2. 搜索特定组的成员
# 查找特定组的成员
Get-ADGroupMember -Identity "groupname"
这个命令用于列出特定组的成员,可以是用户或其他组。
3. 列出所有用户
# 列出所有用户
Get-ADUser -Filter *
这个命令将列出 Active Directory 中的所有用户。
4. 列出所有组
# 列出所有组
Get-ADGroup -Filter *
这个命令将列出 Active Directory 中的所有组。
5. 检查特定计算机的详细信息
# 获取特定计算机的详细信息
Get-ADComputer -Identity "computername"
这个命令用于获取特定计算机的详细信息,如操作系统版本、上次登录时间等。
6. 检查域控制器的健康状态
# 检查域控制器的健康状态
Test-ADReplication -Scope Site
这个命令用于测试指定站点内所有域控制器的复制状态。
7. 搜索过期用户账户
# 搜索过期用户账户
Search-ADAccount -AccountExpired
这个命令用于查找所有过期的用户账户。
8. 检查特定用户的密码策略状态
# 检查特定用户的密码策略状态
Get-ADUserResultantPasswordPolicy "username"
这个命令用于查看特定用户当前适用的密码策略。
这些基础检查命令可以帮助管理员有效地监视和管理 Active Directory 环境,确保安全和运行效率。
当管理 Active Directory 时,还有一些其他常用的基础检查命令和操作,可以帮助管理员更好地维护和管理域环境。
9. 检查特定用户的成员资格
# 检查特定用户的组成员资格
Get-ADPrincipalGroupMembership -Identity "username"
这个命令用于列出特定用户所属的所有组。
10. 查找特定组中的用户
# 查找特定组中的用户
Get-ADGroupMember -Identity "groupname" -Recursive | Where-Object { $_.objectClass -eq 'user' }
这个命令用于列出特定组中的所有用户,包括直接成员和递归成员。
11. 检查域控制器的连接状态
# 检查域控制器的连接状态
Test-Connection -ComputerName "domaincontroller.domain.com"
这个命令用于测试与指定域控制器的连接状态。
12. 导出用户列表到 CSV 文件
# 导出用户列表到 CSV 文件
Get-ADUser -Filter * -Property DisplayName, EmailAddress | Export-Csv -Path "C:\ADUsers.csv" -NoTypeInformation
这个命令将所有用户的姓名和电子邮件地址导出到 CSV 文件中,方便后续分析和报告。
13. 检查密码最后设置时间
# 检查特定用户的密码最后设置时间
Get-ADUser "username" -Properties PasswordLastSet | Select-Object Name, PasswordLastSet
这个命令用于查看特定用户的密码最后设置时间。
14. 启用/禁用用户账户
# 禁用用户账户
Disable-ADAccount -Identity "username"
# 启用用户账户
Enable-ADAccount -Identity "username"
这些命令分别用于禁用和启用特定用户的账户。
15. 列出所有域控制器
# 列出所有域控制器
Get-ADDomainController -Filter *
这个命令将列出域中所有的域控制器及其详细信息。
这些命令涵盖了管理 Active Directory 过程中常见的基础操作和检查需求。通过这些命令,管理员可以有效地监控、管理和维护域环境,确保安全和效率
当处理 Active Directory 管理时,还有一些其他有用的 PowerShell 命令和技巧可以帮助管理员执行各种任务和操作。
16. 重置用户密码
# 重置用户密码
Set-ADAccountPassword -Identity "username" -Reset -NewPassword (ConvertTo-SecureString -AsPlainText "NewPassword" -Force)
这个命令用于重置特定用户的密码。请替换 "NewPassword"
为实际的新密码。
17. 查找特定 OU 中的用户
# 查找特定 OU 中的用户
Get-ADUser -Filter * -SearchBase "OU=Users,DC=domain,DC=com"
这个命令用于列出特定组织单位 (OU) 中的所有用户。
18. 查找空密码的用户
# 查找空密码的用户
Get-ADUser -Filter {PasswordNeverExpires -eq $true -and Enabled -eq $true -and PasswordLastSet -eq $null} -Properties PasswordNeverExpires, Enabled, PasswordLastSet
这个命令用于查找密码从未设置过的用户。
19. 检查域的功能级别
# 检查域的功能级别
Get-ADDomain | Select-Object Name, DomainMode
这个命令用于查看当前域的功能级别,以确定支持的功能和特性。
20. 添加新用户
# 添加新用户
New-ADUser -Name "NewUser" -GivenName "John" -Surname "Doe" -SamAccountName "johndoe" -UserPrincipalName "johndoe@domain.com" -Path "OU=Users,DC=domain,DC=com" -AccountPassword (ConvertTo-SecureString -AsPlainText "Password123" -Force) -Enabled $true
这个命令用于在指定的 OU 中创建新用户。请替换相应的参数(姓名、帐户名称、密码等)。
21. 移动用户到不同的 OU
# 移动用户到不同的 OU
Get-ADUser "username" | Move-ADObject -TargetPath "OU=NewOU,DC=domain,DC=com"
这个命令用于将特定用户移动到另一个组织单位 (OU)。
22. 备份和恢复 Active Directory 数据
备份 Active Directory 数据通常需要使用 Windows Server Backup 或其他第三方工具,但也可以使用 PowerShell 进行一些相关操作。
备份:
# 备份 Active Directory
Backup-ADDSForest -Path "C:\ADBackup" -BackupMode Full
恢复:
# 恢复 Active Directory
Restore-ADDSForest -Path "C:\ADBackup" -Confirm:$false
这些命令提供了基本的备份和恢复操作示例。确保在执行此类操作之前详细了解文档和最佳实践。
23. 设置用户属性
# 设置用户属性
Set-ADUser -Identity "username" -Department "IT" -Office "Room 123"
这个命令用于更新特定用户的属性,如部门、办公室等信息。
这些命令涵盖了在日常 Active Directory 管理中可能会用到的各种操作和任务。使用 PowerShell 进行管理操作可以提高效率并确保一致性,特别是在大型或复杂的域环境中。
24. 禁用用户账户
# 禁用用户账户
Disable-ADAccount -Identity "username"
这个命令用于禁用特定用户的账户,防止其登录和访问资源。
25. 启用用户账户
# 启用用户账户
Enable-ADAccount -Identity "username"
这个命令用于启用之前禁用的用户账户。
26. 查找特定组中的成员
# 查找特定组中的成员
Get-ADGroupMember -Identity "GroupName"
这个命令用于列出特定组中的所有成员,包括用户和其他组。
27. 导出用户列表到 CSV 文件
# 导出用户列表到 CSV 文件
Get-ADUser -Filter * -Property DisplayName, EmailAddress | Select-Object DisplayName, EmailAddress | Export-Csv -Path "C:\UserList.csv" -NoTypeInformation
这个命令用于导出所有用户的显示名称和电子邮件地址到 CSV 文件,方便后续处理和报告。
28. 设置用户的登录脚本
# 设置用户的登录脚本
Set-ADUser -Identity "username" -ScriptPath "logon_script.bat"
这个命令用于为特定用户设置登录时执行的脚本文件路径。
29. 查找长时间未登录的用户
# 查找长时间未登录的用户
Search-ADAccount -AccountInactive -TimeSpan "90.00:00:00" -UsersOnly | Select-Object Name, LastLogonDate
这个命令用于查找长时间未登录的用户,可以根据需要调整时间跨度。
30. 添加用户到多个组
# 添加用户到多个组
Add-ADGroupMember -Identity "Group1" -Members "username1", "username2"
Add-ADGroupMember -Identity "Group2" -Members "username1", "username3"
这个命令用于将特定用户添加到多个组中,可以一次性添加多个用户到一个或多个组。
这些 PowerShell 命令和技巧覆盖了在管理 Active Directory 环境中常见的多种任务和操作。使用 PowerShell 可以帮助管理员更高效地管理用户、组和域环境,确保安全和一致性。
31. 查找所有已禁用的用户账户
# 查找所有已禁用的用户账户
Get-ADUser -Filter {Enabled -eq $false}
这个命令用于列出所有已禁用(即账户状态为禁用)的用户账户。
32. 查找所有未禁用的用户账户
# 查找所有未禁用的用户账户
Get-ADUser -Filter {Enabled -eq $true}
这个命令用于列出所有未禁用(即账户状态为启用)的用户账户。
33. 查找特定用户的详细信息
# 查找特定用户的详细信息
Get-ADUser -Identity "username" -Properties *
这个命令用于查看特定用户的所有属性和详细信息,包括默认和自定义属性。
34. 查找所有具有密码永不过期属性的用户
# 查找所有具有密码永不过期属性的用户
Get-ADUser -Filter {PasswordNeverExpires -eq $true} | Select-Object Name, UserPrincipalName, PasswordNeverExpires
这个命令用于列出所有具有密码永不过期属性的用户,这些用户的密码不会在设定的期限内过期。
35. 获取域控制器的信息
# 获取域控制器的信息
Get-ADDomainController -Filter *
这个命令用于获取当前域中所有域控制器的详细信息,包括名称、操作系统版本和角色等。
36. 查找所有启用了多重因素身份验证的用户
# 查找所有启用了多重因素身份验证的用户
Get-ADUser -Filter {msDS-StrongAuthenticationRequired -eq $true} | Select-Object Name, UserPrincipalName
这个命令用于列出所有已启用多重因素身份验证的用户,这是增强安全性的一种方法。
37. 导出所有组的成员列表到 CSV 文件
# 导出所有组的成员列表到 CSV 文件
Get-ADGroup -Filter * | ForEach-Object {
$groupName = $_.Name
Get-ADGroupMember -Identity $groupName | Select-Object @{Name="GroupName";Expression={$groupName}}, Name, SamAccountName
} | Export-Csv -Path "C:\GroupMembers.csv" -NoTypeInformation
这个命令用于导出所有组的成员列表到 CSV 文件,包括组名、成员姓名和账户名。
38. 列出所有的服务主体 (Service Principal Names, SPN)
# 列出所有的服务主体 (SPN)
Get-ADObject -Filter {ObjectClass -eq 'servicePrincipalName'} | Select-Object Name, DistinguishedName
这个命令用于列出当前域中定义的所有服务主体 (SPN),有助于管理身份验证和授权。
39. 查找所有具有空邮箱地址的用户
# 查找所有具有空邮箱地址的用户
Get-ADUser -Filter {EmailAddress -notlike "*"} | Select-Object Name, UserPrincipalName, EmailAddress
这个命令用于列出所有未设置邮箱地址的用户,方便管理员进行必要的更新或修复。
40. 同步 Active Directory 中的用户和组信息到 Azure AD
# 同步 Active Directory 中的用户和组信息到 Azure AD
Start-ADSyncSyncCycle -PolicyType Delta
这个命令用于触发 Azure AD Connect 同步服务,将本地 Active Directory 中的更新同步到 Azure AD 中。
这些 PowerShell 命令提供了在日常管理和维护 Active Directory 环境中可能用到的更多操作和技巧。使用 PowerShell 可以高效地自动化和批量处理各种管理任务,确保环境的安全性和稳定性。
41. 查找所有用户的密码过期情况
# 查找所有用户的密码过期情况
Search-ADAccount -PasswordExpired | Select-Object Name, SamAccountName, PasswordExpired
这个命令用于查找所有密码已过期的用户账户,并列出其姓名、账户名以及密码过期状态。
42. 查找所有用户账户的密码到期日期
# 查找所有用户账户的密码到期日期
Get-ADUser -Filter * -Properties "DisplayName", "msDS-UserPasswordExpiryTimeComputed" | Select-Object DisplayName, @{Name="PasswordExpiryDate";Expression={[datetime]::FromFileTime($_."msDS-UserPasswordExpiryTimeComputed")}}
这个命令用于查找所有用户账户的密码到期日期,并显示用户的显示名称和密码到期日期。
43. 查找所有未启用的计算机账户
# 查找所有未启用的计算机账户
Get-ADComputer -Filter {Enabled -eq $false}
这个命令用于列出所有未启用(即账户状态为禁用)的计算机账户。
44. 导出所有用户的详细信息到 CSV 文件
# 导出所有用户的详细信息到 CSV 文件
Get-ADUser -Filter * -Properties * | Export-Csv -Path "C:\UsersDetails.csv" -NoTypeInformation
这个命令用于导出所有用户的详细信息到 CSV 文件,包括所有属性,便于后续分析和管理。
45. 查找所有具有指定姓氏的用户
# 查找所有具有指定姓氏的用户
Get-ADUser -Filter {Surname -like "Smith"} | Select-Object Name, Surname
这个命令用于查找所有姓氏为 "Smith" 的用户,并列出其姓名和姓氏。
46. 查找所有具有特定组成员的用户
# 查找所有具有特定组成员的用户
Get-ADGroupMember -Identity "GroupName" | Get-ADUser | Select-Object Name, SamAccountName
这个命令用于查找属于特定组("GroupName")的所有用户,并列出其姓名和账户名。
47. 查找所有具有管理员权限的用户
# 查找所有具有管理员权限的用户
Get-ADGroup -Filter {Name -like "*Administrators"} | Get-ADGroupMember | Get-ADUser | Select-Object Name, SamAccountName
这个命令用于查找所有属于管理员组(名称以 "Administrators" 结尾)的用户,并列出其姓名和账户名。
48. 查找所有具有空密码的用户
# 查找所有具有空密码的用户
Get-ADUser -Filter {PasswordNeverExpires -eq $true -and PasswordLastSet -eq 0} | Select-Object Name, SamAccountName
这个命令用于查找所有具有空密码的用户,这些用户的密码可能需要立即处理以增强安全性。
49. 导出所有组的详细成员信息到 CSV 文件
# 导出所有组的详细成员信息到 CSV 文件
Get-ADGroup -Filter * | ForEach-Object {
$groupName = $_.Name
Get-ADGroupMember -Identity $groupName | Select-Object @{Name="GroupName";Expression={$groupName}}, Name, SamAccountName
} | Export-Csv -Path "C:\GroupMembersDetails.csv" -NoTypeInformation
这个命令用于导出所有组的详细成员信息到 CSV 文件,包括组名、成员姓名和账户名,以便进行审计和管理。
50. 查找所有已启用的用户账户
# 查找所有已启用的用户账户
Get-ADUser -Filter {Enabled -eq $true}
这个命令用于列出所有已启用(即账户状态为启用)的用户账户。
51. 查找所有用户账户的详细属性
# 查找所有用户账户的详细属性
Get-ADUser -Filter * -Properties * | Select-Object Name, SamAccountName, Enabled, PasswordNeverExpires, PasswordExpired, PasswordLastSet, AccountExpirationDate, LastLogonDate
这个命令用于查找所有用户账户的详细属性,包括姓名、账户名、启用状态、密码永不过期状态、密码是否过期、密码最后设置日期、账户过期日期和最后登录日期等重要信息。
52. 查找所有具有特定电子邮件域的用户
# 查找所有具有特定电子邮件域的用户
Get-ADUser -Filter {EmailAddress -like "*@domain.com"} | Select-Object Name, SamAccountName, EmailAddress
这个命令用于查找所有具有特定电子邮件域(例如 "@domain.com")的用户,并列出其姓名、账户名和电子邮件地址。
53. 查找所有具有特定职务的用户
# 查找所有具有特定职务的用户
Get-ADUser -Filter {Title -like "*Manager*"} | Select-Object Name, SamAccountName, Title
这个命令用于查找所有具有特定职务(例如包含 "Manager" 的职务)的用户,并列出其姓名、账户名和职务信息。
54. 查找所有具有特定部门的用户
# 查找所有具有特定部门的用户
Get-ADUser -Filter {Department -like "*IT*"} | Select-Object Name, SamAccountName, Department
这个命令用于查找所有具有特定部门(例如包含 "IT" 的部门)的用户,并列出其姓名、账户名和部门信息。
55. 查找所有具有特定办公室位置的用户
# 查找所有具有特定办公室位置的用户
Get-ADUser -Filter {Office -like "*New York*"} | Select-Object Name, SamAccountName, Office
这个命令用于查找所有具有特定办公室位置(例如包含 "New York" 的位置)的用户,并列出其姓名、账户名和办公室位置信息。
56. 查找所有具有特定手机号码的用户
# 查找所有具有特定手机号码的用户
Get-ADUser -Filter {MobilePhone -like "*1234567890*"} | Select-Object Name, SamAccountName, MobilePhone
这个命令用于查找所有具有特定手机号码(例如包含 "1234567890" 的手机号码)的用户,并列出其姓名、账户名和手机号码信息。
57. 查找所有具有指定账户控制策略的用户
# 查找所有具有指定账户控制策略的用户
Get-ADUser -Filter {msDS-User-Account-Control-Computed -band 65536} | Select-Object Name, SamAccountName
这个命令用于查找所有具有指定账户控制策略(例如需要强制用户密码复杂性)的用户,并列出其姓名和账户名。
58. 查找所有具有指定登录脚本的用户
# 查找所有具有指定登录脚本的用户
Get-ADUser -Filter {ScriptPath -like "*logon.bat"} | Select-Object Name, SamAccountName, ScriptPath
这个命令用于查找所有具有指定登录脚本(例如 "logon.bat")的用户,并列出其姓名、账户名和登录脚本路径。
59. 查找所有具有指定家庭文件夹路径的用户
# 查找所有具有指定家庭文件夹路径的用户
Get-ADUser -Filter {HomeDirectory -like "*\\fileserver\share*"} | Select-Object Name, SamAccountName, HomeDirectory
这个命令用于查找所有具有指定家庭文件夹路径(例如 "\fileserver\share")的用户,并列出其姓名、账户名和家庭文件夹路径。
60. 查找所有具有指定邮政编码的用户
# 查找所有具有指定邮政编码的用户
Get-ADUser -Filter {PostalCode -like "*12345*"} | Select-Object Name, SamAccountName, PostalCode
这个命令用于查找所有具有指定邮政编码(例如包含 "12345" 的邮政编码)的用户,并列出其姓名、账户名和邮政编码信息。
这些命令可以帮助管理员快速有效地管理和审查Active Directory中的用户信息,以便于日常运维和安全管理。
61. 查找所有具有指定城市的用户
# 查找所有具有指定城市的用户
Get-ADUser -Filter {City -eq "New York"} | Select-Object Name, SamAccountName, City
这个命令用于查找所有位于特定城市(例如 "New York")的用户,并列出其姓名、账户名和城市信息。
62. 查找所有具有指定国家/地区的用户
# 查找所有具有指定国家/地区的用户
Get-ADUser -Filter {Country -eq "United States"} | Select-Object Name, SamAccountName, Country
这个命令用于查找所有位于特定国家/地区(例如 "United States")的用户,并列出其姓名、账户名和国家/地区信息。
63. 查找所有具有过期账户的用户
# 查找所有具有过期账户的用户
Get-ADUser -Filter {AccountExpirationDate -lt (Get-Date)} | Select-Object Name, SamAccountName, AccountExpirationDate
这个命令用于查找所有账户已过期的用户,并列出其姓名、账户名和账户过期日期信息。
64. 查找所有密码已过期的用户
# 查找所有密码已过期的用户
Get-ADUser -Filter {PasswordExpired -eq $true} | Select-Object Name, SamAccountName, PasswordExpired
这个命令用于查找所有密码已过期的用户,并列出其姓名、账户名和密码过期状态信息。
65. 查找所有密码从未过期的用户
# 查找所有密码从未过期的用户
Get-ADUser -Filter {PasswordNeverExpires -eq $true} | Select-Object Name, SamAccountName, PasswordNeverExpires
这个命令用于查找所有密码从未过期的用户,并列出其姓名、账户名和密码永不过期状态信息。
66. 查找所有具有指定用户组成员身份的用户
# 查找所有具有指定用户组成员身份的用户
Get-ADUser -Filter {MemberOf -like "*Administrators*"} | Select-Object Name, SamAccountName, MemberOf
这个命令用于查找所有属于特定用户组(例如包含 "Administrators" 组)的用户,并列出其姓名、账户名和所属用户组信息。
67. 查找所有具有指定登录名前缀的用户
# 查找所有具有指定登录名前缀的用户
Get-ADUser -Filter {SamAccountName -like "prefix*"} | Select-Object Name, SamAccountName
这个命令用于查找所有登录名以特定前缀(例如 "prefix")开头的用户,并列出其姓名和账户名。
68. 查找所有具有指定描述的用户
# 查找所有具有指定描述的用户
Get-ADUser -Filter {Description -like "*description*"} | Select-Object Name, SamAccountName, Description
这个命令用于查找所有具有特定描述(例如包含 "description" 的描述)的用户,并列出其姓名、账户名和描述信息。
69. 查找所有具有指定员工ID的用户
# 查找所有具有指定员工ID的用户
Get-ADUser -Filter {EmployeeID -eq "12345"} | Select-Object Name, SamAccountName, EmployeeID
这个命令用于查找所有具有特定员工ID(例如 "12345")的用户,并列出其姓名、账户名和员工ID信息。
70. 查找所有具有指定Office 365许可证的用户
# 查找所有具有指定Office 365许可证的用户
Get-ADUser -Filter {msExchRecipientTypeDetails -eq "UserMailbox"} | Select-Object Name, SamAccountName
这个命令用于查找所有具有指定Office 365许可证(例如 "UserMailbox" 表示用户邮箱)的用户,并列出其姓名和账户名。
这些命令可以帮助管理员在Active Directory中针对不同需求快速定位和管理用户账户信息。
71. 查找所有具有指定邮箱地址的用户
# 查找所有具有指定邮箱地址的用户
Get-ADUser -Filter {EmailAddress -like "*@domain.com"} | Select-Object Name, SamAccountName, EmailAddress
这个命令用于查找所有具有特定邮箱地址(例如以 "@domain.com" 结尾的邮箱地址)的用户,并列出其姓名、账户名和邮箱地址信息。
72. 查找所有具有启用状态的用户
# 查找所有具有启用状态的用户
Get-ADUser -Filter {Enabled -eq $true} | Select-Object Name, SamAccountName, Enabled
这个命令用于查找所有处于启用状态的用户,并列出其姓名、账户名和启用状态信息。
73. 查找所有具有禁用状态的用户
# 查找所有具有禁用状态的用户
Get-ADUser -Filter {Enabled -eq $false} | Select-Object Name, SamAccountName, Enabled
这个命令用于查找所有处于禁用状态的用户,并列出其姓名、账户名和启用状态信息。
74. 查找所有具有指定员工部门的用户
# 查找所有具有指定员工部门的用户
Get-ADUser -Filter {Department -eq "IT"} | Select-Object Name, SamAccountName, Department
这个命令用于查找所有属于特定员工部门(例如 "IT" 部门)的用户,并列出其姓名、账户名和部门信息。
75. 查找所有具有过去指定日期加入日期的用户
# 查找所有具有过去指定日期加入日期的用户
Get-ADUser -Filter {WhenCreated -lt (Get-Date "2023-01-01")} | Select-Object Name, SamAccountName, WhenCreated
这个命令用于查找所有加入日期早于指定日期(例如 "2023-01-01")的用户,并列出其姓名、账户名和加入日期信息。
76. 查找所有具有指定姓氏的用户
# 查找所有具有指定姓氏的用户
Get-ADUser -Filter {Surname -eq "Smith"} | Select-Object Name, SamAccountName, Surname
这个命令用于查找所有具有特定姓氏(例如 "Smith")的用户,并列出其姓名、账户名和姓氏信息。
77. 查找所有具有指定名字的用户
# 查找所有具有指定名字的用户
Get-ADUser -Filter {GivenName -eq "John"} | Select-Object Name, SamAccountName, GivenName
这个命令用于查找所有具有特定名字(例如 "John")的用户,并列出其姓名、账户名和名字信息。
78. 查找所有具有指定电话号码的用户
# 查找所有具有指定电话号码的用户
Get-ADUser -Filter {PhoneNumber -eq "123-456-7890"} | Select-Object Name, SamAccountName, PhoneNumber
这个命令用于查找所有具有特定电话号码(例如 "123-456-7890")的用户,并列出其姓名、账户名和电话号码信息。
79. 查找所有具有指定员工类型的用户
# 查找所有具有指定员工类型的用户
Get-ADUser -Filter {EmployeeType -eq "Contractor"} | Select-Object Name, SamAccountName, EmployeeType
这个命令用于查找所有具有特定员工类型(例如 "Contractor")的用户,并列出其姓名、账户名和员工类型信息。
80. 查找所有具有指定职务的用户
# 查找所有具有指定职务的用户
Get-ADUser -Filter {Title -like "*Manager*"} | Select-Object Name, SamAccountName, Title
这个命令用于查找所有具有特定职务(例如包含 "Manager" 的职务)的用户,并列出其姓名、账户名和职务信息。
这些命令可以帮助管理员根据不同的属性和条件快速过滤和管理Active Directory中的用户信息。
81. 查找所有具有指定账户描述的用户
# 查找所有具有指定账户描述的用户
Get-ADUser -Filter {Description -like "*Admin*"} | Select-Object Name, SamAccountName, Description
这个命令用于查找所有具有特定账户描述(例如包含 "Admin" 的描述)的用户,并列出其姓名、账户名和描述信息。
82. 查找所有具有指定城市的用户
# 查找所有具有指定城市的用户
Get-ADUser -Filter {City -eq "New York"} | Select-Object Name, SamAccountName, City
这个命令用于查找所有属于特定城市(例如 "New York")的用户,并列出其姓名、账户名和城市信息。
83. 查找所有具有指定国家/地区代码的用户
# 查找所有具有指定国家/地区代码的用户
Get-ADUser -Filter {Country -eq "US"} | Select-Object Name, SamAccountName, Country
这个命令用于查找所有属于特定国家/地区代码(例如 "US" 表示美国)的用户,并列出其姓名、账户名和国家/地区信息。
84. 查找所有具有过期密码的用户
# 查找所有具有过期密码的用户
Search-ADAccount -PasswordExpired | Where-Object {$_.ObjectClass -eq 'user'} | Select-Object Name, SamAccountName
这个命令用于查找所有具有过期密码的用户,并列出其姓名和账户名信息。
85. 查找所有具有永久密码锁定状态的用户
# 查找所有具有永久密码锁定状态的用户
Search-ADAccount -LockedOut -UsersOnly | Select-Object Name, SamAccountName
这个命令用于查找所有处于永久密码锁定状态的用户,并列出其姓名和账户名信息。
86. 查找所有具有密码不允许更改属性设置的用户
# 查找所有具有密码不允许更改属性设置的用户
Get-ADUser -Filter {CannotChangePassword -eq $true} | Select-Object Name, SamAccountName, CannotChangePassword
这个命令用于查找所有具有密码不允许更改属性设置的用户,并列出其姓名、账户名和属性信息。
87. 查找所有具有指定办公室的用户
# 查找所有具有指定办公室的用户
Get-ADUser -Filter {Office -like "*Building A*"} | Select-Object Name, SamAccountName, Office
这个命令用于查找所有属于特定办公室(例如包含 "Building A" 的办公室)的用户,并列出其姓名、账户名和办公室信息。
88. 查找所有具有指定组名的用户
# 查找所有具有指定组名的用户
Get-ADUser -Filter {MemberOf -eq "CN=IT Group,CN=Users,DC=domain,DC=com"} | Select-Object Name, SamAccountName
这个命令用于查找所有属于指定组(例如名为 "IT Group" 的组)的用户,并列出其姓名和账户名信息。
89. 查找所有具有指定公司名称的用户
# 查找所有具有指定公司名称的用户
Get-ADUser -Filter {Company -eq "Example Corp"} | Select-Object Name, SamAccountName, Company
这个命令用于查找所有属于特定公司名称(例如 "Example Corp")的用户,并列出其姓名、账户名和公司信息。
90. 查找所有具有指定用户主目录的用户
# 查找所有具有指定用户主目录的用户
Get-ADUser -Filter {HomeDirectory -like "\\server1\users\*"} | Select-Object Name, SamAccountName, HomeDirectory
这个命令用于查找所有具有特定用户主目录路径(例如以 "\server1\users" 开头的路径)的用户,并列出其姓名、账户名和用户主目录信息。
这些命令可以帮助管理员根据不同的属性和条件更精确地管理和查询 Active Directory 中的用户信息。
91. 查找所有具有启用状态的用户
# 查找所有具有启用状态的用户
Get-ADUser -Filter {Enabled -eq $true} | Select-Object Name, SamAccountName, Enabled
这个命令用于查找所有处于启用状态的用户,并列出其姓名、账户名和启用状态信息。
92. 查找所有具有禁用状态的用户
# 查找所有具有禁用状态的用户
Get-ADUser -Filter {Enabled -eq $false} | Select-Object Name, SamAccountName, Enabled
这个命令用于查找所有处于禁用状态的用户,并列出其姓名、账户名和启用状态信息。
93. 查找所有具有密码永不过期属性设置的用户
# 查找所有具有密码永不过期属性设置的用户
Get-ADUser -Filter {PasswordNeverExpires -eq $true} | Select-Object Name, SamAccountName, PasswordNeverExpires
这个命令用于查找所有具有密码永不过期属性设置的用户,并列出其姓名、账户名和属性信息。
94. 查找所有具有指定邮箱地址的用户
# 查找所有具有指定邮箱地址的用户
Get-ADUser -Filter {EmailAddress -eq "john.doe@example.com"} | Select-Object Name, SamAccountName, EmailAddress
这个命令用于查找所有具有特定邮箱地址(例如 "john.doe@example.com")的用户,并列出其姓名、账户名和邮箱地址信息。
95. 查找所有具有指定员工ID的用户
# 查找所有具有指定员工ID的用户
Get-ADUser -Filter {EmployeeID -eq "12345"} | Select-Object Name, SamAccountName, EmployeeID
这个命令用于查找所有具有特定员工ID(例如 "12345")的用户,并列出其姓名、账户名和员工ID信息。
96. 查找所有具有指定手机号码的用户
# 查找所有具有指定手机号码的用户
Get-ADUser -Filter {MobilePhone -eq "555-555-5555"} | Select-Object Name, SamAccountName, MobilePhone
这个命令用于查找所有具有特定手机号码(例如 "555-555-5555")的用户,并列出其姓名、账户名和手机号码信息。
97. 查找所有具有指定职务的用户
# 查找所有具有指定职务的用户
Get-ADUser -Filter {Title -eq "Manager"} | Select-Object Name, SamAccountName, Title
这个命令用于查找所有具有特定职务(例如 "Manager")的用户,并列出其姓名、账户名和职务信息。
98. 查找所有具有指定姓氏的用户
# 查找所有具有指定姓氏的用户
Get-ADUser -Filter {Surname -eq "Smith"} | Select-Object Name, SamAccountName, Surname
这个命令用于查找所有具有特定姓氏(例如 "Smith")的用户,并列出其姓名、账户名和姓氏信息。
99. 查找所有具有指定中间名称的用户
# 查找所有具有指定中间名称的用户
Get-ADUser -Filter {MiddleName -eq "Lee"} | Select-Object Name, SamAccountName, MiddleName
这个命令用于查找所有具有特定中间名称(例如 "Lee")的用户,并列出其姓名、账户名和中间名称信息。
100. 查找所有具有指定用户PrincipalName的用户
# 查找所有具有指定用户PrincipalName的用户
Get-ADUser -Filter {UserPrincipalName -eq "john.doe@domain.com"} | Select-Object Name, SamAccountName, UserPrincipalName
这个命令用于查找所有具有特定用户PrincipalName(例如 "john.doe@domain.com")的用户,并列出其姓名、账户名和用户PrincipalName信息。
这些命令涵盖了多种条件和属性,可以帮助管理员根据特定的标准在 Active Directory 中查找和管理用户。
101. 查找所有具有指定部门的用户
# 查找所有具有指定部门的用户
Get-ADUser -Filter {Department -eq "IT"} | Select-Object Name, SamAccountName, Department
这个命令用于查找所有具有特定部门(例如 "IT")的用户,并列出其姓名、账户名和部门信息。
102. 查找所有具有指定办公室位置的用户
# 查找所有具有指定办公室位置的用户
Get-ADUser -Filter {Office -eq "Building A, Room 101"} | Select-Object Name, SamAccountName, Office
这个命令用于查找所有具有特定办公室位置(例如 "Building A, Room 101")的用户,并列出其姓名、账户名和办公室位置信息。
103. 查找所有具有指定城市的用户
# 查找所有具有指定城市的用户
Get-ADUser -Filter {City -eq "New York"} | Select-Object Name, SamAccountName, City
这个命令用于查找所有具有特定城市(例如 "New York")的用户,并列出其姓名、账户名和城市信息。
104. 查找所有具有指定州/省的用户
# 查找所有具有指定州/省的用户
Get-ADUser -Filter {State -eq "California"} | Select-Object Name, SamAccountName, State
这个命令用于查找所有具有特定州或省(例如 "California")的用户,并列出其姓名、账户名和州/省信息。
105. 查找所有具有指定国家/地区的用户
# 查找所有具有指定国家/地区的用户
Get-ADUser -Filter {Country -eq "United States"} | Select-Object Name, SamAccountName, Country
这个命令用于查找所有具有特定国家或地区(例如 "United States")的用户,并列出其姓名、账户名和国家/地区信息。
106. 查找所有具有指定邮政编码的用户
# 查找所有具有指定邮政编码的用户
Get-ADUser -Filter {PostalCode -eq "10001"} | Select-Object Name, SamAccountName, PostalCode
这个命令用于查找所有具有特定邮政编码(例如 "10001")的用户,并列出其姓名、账户名和邮政编码信息。
107. 查找所有具有指定启用日期之后创建的用户
# 查找所有具有指定启用日期之后创建的用户
Get-ADUser -Filter {WhenCreated -ge (Get-Date "2023-01-01")} | Select-Object Name, SamAccountName, WhenCreated
这个命令用于查找所有在指定日期之后创建的用户,并列出其姓名、账户名和创建日期信息。
108. 查找所有具有指定上次登录日期之后登录的用户
# 查找所有具有指定上次登录日期之后登录的用户
Get-ADUser -Filter {LastLogonDate -ge (Get-Date "2023-01-01")} | Select-Object Name, SamAccountName, LastLogonDate
这个命令用于查找所有在指定日期之后登录过的用户,并列出其姓名、账户名和上次登录日期信息。
这些命令帮助管理员根据不同的属性和条件更精确地在 Active Directory 中查找和管理用户信息。
109. 查找所有具有过期密码的用户
# 查找所有具有过期密码的用户
Search-ADAccount -PasswordExpired | Select-Object Name, SamAccountName
这个命令用于查找所有密码已过期的用户,并列出其姓名和账户名。
110. 查找所有具有永久密码锁定状态的用户
# 查找所有具有永久密码锁定状态的用户
Search-ADAccount -LockedOut | Select-Object Name, SamAccountName
这个命令用于查找所有因密码错误次数过多而永久锁定的用户,并列出其姓名和账户名。
111. 查找所有具有暂时密码锁定状态的用户
# 查找所有具有暂时密码锁定状态的用户
Search-ADAccount -AccountDisabled | Select-Object Name, SamAccountName
这个命令用于查找所有因密码错误次数过多而暂时锁定的用户,并列出其姓名和账户名。
112. 查找所有具有必须更改密码状态的用户
# 查找所有具有必须更改密码状态的用户
Search-ADAccount -PasswordMustChange | Select-Object Name, SamAccountName
这个命令用于查找所有需要立即更改密码的用户,并列出其姓名和账户名。
113. 查找所有具有不活动状态的计算机账户
# 查找所有具有不活动状态的计算机账户
Search-ADAccount -AccountInactive -ComputersOnly | Select-Object Name, SamAccountName
这个命令用于查找所有不活动的计算机账户,并列出其名称和账户名。
114. 查找所有具有不活动状态的用户账户
# 查找所有具有不活动状态的用户账户(超过90天未登录)
Search-ADAccount -AccountInactive -TimeSpan 90 | Select-Object Name, SamAccountName
这个命令用于查找所有超过指定时间(例如90天)未登录的用户账户,并列出其姓名和账户名。
115. 查找所有具有过期服务账户
# 查找所有具有过期服务账户
Search-ADAccount -AccountExpired -ServiceAccounts | Select-Object Name, SamAccountName
这个命令用于查找所有过期的服务账户,并列出其姓名和账户名。
116. 查找所有具有启用状态的用户
# 查找所有具有启用状态的用户
Get-ADUser -Filter {Enabled -eq $true} | Select-Object Name, SamAccountName
这个命令用于查找所有已启用的用户,并列出其姓名和账户名。
这些命令能帮助管理员对 Active Directory 中的用户和计算机账户进行全面的管理和监控,确保网络安全和运行顺畅。
117. 查找所有具有禁用状态的用户
# 查找所有具有禁用状态的用户
Get-ADUser -Filter {Enabled -eq $false} | Select-Object Name, SamAccountName
这个命令用于查找所有已禁用的用户,并列出其姓名和账户名。
118. 查找所有具有特定姓氏的用户
# 查找所有具有特定姓氏的用户(例如姓为Smith的用户)
Get-ADUser -Filter {Surname -eq "Smith"} | Select-Object Name, SamAccountName
这个命令用于查找姓为特定值(例如"Smith")的用户,并列出其姓名和账户名。
119. 查找所有具有指定邮箱地址的用户
# 查找所有具有指定邮箱地址的用户
Get-ADUser -Filter {EmailAddress -like "*@domain.com"} | Select-Object Name, SamAccountName
这个命令用于查找所有具有特定邮箱地址域(例如@domain.com)的用户,并列出其姓名和账户名。
120. 查找所有具有指定描述的计算机账户
# 查找所有具有指定描述的计算机账户
Get-ADComputer -Filter {Description -like "*Server*"} | Select-Object Name, SamAccountName
这个命令用于查找所有描述中包含特定关键词(例如"Server")的计算机账户,并列出其名称和账户名。
121. 查找所有具有指定组成员的用户
# 查找所有具有指定组成员的用户
Get-ADUser -Filter {MemberOf -RecursiveMatch "CN=GroupName,OU=Groups,DC=domain,DC=com"} | Select-Object Name, SamAccountName
这个命令用于查找所有属于特定组(例如GroupName)的用户,并列出其姓名和账户名。
122. 查找所有具有指定登录脚本的用户
# 查找所有具有指定登录脚本的用户
Get-ADUser -Filter {ScriptPath -like "*logon.bat"} | Select-Object Name, SamAccountName
这个命令用于查找所有登录脚本路径中包含特定关键词(例如"logon.bat")的用户,并列出其姓名和账户名。
123. 查找所有具有指定家目录路径的用户
# 查找所有具有指定家目录路径的用户
Get-ADUser -Filter {HomeDirectory -like "*path*"} | Select-Object Name, SamAccountName
这个命令用于查找所有家目录路径中包含特定关键词(例如"path")的用户,并列出其姓名和账户名。
124. 查找所有具有指定部门的用户
# 查找所有具有指定部门的用户
Get-ADUser -Filter {Department -eq "IT"} | Select-Object Name, SamAccountName
这个命令用于查找所有部门为特定值(例如"IT")的用户,并列出其姓名和账户名。
这些命令可以帮助管理员根据不同的属性和条件快速查找和管理 Active Directory 中的用户和计算机账户。
125. 查找所有具有过期密码的用户
# 查找所有具有过期密码的用户
Search-ADAccount -PasswordExpired | Select-Object Name, SamAccountName
这个命令用于查找所有密码已过期的用户,并列出其姓名和账户名。
126. 查找所有具有永久锁定状态的用户
# 查找所有具有永久锁定状态的用户
Search-ADAccount -LockedOut | Select-Object Name, SamAccountName
这个命令用于查找所有被永久锁定的用户,并列出其姓名和账户名。
127. 查找所有具有临时锁定状态的用户
# 查找所有具有临时锁定状态的用户
Search-ADAccount -AccountLockedOut | Select-Object Name, SamAccountName
这个命令用于查找所有处于临时锁定状态的用户,并列出其姓名和账户名。
128. 查找所有具有密码永不过期属性的用户
# 查找所有具有密码永不过期属性的用户
Get-ADUser -Filter {PasswordNeverExpires -eq $true} | Select-Object Name, SamAccountName
这个命令用于查找所有密码永不过期的用户,并列出其姓名和账户名。
129. 查找所有具有空密码策略的用户
# 查找所有具有空密码策略的用户
Get-ADUser -Filter {PasswordLastSet -eq $null} | Select-Object Name, SamAccountName
这个命令用于查找所有密码从未设置过的用户,并列出其姓名和账户名。
130. 查找所有具有特定组策略的计算机账户
# 查找所有具有特定组策略的计算机账户
Get-ADComputer -Filter {MemberOf -RecursiveMatch "CN=GroupPolicyName,OU=Groups,DC=domain,DC=com"} | Select-Object Name, SamAccountName
这个命令用于查找所有应用特定组策略(例如GroupPolicyName)的计算机账户,并列出其名称和账户名。
这些命令涵盖了不同情境下管理 Active Directory 中用户和计算机账户的需求,帮助管理员快速有效地进行管理和监控。
131. 查找所有具有指定服务主体名称(SPN)的计算机账户
# 查找所有具有指定服务主体名称(SPN)的计算机账户
Get-ADComputer -Filter {ServicePrincipalName -like "*HTTP/*"} | Select-Object Name, SamAccountName
这个命令用于查找所有具有特定服务主体名称(SPN)模式(例如HTTP/*)的计算机账户,并列出其名称和账户名。
132. 查找所有具有指定操作系统版本的计算机账户
# 查找所有具有指定操作系统版本的计算机账户
Get-ADComputer -Filter {OperatingSystem -like "Windows Server 2019*"} | Select-Object Name, OperatingSystem
这个命令用于查找所有操作系统版本为特定值(例如Windows Server 2019)的计算机账户,并列出其名称和操作系统。
133. 查找所有具有指定服务账户类型的用户
# 查找所有具有指定服务账户类型的用户
Get-ADUser -Filter {ServiceAccount -eq $true} | Select-Object Name, SamAccountName
这个命令用于查找所有被标记为服务账户的用户,并列出其姓名和账户名。
134. 查找所有具有指定帐户控制标志的用户
# 查找所有具有指定帐户控制标志的用户(例如不需密码更改)
Get-ADUser -Filter {UserAccountControl -band 0x0020} | Select-Object Name, SamAccountName
这个命令用于查找所有具有特定帐户控制标志(例如不需密码更改)的用户,并列出其姓名和账户名。
135. 查找所有具有指定用户登录脚本的计算机账户
# 查找所有具有指定用户登录脚本的计算机账户
Get-ADComputer -Filter {ScriptPath -like "*logon.bat"} | Select-Object Name, SamAccountName
这个命令用于查找所有用户登录脚本路径中包含特定关键词(例如"logon.bat")的计算机账户,并列出其名称和账户名。
136. 查找所有具有指定服务账户类型的计算机账户
# 查找所有具有指定服务账户类型的计算机账户
Get-ADComputer -Filter {ServiceAccount -eq $true} | Select-Object Name, SamAccountName
这个命令用于查找所有被标记为服务账户的计算机账户,并列出其名称和账户名。
这些命令扩展了管理员管理和监视 Active Directory 环境中各种对象的能力,使其能够针对不同的属性和条件快速筛选和操作对象。
137. 查找所有具有启用状态的用户
# 查找所有具有启用状态的用户
Get-ADUser -Filter {Enabled -eq $true} | Select-Object Name, SamAccountName
这个命令用于查找所有已启用的用户,并列出其姓名和账户名。
138. 查找所有具有禁用状态的用户
# 查找所有具有禁用状态的用户
Get-ADUser -Filter {Enabled -eq $false} | Select-Object Name, SamAccountName
这个命令用于查找所有已禁用的用户,并列出其姓名和账户名。
139. 查找所有具有指定邮箱地址的用户
# 查找所有具有指定邮箱地址的用户
Get-ADUser -Filter {EmailAddress -like "*@domain.com"} | Select-Object Name, SamAccountName, EmailAddress
这个命令用于查找所有具有特定邮箱地址(例如 *@domain.com)的用户,并列出其姓名、账户名和邮箱地址。
140. 查找所有具有指定电话号码的用户
# 查找所有具有指定电话号码的用户
Get-ADUser -Filter {PhoneNumber -like "555-*"} | Select-Object Name, SamAccountName, PhoneNumber
这个命令用于查找所有具有特定电话号码模式(例如以"555-"开头的)的用户,并列出其姓名、账户名和电话号码。
141. 查找所有具有指定描述的组
# 查找所有具有指定描述的组
Get-ADGroup -Filter {Description -like "*Finance*"} | Select-Object Name, Description
这个命令用于查找所有描述中包含特定关键词(例如"Finance")的组,并列出其名称和描述信息。
142. 查找所有具有指定组策略应用的用户
# 查找所有具有指定组策略应用的用户
Get-ADUser -Filter {MemberOf -RecursiveMatch "CN=GroupPolicyName,OU=Groups,DC=domain,DC=com"} | Select-Object Name, SamAccountName
这个命令用于查找所有应用特定组策略(例如GroupPolicyName)的用户,并列出其姓名和账户名。
这些命令涵盖了在管理和监视 Active Directory 中的用户、计算机和组时可能用到的多种情况和条件。通过这些命令,管理员可以更精确地定位和操作所需的对象。
Active Directory 的 PowerShell 命令:
143. 查找所有具有指定员工ID的用户
# 查找所有具有指定员工ID的用户
Get-ADUser -Filter {EmployeeID -eq "12345"} | Select-Object Name, SamAccountName, EmployeeID
这个命令用于查找所有具有特定员工ID(例如"12345")的用户,并列出其姓名、账户名和员工ID。
144. 查找所有具有指定办公室位置的用户
# 查找所有具有指定办公室位置的用户
Get-ADUser -Filter {Office -eq "New York"} | Select-Object Name, SamAccountName, Office
这个命令用于查找所有办公室位置为特定值(例如"New York")的用户,并列出其姓名、账户名和办公室位置。
145. 查找所有具有指定部门的用户
# 查找所有具有指定部门的用户
Get-ADUser -Filter {Department -eq "IT"} | Select-Object Name, SamAccountName, Department
这个命令用于查找所有所属部门为特定值(例如"IT")的用户,并列出其姓名、账户名和部门。
146. 查找所有具有指定员工类型的用户
# 查找所有具有指定员工类型的用户
Get-ADUser -Filter {Title -like "*Manager*"} | Select-Object Name, SamAccountName, Title
这个命令用于查找所有员工职称中包含特定关键词(例如"Manager")的用户,并列出其姓名、账户名和职称。
147. 查找所有具有指定描述的计算机账户
# 查找所有具有指定描述的计算机账户
Get-ADComputer -Filter {Description -like "*Server*"} | Select-Object Name, SamAccountName, Description
这个命令用于查找所有描述中包含特定关键词(例如"Server")的计算机账户,并列出其名称、账户名和描述信息。
148. 查找所有具有指定操作系统版本的计算机账户
# 查找所有具有指定操作系统版本的计算机账户
Get-ADComputer -Filter {OperatingSystem -like "Windows 10*"} | Select-Object Name, OperatingSystem
这个命令用于查找所有操作系统版本为特定值(例如Windows 10)的计算机账户,并列出其名称和操作系统。
149. 查找所有具有指定DNS名称的计算机账户
# 查找所有具有指定DNS名称的计算机账户
Get-ADComputer -Filter {DNSHostName -like "server*"} | Select-Object Name, DNSHostName
这个命令用于查找所有DNS主机名以特定模式(例如以"server"开头)命名的计算机账户,并列出其名称和DNS主机名。
150. 查找所有具有指定服务主体名称(SPN)的计算机账户
# 查找所有具有指定服务主体名称(SPN)的计算机账户
Get-ADComputer -Filter {ServicePrincipalName -like "*HTTP/*"} | Select-Object Name, SamAccountName
这个命令用于查找所有具有特定服务主体名称(SPN)模式(例如HTTP/*)的计算机账户,并列出其名称和账户名。
这些命令可以帮助管理员在 Active Directory 中更精确地查找和管理用户、计算机和组,根据特定的属性和条件进行筛选和操作。
Active Directory 的 PowerShell 命令:
151. 查找所有具有过期密码的用户
# 查找所有具有过期密码的用户
Search-ADAccount -PasswordExpired | Select-Object Name, SamAccountName
这个命令用于查找所有密码已过期的用户,并列出其姓名和账户名。
152. 查找所有已禁用的用户账户
# 查找所有已禁用的用户账户
Get-ADUser -Filter {Enabled -eq $false} | Select-Object Name, SamAccountName
这个命令用于查找所有已禁用的用户账户,并列出其姓名和账户名。
153. 查找所有已启用的用户账户
# 查找所有已启用的用户账户
Get-ADUser -Filter {Enabled -eq $true} | Select-Object Name, SamAccountName
这个命令用于查找所有已启用的用户账户,并列出其姓名和账户名。
154. 查找所有已禁用的计算机账户
# 查找所有已禁用的计算机账户
Get-ADComputer -Filter {Enabled -eq $false} | Select-Object Name, SamAccountName
这个命令用于查找所有已禁用的计算机账户,并列出其名称和账户名。
155. 查找所有具有指定组成员的用户
# 查找所有具有指定组成员的用户
Get-ADGroupMember -Identity "GroupName" | Where-Object { $_.objectClass -eq 'user' } | Select-Object Name, SamAccountName
这个命令用于查找所有属于指定组("GroupName")的成员用户,并列出其姓名和账户名。
156. 查找所有具有指定组成员的计算机账户
# 查找所有具有指定组成员的计算机账户
Get-ADGroupMember -Identity "GroupName" | Where-Object { $_.objectClass -eq 'computer' } | Select-Object Name, SamAccountName
这个命令用于查找所有属于指定组("GroupName")的成员计算机账户,并列出其名称和账户名。
157. 查找所有具有指定描述的用户账户
# 查找所有具有指定描述的用户账户
Get-ADUser -Filter {Description -like "*Contractor*"} | Select-Object Name, SamAccountName, Description
这个命令用于查找所有描述中包含特定关键词(例如"Contractor")的用户账户,并列出其姓名、账户名和描述信息。
158. 查找所有具有指定邮箱地址的用户账户
# 查找所有具有指定邮箱地址的用户账户
Get-ADUser -Filter {EmailAddress -like "*@example.com"} | Select-Object Name, SamAccountName, EmailAddress
这个命令用于查找所有邮箱地址符合特定模式(例如以@example.com结尾)的用户账户,并列出其姓名、账户名和邮箱地址。
这些命令提供了在 Active Directory 中进行用户和计算机账户管理时的更多灵活选项,可以根据不同的属性和条件快速定位和操作目标账户。
Active Directory 的 PowerShell 命令:
159. 查找所有密码从未过期的用户
# 查找所有密码从未过期的用户
Search-ADAccount -PasswordNeverExpires | Select-Object Name, SamAccountName
这个命令用于查找所有密码从未过期的用户,并列出其姓名和账户名。
160. 查找所有具有空密码的用户
# 查找所有具有空密码的用户
Search-ADAccount -PasswordNeverExpires -UsersOnly -PasswordEmpty | Select-Object Name, SamAccountName
这个命令用于查找所有具有空密码的用户,并列出其姓名和账户名。
161. 查找所有具有指定员工ID的用户账户
# 查找所有具有指定员工ID的用户账户
Get-ADUser -Filter {EmployeeID -eq "12345"} | Select-Object Name, SamAccountName, EmployeeID
这个命令用于查找所有具有特定员工ID(例如"12345")的用户账户,并列出其姓名、账户名和员工ID。
162. 查找所有具有指定部门的用户账户
# 查找所有具有指定部门的用户账户
Get-ADUser -Filter {Department -eq "IT"} | Select-Object Name, SamAccountName, Department
这个命令用于查找所有属于特定部门(例如"IT")的用户账户,并列出其姓名、账户名和部门信息。
163. 查找所有具有指定职务的用户账户
# 查找所有具有指定职务的用户账户
Get-ADUser -Filter {Title -like "*Manager*"} | Select-Object Name, SamAccountName, Title
这个命令用于查找所有职务中包含特定关键词(例如"Manager")的用户账户,并列出其姓名、账户名和职务信息。
164. 查找所有具有指定姓氏的用户账户
# 查找所有具有指定姓氏的用户账户
Get-ADUser -Filter {Surname -eq "Smith"} | Select-Object Name, SamAccountName, Surname
这个命令用于查找所有姓氏为特定姓氏(例如"Smith")的用户账户,并列出其姓名、账户名和姓氏信息。
165. 查找所有具有指定账户过期日期的用户账户
# 查找所有具有指定账户过期日期的用户账户
Get-ADUser -Filter {AccountExpirationDate -eq "07/31/2024"} | Select-Object Name, SamAccountName, AccountExpirationDate
这个命令用于查找所有账户过期日期为特定日期(例如"07/31/2024")的用户账户,并列出其姓名、账户名和账户过期日期信息。
这些命令提供了在 Active Directory 中进行用户属性和条件过滤时的示例,帮助管理员快速准确地定位特定需求的用户账户。
166. 查找所有具有特定邮箱地址的用户账户
# 查找所有具有特定邮箱地址的用户账户
Get-ADUser -Filter {EmailAddress -eq "john.doe@example.com"} | Select-Object Name, SamAccountName, EmailAddress
这个命令用于查找所有具有特定邮箱地址(例如"john.doe@example.com")的用户账户,并列出其姓名、账户名和邮箱地址信息。
167. 查找所有具有启用状态的用户账户
# 查找所有具有启用状态的用户账户
Get-ADUser -Filter {Enabled -eq $true} | Select-Object Name, SamAccountName
这个命令用于查找所有已启用的用户账户,并列出其姓名和账户名。
168. 查找所有具有禁用状态的用户账户
# 查找所有具有禁用状态的用户账户
Get-ADUser -Filter {Enabled -eq $false} | Select-Object Name, SamAccountName
这个命令用于查找所有已禁用的用户账户,并列出其姓名和账户名。
169. 查找所有具有指定组成员身份的用户账户
# 查找所有具有指定组成员身份的用户账户
Get-ADGroupMember "IT Administrators" | Where-Object {$_.objectClass -eq "user"} | Select-Object Name, SamAccountName
这个命令用于查找所有属于指定组(例如"IT Administrators")的成员用户账户,并列出其姓名和账户名。
170. 查找所有具有指定密码最后设置日期的用户账户
# 查找所有具有指定密码最后设置日期的用户账户
Get-ADUser -Filter {PasswordLastSet -ge (Get-Date).AddDays(-90)} | Select-Object Name, SamAccountName, PasswordLastSet
这个命令用于查找所有密码最后设置日期在最近90天内的用户账户,并列出其姓名、账户名和密码最后设置日期信息。
171. 查找所有具有指定登录脚本的用户账户
# 查找所有具有指定登录脚本的用户账户
Get-ADUser -Filter {ScriptPath -eq "logon.bat"} | Select-Object Name, SamAccountName, ScriptPath
这个命令用于查找所有登录脚本为指定脚本(例如"logon.bat")的用户账户,并列出其姓名、账户名和登录脚本路径信息。
这些命令提供了在 Active Directory 中根据不同属性和条件快速查找和筛选用户账户的示例。