自从发布以来,Windows PowerShell已经成为Windows自动化平台的选择。它的强大和灵活已经在许多环境中被许多Windows技术所证明。不幸的是,在活动目录支持方面,PowerShell 1并没有什么可以炫耀。从基础角度,微软提供了ADSI“类型加速器”作为它的支持。如果你需要去完成多高级任务,就不得不访问提供AD支持的本地.NET类——而这需要更多的超出大部分管理员学习兴趣的高级技能。

但随着Windows 7和Windows Server 2008 R2的发布,PowerShell对AD完全支持的期待告一段落。微软在新的版本中已经发布了一个AD模块和PowerShell驱动提供程序,使得可以通过PowerShell管理单元管理AD。

如何安装

如果你安装一个Windows Server 2008 R2与控制器通过使用服务器管理添加活动目录服务角色,AD PowerShell模块将被默认安装。但是,如果你想在你的Windows 7工作站上安装这个模块(模块是PowerShell cmdlet、提供程序、脚本等的集合),你需要安装服务器远程管理工具(RSAT)。

一旦你安装完毕RSAT,请打开控制面板的程序和功能类别,选择打开或关闭Windows功能的RSAT节点。展开,转到Windows PowerShell活动目录模块节点,如图所示。选择复选框,点击是添加该模块。

模块被安装之后,你既可以从开始菜单、程序、管理工具组选择Windows PowerShell活动目录模块,又可以通过键入如下命令很容易的把它添加到你现有的PowerShell会话中:

Import-module ActiveDirectory

在短暂的闪烁之后,提示符将返回,然后你将可以访问PowerShell和AD所提供的所有强大功能。不过,在我们开始使用PowerShell的AD模块之前,让我再来补充一条重要信息。不同于之前任何基于PowerShell的AD自动化实现,这个新的模块要求在你的域中至少有一台域控制器运行新的活动目录Web服务(ADWS)。ADWS默认在R2的域控制器上安装,但你在Windows Server 2003或Windows Server 2008域控制器上需要特殊的附件才能使用这个模块。

如果你在你的域中没有ADWS服务器,当你在PowerShell中试图导入AD模块时会出现错误。一般而言,对ADWS和这些PowerShell cmdlet最有趣的事,是它们都不使用LDAP和AD沟通。具体而言,它们使用基于XML Web服务的协议与AD交互。对以前的AD管理工具集而言,这是一个意义重大的改变,并且观察微软在未来的AD管理工具中是否延续这个趋势是很有趣的。注意如果你在非R2的域控制器中安装了ADWS,你将依然可以使用常规的基于LDAP的工具如‘活动目录用户和计算机’来管理这些服务器。

使用cmdlet

在你安装完成这些cmdlet并有一台运行ADWS的DC之后,你就可以开始探索PowerShell对AD的强大威力。微软为使用PowerShell对AD进行自动化管理提供了两个主要工具。第一个工具是一系列cmdlet,可以让你通过查找AD对象做你想做的一切,如创建计算机账号、更改账号等。第二个工具是一个针对AD的PowerShell驱动提供程序,可以让你像一个文件系统一样导航AD。这个工具交互式使用具有强大的能力,我将为你展示一些你可以对AD进行的很棒的操作。

让我们开始看看一些AD cmdlet。如果你想得到一个活动目录 PowerShell模块中所有AD相关的cmdlet列表,打开PowerShell并键入如下命令:

get-command -module ActiveDirectory

这将返回一个有76个cmdlet名字的清单,它们是AD模块的一部分。正如你从清单中看到的,有一些显眼的cmdlet,如检索组成员的Get-ADGroupMember和为域添加计算机账号的New-ADComputer。让我们看看你如何使用这几个命令。比方说,你想快速检索你域中“Marketing Users”组的成员列表。你可以使用如下cmdlet轻松完成:

get-ADGroupMember -identity "Marketing Users"

参数identity作为引用一个特定对象的方式在整个AD cmdlet中很常见。Identity参数可以采取一个可分辨名称(如,DC=cpand1,DC=com),一个对象GUID或者samAccountName的形式。

PowerShell和这些AD cmdlet的另一个强大特性,是能够通过管道把输出从一个cmdlet传递到另一个。例如,假设你想在AD中查找一个用户对象,然后禁用该用户对象。你知道用户的samAccountName是kmyer,所以你可以使用下面的两个cmdlet完成这个任务:

get-ADUser -identity kmyer | Set-ADUser -enabled $false

在这个例子中,我们使用get-ADUser cmdlet搜索samAccounName为kmyer的用户账号。只要我们找到那个用户,我们使用管道把它传递给Set-ADUser cmdlet,并给他赋予带有$false标记的-enabled参数来禁用账号。

这是一个简单的例子,说明了PowerShell和AD cmdlet的威力和简洁。由于这个模块中有76个cmdlet,你可以想想你能使用这个功能做得更多。让我们来看看另一个功能更多更值得讨论的模块:活动目录PowerShell驱动提供程序。

活动目录PowerShell驱动提供程序

什么是活动目录PowerShell驱动提供程序?PowerShell支持资源管理的概念,这就像驱动器卷一样。正如你可以使用cd进入一个文件夹一样,PowerShell驱动提供程序可以让你以同样的方式浏览其他类型的资源。例如,在PowerShell 1中,微软提供了一个注册表PowerShell驱动,因此你可以像对待文件夹和文件一样对待注册表键。你可以在PowerShell中改变路径到HKEY_LOCAL_MACHINE,然后导航到键,使用类似于你在文件系统中使用的命令添加或删除键和值。微软已经提供了一个AD的PowerShell驱动程序和cmdlet共同使用。这个PowerShell驱动提供程序让你像对待文件系统一样对待你的AD层次结构。要使用这个功能,打开PowerShell并加载AD模块,然后键入:

Cd AD:

你会发现驱动提示发生了改变以反映你新的工作路径。如果从此处键入dir,你会得到你当前AD林所有分区的列表。我们假设你想导航到你的域,并创建一个新的OU。在AD的最高层次:驱动提示上下文中键入(以你AD域的目录名称取代DC=cpandl,DC=com):

cd “DC=cpandl,DC=com”

现在假设我们想在Marketing OU下创建一个新的HR OU。更改到Marketing OU文件夹,键入:

cd “OU=Marketing”

最后,在Marketing OU下创建HR OU,键入:

Md “OU=HR”















本文转自legendfu51CTO博客,原文链接: http://blog.51cto.com/legendfu/1072327,如需转载请自行联系原作者


PowerShell与活动目录相关推荐

  1. Windows活动目录系列---活动目录版本迁移概述

    在实施AD域部署的过程中,你可能因为以下的两个原因想要重新构建你的AD环境: 优化AD域的逻辑结构.在一些组织中,从AD域部署时期到现如今,整个商业模式可能发生了很明显的变化,导致目前的AD域或者林结 ...

  2. 活动目录迁移之03奔向08 --10月18日2008系列讲座预告篇

    现场讲座: 在上一次 <卍解,开放基础架构的力量> --9月26日讲座中着重讲解并演示了windows server 2008 core 模式下如何部署域控制器. blog: 具体操作步骤 ...

  3. 如何使用ADLab搭建活动目录实验环境来练习渗透测试技术

    关于ADLab PowerShell模块 ADLab是一个功能强大的PowerShell模块,该工具可以自动化实现一个活动目录实验环境,以帮助广大研究人员更好地学习和研究内部网络环境内的渗透测试技术. ...

  4. 单IP无TMG拓扑Lync Server 2013:活动目录

    在前面一篇文章里我们已经完成了实验环境的规划.三台实验服务器的基础架构准备,这一篇文章我们主要完成三个任务,分别是建立Server 2012的活动目录,并将我们的Lync Server 2013标准版 ...

  5. Windows Server 2008 R2之活动目录回收站

    一.先决条件 更新活动目录架构 1.在架构操作主控(schema master operations master)角色的DC运行adprep /forestprep 2.在基础架构主控 infras ...

  6. 活动目录回收站之终极应用---Windows2008 R2 新功能系列之十一

    我们在<活动目录快照和DMT的终极使用---Windows2008 R2 新功能系列之九>中已经提到,如果你删除一个活动目录对象,如用户或OU,在多DC的环境中,需要进行该对象的授权还原, ...

  7. Windows server 2012体验之活动目录回收站

    首先,我已经提升了一台Windows server 2012的Dc,下面我要开启这台DC的活动目录回收站功能. 开启的方法很简单,首先要打开Ad管理中心,如图. 在右边的窗格中可以看到一个选项&quo ...

  8. O365邮箱迁移中的那些坑 -- 活动目录同步

    摘要:本文通过客户碰到的实际案例探讨Office 365 邮箱迁移混合部署场景中,活动目录迁移环节遇到的坑,给出对应解决方案以及建议的最佳实践. 适用读者:Office 365 合作伙伴,Office ...

  9. 企业的Windows活动目录规划方案集合(附学习视频)

    企业的Windows活动目录规划方案集合(附学习视频) 活动目录(Active Directory)是面向Windows Standard Server.Windows terprise Server ...

最新文章

  1. MQTT Qos类型解释
  2. springside / springside4—CRUD页面教程
  3. php转移动,php移动或拷贝文件夹
  4. win101909要不要更新_win10更新好还是不更新_win10更新有什么用
  5. Unity3d鼠标点击屏幕来控制人物的走动
  6. LuoguP1113 杂务
  7. datax 不识别字段过滤_静电式空气过滤器有什么特点 静电式空气过滤器特点介绍【详解】...
  8. 一个新的轮回,一个新的开始
  9. android重写view和viewgroup的区别
  10. Debug与Release版本的区别详解
  11. 5G应用技术系列 - 从带宽和时延看5G和4G对应用区别
  12. 服务器如何防止DDoS攻击?
  13. js如何复制一个对象?
  14. spring-boot 2.5.6 问题:WARN: This connection is using TLSv1.1
  15. 概率论学习二、样本空间与事件
  16. RabbitMq安装Web界面插件报错
  17. 查询GPU使用情况以及杀死GPU上的多个无用进程
  18. 有什么好用的低代码快速开发平台?
  19. DFT知识点扫盲——DFT概览
  20. Android M版本中gpio几种常见设定的pinctrl配置

热门文章

  1. 六、解释红外线纺织品的保健、保暖作用?
  2. Firefox(火狐浏览器)彩蛋
  3. 信息系统项目管理师论文_「高项论文」谨防信息系统项目管理师论文12个写作丢分点...
  4. 判断一个数字是否存在于某一个数据之中
  5. TCP三次挥手四次握手(面试总结)
  6. C++ 拷贝构造函数的使用场景
  7. 判断一段文件是UTF-8编码还是GB2312的编码方式
  8. Linux系统编程(四)信号
  9. 【Linux系统编程学习】Linux线程控制原语
  10. sigaction()函数