切换到宽版
  • 9172阅读
  • 0回复

在Exchange 2010中使用Cmdlet代理注意事项 [复制链接]

上一主题 下一主题
 
只看楼主 倒序阅读 0楼  发表于: 2010-10-31

Exchange2010版本的推出,给了我们很多惊喜。而Cmdlet代理无疑就是惊喜之一。在这篇文章中笔者就做一回第一次吃螃蟹的人,给各位读者总结一下在使用Cmdlet代理时需要注意的内容。
  一、Cmdlet扩展代理的主要功用。
  Cmdlet扩展代理主要的功用就是扩展了Cmdlet的功能。主要是通过帮助处理数据或者执行其他的基于Cmdlet要求的操作来调用这些功能来实现的。Cmdlet扩展代理可以运行在任何一个服务器角色上。简单的说,在Cmdlet扩展功能的帮助下,系统管理员可以在这个平台上调用任何一个2010系统的组件。这无疑方便了我们的日常管理。
  当然Cmdlet扩展代理的优势不仅仅如此。如这个代理还可以修改、替换或者扩展Exchange命令行管理程序的功能等等。在这里笔者不做过多展开。如果读者需要详细了解Cmdlet扩展代理的功能,可以参考其他相关的文档。笔者这里主要是给大家总结一下,再使用这个功能的时候,需要注意的内容。
  二、在服务器上使用代理的注意事项。
  虽然Cmdlet扩展代理可以运行在任何一个服务器角色上。但是在Exchange2010服务器上使用这个Cmdlet代理的话,还是受到某些限制。具体的来说,主要有以下几点。
  限制一:无法在运行Exchange2010的服务器上添加或者删除代理。或者说,无法直接调用Cmdlet扩展代理的功能。不过经过笔者的测试,还是发现了一种折中的方法。即如果管理员确实需要在服务器角色使用Cmdlet扩展代理的话(笔者认为在很多情况下可能需要用到),可以使用脚本代理来运行PowerShel脚本,然后利用这个脚本来扩展使用Cmdlet的扩展代理功能。如此的话,就可以突破在服务器上无法添加或者删除代理的限制。
  限制二:通常情况下扩展代理的配置是存储在组织级别上的(不光光是扩展代理,其他大部分的配置文件都是保存在这个级别上)。这也就是说,启用或者禁用代理、或者调整其优先级别(笔者下面会谈到这个问题)的过程中,官乱需要在组织中的每一台服务器上设置这个代理配置。换句话说,就是需要分别对每个服务器上的脚本进行更新。虽然这些额外的配置会增加工作量,但是这写工作是一次性的。只要在刚开始的时候配置好,那么在以后的工作中可以任意的使用。笔者认为,这个付出还是能够得到很多回报的。
  三、常用的代理及默认设置。
  其实Cmdlet扩展代理是一系列代理的一个总称。具体的说,Cmdlet扩展代理有如下代理所构成:Rus代理、邮箱资源管理代理、设置策略代理、查询基本DN代理、QAB资源管理代理、脚本代理和管理审核日志代理。可见这些代理分别是完成不同的工作。如果要用好Cmdlet代理的话,笔者认为需要了解如下内容。
  一是了解这些代理的优先级。注意这些代理的优先级是不同的。了解这些优先级非常的重要。因为如果在不完全了解每个代理所做的内容以及与Cmdlet交互的方式的情况下,随意更改代理的优先级,有可能会导致一些意外的结果。换句话说,这些代理在运行的时候可能会有前后的依赖关系。如果更改优先级,打破了这种依赖关系,就可能会出现难以预料的后果。默认情况下,以上七个代理的优先级分别为0、1、2、3、4、5、255。
  二是需要知道默认情况下哪些代理是启动的。有可能在实际工作中,某些代理管理员用不着。此时管理员就可以根据需要来禁用或者启用某个代理。不过在做这项操作之前,笔者提醒管理员,需要完全了解这个操作可能带来的结果。也就是说,需要了解这七个代理相互之间的关系。因为有可能禁用了某个代理之后,其他的代理就有可能无法正常工作了。
  四、更改代理的优先级。
  Cmdlet扩展代理在运行的时候,代理的优先级会确定在这个平台中调用代理的顺序。默认情况下,系统会根据优先级的高低(最高为0)依次调用代理。注意在某些情况下,这个优先级别的设置相当的重要,甚至会影响到系统的稳定性。如当多个代理设置了相同属性的值之后,代理的优先级别就会变得非常的重要。这是什么意思呢?如现在有三个代理,可能对某个属性的值进行更改。在这个过程中,哪个代理设置的值会最终有效呢?注意,这里并不是简单的覆盖原则。也就是说,并不是最后修改那个就一定有效。实际的结果是,系统会根据代理的优先级来判断,以确定最终采用的值。即优先级最高的代理将成功设置某一个属性值,而所有尝试设置相同属性的较低优先级代理的动作都将会被忽略掉。
  那么如果想要让优先级别比较低的代理设置为有效的值时,该如何处理呢?最简单的办法就是更改代理的优先级,让其优先级别高于要替换的现有的代理。如默认情况下,查询基本DN代理其优先级别为3,而脚本代理其优先级别为5。现在这两个代理都需要更改某个对象的Name属性。默认情况下,由于基本DN代理的优先级别要高于脚本代理。此时脚本代理的设置就会被忽略掉。现在的问题是,管理员确信要使用脚本代理所指定的值。此时管理员就可以通过更改脚本代理的优先级来完成。具体更改的步骤如下:
 第一步:判断用户是否需要相关的权限。
  上面谈到过,如果在不完全了解优先级含义的情况下,随意更改优先级的顺序,会产生一些难以预料的后果。为此微软并不建议更改这个代理的优先级。为此在权限上也做了比较严格的限制。只有特定的权限才可以更改这个优先级。如果用户没有相关的权限,则需要先进性授权。
  第二步:了解优先级的含义。
  在更改代理的优先级之前,笔者再次强调一下,系统管理员一定要了解这么操作可能导致的后果。只有在必要的情况下,才进行这个调整的动作。一般情况下,代理是从0到最大代理数排序的。数字越小,其优先级越高。Cmdlet扩展代理都是先调用具有更高优先级别的代理。注意,这个代理的数字不能够重复。如上面这个案例,管理员需要将优先级为5的脚本代理放在基本DN代理(其优先级别为3)之前,则需要先将后者的优先级别相应的调低,然后再来设置脚本代理的优先级。
  第三步:通过命令行来更改代理的优先级别。
  在企业管理控制台上,虽然可以查看各个代理的优先级别,但是却无法对其进行更改。正是由于这个原因,一些系统管理员可能对其存在误解,认为不能够更改代理的优先级。虽然系统不允许管理员通过企业管理控制台来修改Cmdlet扩展代理的优先级,但是却允许系统管理员通过命令来维护其优先级。具体使用的命令就是Set –CmdletExtensionAgent来更改。在这个命令后面带上代理的名字与-Priority参数,就可以更改优先级了。
  第四步:追踪与分析。
  由于优先级的更改可能会带来一些难以预料的结果。为此在更改之后,需要对系统的运行或者更改后的结果进行一段时间的追踪,以判断最后的结果符合用户的预期。当结果与系统管理员的期望存在偏移的时候,需要及时的调整回来。另外就是,在更改之前有必要先做好相关的备份。

分享到
快速回复
限60 字节
 
上一个 下一个