【前言】
上一篇文章我们共同了解了Windows Server 2008 R2的AD回收站功能。接下来让我们探讨一下对于AD管理的新功能—PowerShell。其实对于PoweShell大家也许并不陌生,在Exchange Server 2007中我们已经广泛的使用,并已经预见PowerShell带来的全新功能。下面就让我们去探知如何基于PowerShell实现对于活动目录管理。
【正文】
在 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 数据库装载工具实例。
首先让我们了解一下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时命令容易拼写错误的问题。
下面是列举的常用命令:
Disable-ADAccount |
禁用 ActiveDirectory 帐户。 |
Enable-ADAccount |
启用 ActiveDirectory 帐户。 |
Unlock-ADAccount |
解锁 ActiveDirectory 帐户。 |
Get-ADAccountAuthorizationGroup |
获取包含帐户的 ActiveDirectory 安全组。 |
Set-ADAccountExpiration |
设置 ActiveDirectory 帐户的截止日期。 |
Set-ADAccountPassword |
修改 ActiveDirectory 帐户的密码。 |
Set-ADDefaultDomainPasswordPolicy |
修改 ActiveDirectory 域的默认密码策略。 |
Move-ADDirectoryServerOperationMasterRole |
将操作主机(也称为灵活单主机操作或 FSMO)角色移动到 ActiveDirectory 域控制器。 |
Get-ADDomain |
获取 ActiveDirectory 域。 |
Add-ADDomainControllerPasswordReplicationPolicy |
将用户、计算机和组添加至只读域控制器 (RODC) 密码复制策略 (PRP) 的允许列表或拒绝列表。 |
Set-ADDomainMode |
设置 ActiveDirectory 域的域功能级别。 |
Set-ADForestMode |
设置 ActiveDirectory 林的林模式。 |
Get-ADGroup |
获取一个或多个 ActiveDirectory 组。 |
New-ADGroup |
创建 ActiveDirectory 组。 |
Remove-ADGroup |
删除 ActiveDirectory 组。 |
Set-ADGroup |
修改 ActiveDirectory 组。 |
Add-ADGroupMember |
向 ActiveDirectory 组添加一个或多个成员。 |
Get-ADGroupMember |
获取 ActiveDirectory 组的成员。 |
Remove-ADGroupMember |
从 ActiveDirectory 组删除一个或多个成员。 |
Get-ADObject |
获取一个或多个 ActiveDirectory 对象。 |
Move-ADObject |
将 ActiveDirectory 对象或对象容器移动至不同的容器或域。 |
New-ADObject |
创建 ActiveDirectory 对象。 |
Remove-ADObject |
删除 ActiveDirectory 对象。 |
Rename-ADObject |
更改 ActiveDirectory 对象的名称。 |
Restore-ADObject |
还原 ActiveDirectory 对象。 |
Set-ADObject |
修改 ActiveDirectory 对象。 |
Get-ADOptionalFeature |
获取一个或多个 ActiveDirectory 可选功能。 |
Get-ADOrganizationalUnit |
获取一个或多个 ActiveDirectory OU。 |
New-ADOrganizationalUnit |
新建 ActiveDirectory OU。 |
Remove-ADOrganizationalUnit |
删除 ActiveDirectory OU。 |
Set-ADOrganizationalUnit |
修改 ActiveDirectory OU。 |
Add-ADPrincipalGroupMembership |
将成员添加至一个或多个 ActiveDirectory 组。 |
Get-ADPrincipalGroupMembership |
获取拥有指定用户、计算机或组的 ActiveDirectory 组。 |
Remove-ADPrincipalGroupMembership |
将成员从一个或多个 ActiveDirectory 组中删除。 |
New-ADServiceAccount |
新建 ActiveDirectory 服务帐户。 |
Remove-ADServiceAccount |
删除 ActiveDirectory 服务帐户。 |
Set-ADServiceAccount |
修改 ActiveDirectory 服务帐户。 |
Get-ADUser |
获取一个或多个 ActiveDirectory 用户。 |
New-ADUser |
新建 ActiveDirectory 用户。 |
Remove-ADUser |
删除 ActiveDirectory 用户。 |
Set-ADUser |
修改 ActiveDirectory 用户。 |
1、要增加Active Directory域服务模块,使用“Add-Module ActiveDirectory”命令,然后“Get-Module”;
2、要得到Contoso.com域的信息, Get-ADDomain “Contoso.com”;
3、要显示域控制器的具体信息, Get-ADDomainController ?Discover(参数);
4、要在Contoso.com域下的下建立Guangzhou组织单元,New-ADOrganizationalUnit -Name “guangzhou” -Path “DC=Contoso,DC=com”
5、将新的提供程序驱动器连接到 Active Directory 域、AD LDS 服务器或 Active Directory 数据库装载工具实例,New-PSDrive -Name
参数 |
描述 |
-Name |
指定要添加的驱动器的名称。 |
-PSProvider ActiveDirectory |
提供程序的名称,在本例中为 ActiveDirectory。 |
-Root “ |
指定提供程序的内部根目录或路径。 |
?Server |
指定托管您的 ActiveDirectory 域或 ADLDS 实例的服务器。 |
-Credential |
指定连接到 ActiveDirectory 域 ADLDS 服务器必须拥有的凭据。 |
虽然PoweShell对于很多人比较陌生,但是只要使用 Get-Help