在 Windows Server 2000、2003 和2008 中,管理员使用各类命令行工具和管理控制台管理单元链接到其 Active Directory 域进行管理工做,一般咱们习惯于使用MMC界面,可是不少高级管理操做只能在CMD下完成,而CMD下的命令常常成为咱们的困惑。而且基于CMD的脚本的编写对于系统管理员要求很高。为了解决这种状况Windows Server 2008 R2 中的 Active Directory 模块合并了一组 cmdlet的Windows PowerShell 模块.经过使用这些cmdlet,可在单一的独立程序包中管理您的 Active Directory 域、Active Directory 轻型目录服务 (AD LDS) 配置集和 Active Directory 数据库装载工具实例。shell
首先让咱们了解一下PowerShell的功能,系统维护、管理中你们常在命令提示符(cmd.exe)下进行操做,对Windows PowerShell可能仍是比较陌生。Windows PowerShell将成为CDM的继任者,是下一代命令行工具。Windows PowerShell目前最高版本为2.0,而且已经集成到Windows Server 2008及Windows 7中。Windows PowerShell使得IT管理员更容易地控制系统管理和加速自动化,做为系统管理员应该掌握和使用它。Windows PowerShell 是一种新的交互式的命令行和基于任务脚本编写技术,它使信息技术 (IT) 管理员可以全面地自动操做和控制系统管理任务,从而提升了管理员的生产力。数据库
Windows PowerShell 包括多个系统管理实用工具、一致的语法和命名惯例、及对普通管理数据更好地导航,如登记、证书存储 或 Windows Management Instrumentation (WMI)。Windows PowerShell 还专门针对 IT 管理,提供直观的脚本编写语言。以前的UNIX 的世界就有功能强大的 shell,而如今 Windows 环境也有了;Windows PowerShell 不只提供功能至关于BASH的命令列 shell,同时也内建脚本语言以及辅助脚本程序的工具。Windows PowerShell 是以 .NET 技术为基础,而且与现有的 WSH 保持回溯兼容,所以 Windows PowerShell 的脚本程序不只能存取 .NET CLR,也能使用现有的 COM 技术。安全
PowerShell有一个很是好的特色,那就是它有一个很是全面的帮助系统,并与Shell自己紧密集成。如今仅仅知道了cmdlet的名字,就能够经过调用Get-Help来获取其余有关这个cmdlet的信息例如:Get-Help Get-Command。然而,这些信息主要是一个语法图和一些简单描述。若是但愿获取到更多的信息,包括了例子和参数的详细描述等信息,就须要加入-full参数,例如:Get-Help Get-Command –Full。对例子感兴趣,那么就加入-examples参数,例如Get-Help Get-command –examples。最让人高兴的是可使用管道技术将Get-Help定向输出到more命令中,它容许你每次显示一个屏幕的内容,例如Get-Help Get-Command –full | more。Windows PowerShell 包含了数种系统管理工具、简易且一致的语法,提高管理者处理常见如登陆数据库、WMI。服务器
Exchange Server 2007 以及 System Center Operations Manager 2007 等服务器软件都将内建 Windows PowerShell。PowerShell如今配备了Active Directory域服务(AD DS)模块,包含了超过75个Active Directory cmdlets。而且可使用全新的PowerShell脚本,在Technet网站上提供了大量的脚本资源,如今能够经过脚本和PoweShell图形界面实现对于活动目录的管理。最让人感到惊喜的是tab-completion--按Tab键自动补齐功能,在用户敲击Tab键时,Windows会根据用户当时的状况,自动补齐下一步要输入的字符。这样将大大简化管理员的工做而且下降使用CMD时命令容易拼写错误的问题。dom
Disable-ADAccountide |
禁用 Active Directory 账户。工具 |
Enable-ADAccount网站 |
启用 Active Directory 账户。spa |
Unlock-ADAccount命令行 |
解锁 Active Directory 账户。 |
Get-ADAccountAuthorizationGroup |
获取包含账户的 Active Directory 安全组。 |
Set-ADAccountExpiration |
设置 Active Directory 账户的截止日期。 |
Set-ADAccountPassword |
修改 Active Directory 账户的密码。 |
Set-ADDefaultDomainPasswordPolicy |
修改 Active Directory 域的默认密码策略。 |
Move-ADDirectoryServerOperationMasterRole |
将操做主机(也称为灵活单主机操做或 FSMO)角色移动到 Active Directory 域控制器。 |
Get-ADDomain |
获取 Active Directory 域。 |
Add-ADDomainControllerPasswordReplicationPolicy |
将用户、计算机和组添加至只读域控制器 (RODC) 密码复制策略 (PRP) 的容许列表或拒绝列表。 |
Set-ADDomainMode |
设置 Active Directory 域的域功能级别。 |
Set-ADForestMode |
设置 Active Directory 林的林模式。 |
Get-ADGroup |
获取一个或多个 Active Directory 组。 |
New-ADGroup |
建立 Active Directory 组。 |
Remove-ADGroup |
删除 Active Directory 组。 |
Set-ADGroup |
修改 Active Directory 组。 |
Add-ADGroupMember |
向 Active Directory 组添加一个或多个成员。 |
Get-ADGroupMember |
获取 Active Directory 组的成员。 |
Remove-ADGroupMember |
从 Active Directory 组删除一个或多个成员。 |
Get-ADObject |
获取一个或多个 Active Directory 对象。 |
Move-ADObject |
将 Active Directory 对象或对象容器移动至不一样的容器或域。 |
New-ADObject |
建立 Active Directory 对象。 |
Remove-ADObject |
删除 Active Directory 对象。 |
Rename-ADObject |
更改 Active Directory 对象的名称。 |
Restore-ADObject |
还原 Active Directory 对象。 |
Set-ADObject |
修改 Active Directory 对象。 |
Get-ADOptionalFeature |
获取一个或多个 Active Directory 可选功能。 |
Get-ADOrganizationalUnit |
获取一个或多个 Active Directory OU。 |
New-ADOrganizationalUnit |
新建 Active Directory OU。 |
Remove-ADOrganizationalUnit |
删除 Active Directory OU。 |
Set-ADOrganizationalUnit |
修改 Active Directory OU。 |
Add-ADPrincipalGroupMembership |
将成员添加至一个或多个 Active Directory 组。 |
Get-ADPrincipalGroupMembership |
获取拥有指定用户、计算机或组的 Active Directory 组。 |
Remove-ADPrincipalGroupMembership |
将成员从一个或多个 Active Directory 组中删除。 |
New-ADServiceAccount |
新建 Active Directory 服务账户。 |
Remove-ADServiceAccount |
删除 Active Directory 服务账户。 |
Set-ADServiceAccount |
修改 Active Directory 服务账户。 |
Get-ADUser |
获取一个或多个 Active Directory 用户。 |
New-ADUser |
新建 Active Directory 用户。 |
Remove-ADUser |
删除 Active Directory 用户。 |
Set-ADUser |
修改 Active Directory 用户。 |
要增长Active Directory域服务模块,使用“Add-Module ActiveDirectory”命令,而后“Get-Module”;
参数 |
描述 |
-Name <name of the drive> |
指定要添加的驱动器的名称。 |
-PSProvider ActiveDirectory |
提供程序的名称,在本例中为 ActiveDirectory。 |
-Root "<DN of the partition/NC>" |
指定提供程序的内部根目录或路径。 |
–Server <server or domain name (NetBIOS/FQDN)[:port number]> |
指定托管您的 Active Directory 域或 AD LDS 实例的服务器。 |
-Credential <domain name>\<username> |
指定链接到 Active Directory 域 AD LDS 服务器必须拥有的凭据。 |
虽然PoweShell对于不少人比较陌生,可是只要使用 Get-Help <cmdlet name> -Detailed
和Get-Help <cmdlet name> -Full,其中 <cmdlet name> 是要研究的cmdlet 的名称。就能够获取详细的信息,这样更加便于咱们尽快掌握PowerShell的使用。但愿你们能够经过新的PowerShell更加有效的管理活动目录。二、要获得Contoso.com域的信息, Get-ADDomain “Contoso.com”;
三、要显示域控制器的具体信息, Get-ADDomainController –Discover(参数);
四、要在Contoso.com域下的下创建Guangzhou组织单元,
New-ADOrganizationalUnit -Name "guangzhou" -Path "DC=Contoso,DC=com"
五、将新的提供程序驱动器链接到 Active Directory 域、AD LDS 服务器或 Active Directory 数据库装载工具实例,
New-PSDrive -Name <name of the drive> -PSProvider ActiveDirectory -Root "<DN of the partition/NC>" –Server <server or domain name (NetBIOS/FQDN)[:port number]> -Credential <domain name>\<username>