PowerShell与活动目录

从发布以来,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,如需转载请自行联系原作者


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/392803.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

408计算机组成原理有汇编吗,2021考研408计算机组成原理习题:计算机系统概述

10月是2021考研学子们备考的突破提升阶段,我们在复习专业课时,需要结合一定量的练习题来查漏补缺。接下来,小编为计算机考研考生们,带来了408统考计算机组成原理习题:计算机系统概述,供考生参考。2021考研408计算机组成…

react 文本框_React自动完成文本框

react 文本框In this React tutorial for beginners you will learn to create a basic React app and an autocomplete text box React component.在这个面向初学者的React教程中,您将学习创建一个基本的React应用程序和一个自动完成的文本框React组件。 This vid…

MyBatis-Plus入门Demo详解

一.简介: 引用官方文档(本文主要参考官方文档示例): MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 愿景 我们的愿景是成为 MyBatis 最好的搭档,就…

RHEL 5基础篇—常见系统启动类故障

常见系统启动类故障 在linux系统的启动过程中,涉及到MBR主引导记录、GRUB启动菜单、系统初始化配置文件inittab等各方面,其中任何一个环节出现故障都有可能会导致系统启动失败。因此一定要注意做好相关文件的备份工作。 1、MBR扇区故障 MBR引导记录位…

hcharts生成图表

借助hcharts插件,可以很方便地在模板页面中生成图表。类似插件还有echarts。 补充。。。 转载于:https://www.cnblogs.com/Forever77/p/11144346.html

css empty_何时使用:empty和:blank CSS伪选择器

css emptyI made a terrible mistake when I tweeted about :empty and :blank a while ago. I said that :empty wasn’t useful, and :blank is much more useful than :empty.不久前我在Twitter上发布:empty和:blank时,我犯了一个严重的错误。 我说过:empty没用&…

浙江大学计算机系统结构,高级计算机体系结构-浙江大学计算机系统结构室.pdf...

高级计算机体系结构-浙江大学计算机系统结构室高级计算机体系结构陈文智 浙江大学计算机学院chenwzzju.edu.cn2014年9月11.1 计算机技术发展综述(1)1946年: 在二次世界大战期间研制成功的世界上第一台电子计算机ENIAC(Electronic Numerical Intergrator andCalculator)正式对…

PVS 6.1 Configuring Services Failed

好久没有更新了,嘿嘿,更新一个。 项目中遇到一个问题,PVS安装到最后一步报错,如下图: 环境:PVS 6.1,数据库是SQL Server 2005 SP4 查了一下文档,PVS 6.1支持SQL Server 2005 SP4 排查…

javascript动态创建table

function createTable(parentNode,headres,datas){//创建表格var table document.createElement("table");//将表格追加到父容器中parentNode.appendChild(table);//设置table的样式table.cellSpacing 0;table.cellPadding 0;table.border "1px";//创建…

leetcode 234. 回文链表(快慢指针+链表倒置)

请判断一个链表是否为回文链表。 示例 1: 输入: 1->2 输出: false 示例 2: 输入: 1->2->2->1 输出: true 代码 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode(int x) { val x; }* }*/…

面试小问题——Object中有哪些常用方法?

一、equals方法 Object类中的equals方法用于检测一个对象是否等于另外一个对象。Java语言规范要求equals方法具有下面的特性: (1)自反性:对于任何非空引用x,x.equals(x)应该返回true (2)对称性&…

职称计算机证书 评中级职称,软考证书如何申请评职称及职称申请流程的详细介绍...

我们很多考友参加软考。比如信息系统项目管理师和系统集成项目管理工程师考试,目的都是为了评职称,那么在拿到软考证书后,很多人最关心的一个问题就是关于职称评聘问题,今天就以软考证书如何申请评职称及职称申请流程的详细介绍&a…

播客51:妈妈可以编码的创始人埃里卡·彼得森(Erica Peterson)

On todays episode of the freeCodeCamp.org podcast, Abbey Rennemeyer chats with Erica Peterson, a founder, entrepreneur, and mother of two who lives and works in Pittsburg, Pennsylvania.在freeCodeCamp.org播客的今天节目中,Abbey Rennemeyer与Erica P…

leetcode 1024. 视频拼接(dp/贪心)

你将会获得一系列视频片段,这些片段来自于一项持续时长为 T 秒的体育赛事。这些片段可能有所重叠,也可能长度不一。 视频片段 clips[i] 都用区间进行表示:开始于 clips[i][0] 并于 clips[i][1] 结束。我们甚至可以对这些片段自由地再剪辑&am…

java实现时钟方法汇总

import java.awt.Dimension; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.Timer; import java.util.TimerTask;import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; //第一种比较…

js中注册标识符流程

注册分为三个阶段:分别是注册阶段,函数处理阶段,变量处理阶段;这三个阶段有先后顺序的。(注:这三个阶段的名字没有权威性,是作者为了方便记忆自己起的名字) 注册阶段的特征 1.此时不…

jsp论坛网站模版_网站关键词优化怎么做

说到网站关键词优化,大多企业都很陌生,建站公司说的关键词优化头头是道。跟听天书似的,51商务网小编为大家总结的网站优化方法希望可以帮到大家,首先要说的是做网站优化第一点就是要有耐心,如果很长时间没有收录的话&a…

feature功能_利用feature-u V1释放基于功能的JS开发的强大功能

feature功能This article is an introduction to a new JS library called feature-u, that facilitates feature-based development in your React project.本文是对新的JS库(称为feature-u )的介绍,该库促进了React项目中基于功能的开发 。 Note: On 8/14/2018 f…

虚拟实验工场大学计算机实验报告答案,虚拟实验实验报告 - 实验报告 - 书业网.doc...

虚拟实验实验报告 - 实验报告 - 书业网虚拟实验实验报告 - 实验报告 - 书业网篇一:虚拟实验报告第一章 文献综述1.1 丙酮酸脱氢酶概述丙酮酸脱氢酶复合体(Pyruvate Dehydrogenase Complex)催化丙酮酸不可逆的氧化脱羧转化成乙酰辅酶A。该复合体是糖酵解的关键限速酶…

【笔记】一些linux实用函数技巧【原创】

函数返回的是函数的地址 kallsyms_lookup_name() 本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/sky-heaven/p/5191491.html,如需转载请自行联系原作者