PowerShell 技能连载 - Active Directory 管理
适用于 Windows Server 2012 R2 及以上版本,需安装 ActiveDirectory 模块
Active Directory(AD)是企业 IT 基础设施的核心——用户、计算机、组策略、DNS 都围绕 AD 展开。传统上管理员依赖 Active Directory Users and Computers(ADUC)图形界面操作,但面对成百上千的用户账户和组管理需求时,GUI 操作效率极低。PowerShell 的 ActiveDirectory 模块提供了完整的 AD 管理能力,可以实现批量创建、查询、修改和审计。
本文将讲解 AD 用户管理、组管理、计算机管理和常见自动化场景。
环境准备
使用 AD 相关命令前,需要安装并导入模块:
1 | # 安装 AD PowerShell 模块(Windows Server) |
执行结果示例:
1 | Name CommandType |
用户管理
用户管理是 AD 运维中最频繁的操作,包括创建、查询、修改和批量操作:
1 | # 查询用户信息 |
执行结果示例:
1 | Name : John Doe |
批量用户管理
从 CSV 文件批量创建用户是最常见的自动化场景:
1 | # 批量创建用户(从 CSV) |
执行结果示例:
1 | User Status OU |
组管理
组是 AD 权限管理的基础单元:
1 | # 查询组信息 |
执行结果示例:
1 | Name SamAccountName ObjectClass |
计算机管理
AD 中的计算机账户管理用于跟踪和管理域中的服务器和工作站:
1 | # 查询域中所有计算机 |
执行结果示例:
1 | Name OperatingSystem LastLogonDate Enabled |
密码策略与合规检查
1 | # 查看域密码策略 |
执行结果示例:
1 | ComplexityEnabled : True |
注意事项
- 权限要求:AD 操作需要足够的权限。普通用户只能查询和修改自己的部分属性,管理操作需要 AD 管理员或委派权限
- **批量操作加
-WhatIf**:大批量修改前始终使用-WhatIf参数预览操作,确认无误后再执行 - OU 路径正确性:
-Path参数必须使用完整的 DN(Distinguished Name)格式,如OU=IT,DC=contoso,DC=com - 密码策略合规:创建用户时设置的密码必须符合域密码策略(复杂度、最小长度等),否则创建会失败
- 管道效率:使用
-Filter参数在服务端过滤比管道Where-Object高效得多 - 回收站:删除用户前建议启用 AD 回收站功能,以便误删时恢复