-
SQL 2005 DEV 在Vista ENT 上的部署. - [SQL Server]
2007-10-16
SQL 2005 DEV 在Vista ENT 上的部署.










OK.因为没有打任何补丁的SQL 2005 和VISTA 有一些冲突,需安装 SQL 2005 SP2.
官方KB:http://www.microsoft.com/downloads/info.aspx?na=49&p=1&SrcDisplayLang=zh-cn&SrcCategoryId=&SrcFamilyId=d07219b2-1e23-49c8-8f0c-63fa18f26d3a&u=http%3a%2f%2fsupport.microsoft.com%2f%3fkbid%3d921896
最后,安装完毕,看到功能强大而且界面不失华丽的SQL 2005 SP2.

-
Windows XP SP3深入探秘 - [Windows XP]
2007-10-10
Windows XP SP3深入探秘
一个月前,Windows XP SP3的一个预览版被泄漏出来,而在近日,首个官方Beta测试版送交到了测试人员手中,也披露了这个备受期待的补丁包的更多详情。
泄漏版和官方测试版XP SP3的英文版文件名都是“windowsxp-kb936929-sp3-x86-enu.exe”,Build版本号3205(泄漏版为3180),Hash校验码为:
CRC: 56e08837
MD5: c8c24ec004332198c47b9ac2b3d400f7值得注意的是,XP SP3的体积并非此前传言的恐怖的1GB之多,而是只有334.2MB,比泄漏版大了仅仅2MB。除了英文版,微软还提供了日文版和德文版,体积也都差不多。
XP SP3兼容各种x86版本XP系统,包括专业版、家庭版、媒体中心版、Starter版、Embedded版、Fundamentals版。
作为一个补丁升级包,XP SP3的最大任务自然是汇总此前分散发布的各个更新补丁。据悉,XP SP3里一共有1073个新的Patch、Hotfix补丁,其中第一个是2006年4月7日的KB123456,最后一个是2007年9月29日的KB942367。
在这1000多个补丁中,有114个修正了安全方面的漏洞,另外959个涉及性能和稳定性提升、bug修复、核心模式驱动模块改进、蓝屏死机(BSOD)问题更正等等。当然,最终正式版的补丁数量可能还会有所变化。
与XP SP2一样,XP SP3里的补丁不但包含了通过各种途径公开发布的补丁,也有针对特殊问题提供给特定客户的补丁。当然,XP SP3也整合了XP SP2里的所有补丁,因此不需要重复安装,这也是微软SP的惯例。
除了安全和常规补丁,XP SP3也提供了不少全新特性,使之不仅仅是一个简单的补丁集合,比如新的Windows产品激活(WPA)模型(安装期间就像Vista那样可以选择不输入序列号)、网络访问保护(NAP)模块和策略、新的核心模式加密模块、黑洞路由检测功能功能等。
-
Exchange Server 2003 “Active Directory 连接器”的定义 - [Exchange Server]
2007-10-10
Exchange Server 2003 “Active Directory 连接器”的定义
我需要什么权限才能在 Microsoft Windows® 2000 或 Windows Server 2003™ Active Directory 目录林中安装第一个 Active Directory 连接器 (ADC)?
若要安装第一个 Active Directory 连接器 (ADC),必须更新 Active Directory 的架构,并将二进制文件复制到本地计算机。因此,必须作为具有下列权限的用户登录:
- Schema Admins
- Enterprise Admins
- 目标 ADC 服务器上的本地 Administrators 组的成员
此外,Schema Admins 组中的管理员可以在运行 Active Directory 连接器安装程序时使用 /SchemaOnly 命令行开关来扩展 Active Directory 架构。在此方案中,实际安装 ADC 服务的人不必是 Schema Admins 组的成员。该方法的优点是,如果公司对架构的控制非常严格,那么负责监视架构的人就可以进行必要的架构调整,而 ADC/Exchange 管理员可以独立完成自己的工作。
建议您在部署 ADC 服务时执行在 Exchange Server 2003 Deployment Guide 中定义的最佳实践。最佳实践的建议是先运行 ForestPrep,然后运行 DomainPrep,最后安装 ADC 服务。
我需要什么权限才能将随后的 Active Directory 连接器服务器安装到我的 Active Directory 目录林中?
由于架构已经更新,因此您需要下列 Active Directory 权限才能安装额外的连接器:
- 域管理员
- 目标 ADC 服务器上的本地 Administrators 组的成员
ADC 安装程序有硬编码的先决条件,它要求您必须属于 Active Directory 中的 Domain Admins 组。即使只想在计算机上安装 ADC 管理的管理单元,您也必须属于该组。
安装 Active Directory 连接器服务时,我需要输入服务帐户。当 Exchange 服务以 LocalSystem 启动时,为什么要求此操作?该服务帐户需要什么权限?
ADC 之所以需要服务帐户,是因为 ADC 技术的某个子集是通过 Windows Server 操作系统来提供的。Exchange 拥有某些功能,可以为服务器安装准备 Active Directory 目录林和域(通过使用 ForestPrep 和 DomainPrep)。该准备过程的一部分涉及在 Active Directory 中设置 LocalSystem 服务的权限。由于可以在没有安装 Microsoft Exchange 2000 Server 或 Exchange Server 2003 的情况下使用 ADC,因此使用了一个单独的服务帐户来获得相同的功能。
ADC 服务帐户需要下列权限:
- 目标 ADC 服务器上的本地 Administrators 组的成员,以便写入本地安全颁发机构(即 LSA)全局机密。
- 如果在基于 Windows 2000 或 Windows Server 2003 但没有 Exchange 2000 Server 或 Exchange Server 2003 的环境中使用 ADC,则必须是 Enterprise Admins 组的成员。
- 如果将 ADC 与 Exchange 2000 Server 或 Exchange Server 2003 而不仅仅是 Windows 2000 或 Windows Server 2003 一起使用,则必须是 Enterprise Admins 组的成员,或组织级别的 Exchange 管理员(完全控制)的角色。
有关 ADC 如何写入到 LSA 全局机密的详细信息,请参阅 Microsoft 知识库文章 253830“XADM: How the Active Directory Connector Stores Passwords”(英文)。
ADC 服务帐户需要有相应的权限才能修改 Active Directory 数据库中的 Exchange 配置信息,这是因为默认情况下没有为配置连接协议 (CCA) 设置凭据。因此,ADC 必须假定该服务帐户拥有进行 Active Directory 更改所需的所有权限。
如果要通过加入现有 Exchange Server 5.5 组织来部署 Exchange Server 2003,则可以首先安装 ADC。如果愿意,可以在进行初始安装时将 ADC 服务帐户放入 Enterprise Admins 组中,随后,在已安装第一个运行 Exchange Server 2003 的服务器以后,再委派正确的 Exchange 角色。然后,就可以从 Enterprise Admins 组中删除 ADC 服务帐户。
但是,如前所述,如果执行 Exchange Server 2003 Deployment Guide 中的最佳实践,则可以通过 Exchange 系统管理器管理委派向导将 Exchange 管理员(完全控制)权限授予 ADC 服务帐户。
ADC 服务帐户需要什么用户权利?
在成员服务器上,ADC 会配置 ADC 服务帐户,以便在成员服务器的本地安全策略中包含下列用户权利:
- 作为操作系统的一部分
- 作为服务登录
- 生成安全审核
- 还原文件和目录
如果将 ADC 安装在运行 Active Directory 的服务器上,则在“默认域控制器”组策略上配置这些用户权利。
Note:如果已在域控制器组织单位上实现了其他策略,则必须将这些权利添加到最高的可适用策略中。 是否可以在安装之后再更改 ADC 服务帐户的密码?
可以。若要更改密码,请参阅“如何更改 Active Directory 连接器服务帐户的密码”中文(简体)。
我需要什么权限才能创建连接协议?
您需要下列权限:
- 对“CN=Microsoft Exchange,CN=Services,CN=Configuration, DC=your-domain-here”对象的读取权限
- 对“CN=Active Directory Connections,CN=Microsoft Exchange,CN=Services,CN=Configuration, DC=your-domain-here”对象的完全控制权
- 在要执行连接协议的 ADC 服务器上的本地 Administrators 组的成员身份。您需要该权限才能将密码安全地传输到 ADC 服务器。
通过使用 ADSI Edit (AdsiEdit.msc) MMC 管理单元,可以手动授予上述权限。如果不想手动授予权限,可以用下列用户角色来管理 ADC:
- ADC 服务帐户
- 在组织级别的 Exchange 管理员(完全控制)
我在 Active Directory 连接器中创建连接协议时,需要指定访问 Active Directory 和 Exchange Server 5.5 目录服务的凭据。该帐户需要什么权限?
您需要的权限是:
- Exchange Server 5.5
- Exchange Server 5.5 站点命名上下文的管理角色
- Exchange Server 5.5 组织命名上下文的管理角色
- Active Directory
- (本地域的)Domain Admins
- Exchange 2000 Server 组织的“Exchange 管理员(仅查看)”角色(以便能够正确展开 homeMDB 和 homeMTA 属性)
- 如果有具有隐藏成员身份的任何 Exchange Server 5.5 通讯组列表,则必须是(本地域的)Account Operator。有关隐藏成员身份的详细信息,请参阅 Microsoft 知识库文章 321205“XADM: Hidden Group Membership Does Not Replicate to Exchange Server 5.5”(英文)。
-
排除AD复制故障的6个基本工具 - [Windows Server 2000 | 2003]
2007-10-10
排除AD复制故障的6个基本工具Active Directory(AD)复制是如何工作的?当它不能正常运行的时候我们应该做些什么?在这之前,你的公司已经部署了Windows 2000及Active Directory,所有的事情已经很完美地工作了一段时间,但现在你开始感觉到Windows 2000并没有完全像Microsoft所承诺的那样完美。许多管理员并没有对排除正常的目录服务逐渐变坏所产生的故障做好准备。不幸的是,AD的复制是Windows 2000中一个很少去理解的功能,现在是逐步展开理解复制的内部工作原理并发现可用的故障排除工具的时候了。
复制概述
AD是一个数据库,默认地,每个域控制器(DC)在它的“\winnt\ntds”文件夹中以ntds.dit文件形式存储这个数据库的一个副本。AD数据库从逻辑上划分为三个目录分区,又称为命名上下文(Naming Context,NC),它们分别是架构NC(Schema NC)、配置NC(Configuration NC)以及域NC(Domain NC)。森林中所有的DC都拥有同样的架构NC和配置NC,因为这些信息是在森林范围被定义的,而在一个AD域中的每个DC上拥有本域的域NC的同样的副本。如果DC被指派为全局编录(GC)服务器,那么这台DC同时包含森林中其他域的域NC的一部分副本,这部分副本包括所有来自个域中的对象,但仅仅是属性的一个子集。
复制是AD在域或森林中对拥有这些信息的所有DC之间的信息进行同步的一种机制。AD使用知识一致性检查器(Knowledge Consistency Checker ,KCC)、站点(Site)、站点链路(Site Link)和连接对象(Connection Object)来实现这个复制操作。
KCC是运行在所有DC上的一个内置进程,用来创建森林的复制拓扑。你可以使用站点来组织附近网络中被高速连接在一起的DC,你的网络与AD构架决定了一台DC是否属性高速连接,许多公司认为连接各DC的网络速度达到10M以上带宽就可称之为高速连接。站点的创建通常以子网为基础,如果多个子网高速连接在一起,你也可以把他们组织为一个站点。一个站点内DC之间的复制称为站内复制,为了建立一个站内复制拓扑,KCC自动在站点内的DC之间创建连接对象。连接对象同样也是跨站点连接DC的单向连接器。每个链路就像一条通道,表示一个从源DC到目的DC的入站链接。在站点内两台DC相互之间复制目录数据之前,你必须建立两个分离的连接对象。
如果有些DC之间没有高速连接,你就需要创建多个站点,分离的站点之间的复制称为站间复制。AD管理员使用Active Directory站点与管理控制台(MMC)管理单元来创建站点链路,它提供了站点之间进行数据复制的通道。在AD管理员建立这些通道之后,KCC在链接的站点之间创建连接对象。典型情况下,并不是所有的DC共享所有的信息(比如,各个域中的DC可能维护不同的数据)。因此,KCC可能需要建立多个连接对象来确保在整个企业中的每个NC被完全复制。在图1中显示了一个站间连接对象的例子,站点A与站点B通过一个手工创建的站点链路连接。在这个例子中,KCC已经创建了两个单向连接对象复制来自同一个域中二台DC之间的三个NC。

图1
桥头服务器(bridgehead server)是复制拓扑中另一个组件,如果你使用过Microsoft Exchange服务器,你应该熟悉这个服务器的角色。为了增加复制的有效性,KCC不会对一个站点内所有的DC与另一个站点内所有的DC之间创建单个连接对象,相反,KCC在两台桥头服务器(每个站点中一台)之间使用存储并转发的信息复制机制。然后桥头服务器使用站内复制把信息复制到它所在站点的其余DC上。
复制得到了什么?
考虑AD对更改一个DC的目录对象的能力,AD需要一种有效的方法去判断哪一个对象已经被更改以及是否需要被复制到复制伙伴的其他DC中。AD使用更新顺序号(Update Sequence Number,USN)来跟踪什么时候目录发生变化,USN是由AD在本地每台DC指定的64位计数器。当AD、用户、管理员或者应用程序更新一个属性时,DC查看属性的当前USN值,把值增加,并且对更新的对象指定一个新的值作为它本地的USN。
在AD复制拓扑内部,复制伙伴以一种高水印(high-watermark)值的方式来保持他们对来自源DC最近更新的跟踪。当一个目的DC从源DC请求更新时,为返回更新,目的DC会把它的高水印值发送给源DC,源DC以这个高水印值作为一个基准,仅发送高水印值高于这一基准的目录对象到目的DC,因此减少了网络线路中不必要的复制数据流量。
最新矢量(Up-to-dateness Vector)与高水印值协同工作可以把复制数据量降到最小。二者的区别是高水印值考虑的是对象,最新矢量考虑的是属性。在一次复制数据交换期间,一台目的DC发送它的最新矢量到源DC,源DC使用这个值来判断目的DC对一个特定的属性是否有最新的值。如果值是最新的,源DC就会从它发送到请求数据的目的DC的数据中将这一属性过滤掉。
在你部署AD之后,你需要在你的工具百宝箱中装载解决任何存在的问题所必须的实用程序。Microsoft Windows 2000 Resource Kit中包含许多这样的工具,还可以在Windows 2000 Server CD-ROM的“\support\tools”文件夹(即Windows 2000 Server支持工具)中找到大约50个这样的程序。为了解决可能的复制问题,你有时需要同时使用这些工具中的其中几个。
事件查看器。Windows默认的事件查看器位于“开始”*“程序”*“管理工具”中,事件查看器一般在发生问题的第一时间内告诉你一些基本的情况。在一个AD部署过程中,DC有一个称为目录服务的新的日志类型。为即时跟踪最新复制相关的事件,你应该监视你DC上的目录服务日志。尽管你能够连接到其他DC来查看他们的日志,但事件查看器一次只能显示一个服务器的日志,为获得一份包括来自你所有DC上复制相关的事件项目的报告,我推荐你使用复制监视器程序。
复制监视器。Replmon.exe是一个GUI程序,它包含在Windows 2000 Server的支持工具中。你能够使用Replmon获得你企业中AD复制的一个概况,你可以从DC中收集这样的信息来判断复制是否已经发生。当复制发生时,DC之间的数据包就会相互传递,并且很多。
Replmon为收集所有来自你DC上复制相关的事件项目提供了一个来源。为了运行Replmon,单击“开始”*“运行”,并输入:
Replmon
这个程序打开时没有与任何服务器连接,你需要手工添加希望监视的服务器。一个快速添加服务器的方法是创建一个包含服务器列表的.ini文件,每一行一个名称。然后,从Replmon菜单条上单击“File”*“Script”,并找到你创建的.ini文件,单击“open”,Replmon会显示你的DC及DC所拥有的NC。在图2所示的例子中,我添加了testdc01这台服务器,在testdc01项目下面,你能够看到这个DC所拥有的三个NC。为查看你能够使用Replmon所实施的任务,如图2所示那样,右击服务器名称。你应该熟悉这里的各个你需要排除NC复制问题时能够提供在事件中的任务及信息。

图2
一个特别有用的Replmon特性是它具有快速收集与复制失败相关的目录服务项目的能力。为了从你收集的数据中打开一个分离的窗口,单击 Replmon菜单栏上的“Action”*“Domain”*“Search Domain Controllers for Replication Errors”,单击“Run Search”,Replmon提示你输入你希望进行搜索的域,输入DNS域名,然后单击“OK”,程序查询域的DC并且收集与复制失败相关的错误,显示这个产生错误事件的DC,受影响的目录分区或者NC,包括的复制伙伴及失败代码与原因。Replmon独立地查询每台DC而不是从一台DC上收集所有的目录信息。
域控制器诊断。Dcdiag.exe,你可以在Windows 2000 Server CD-ROM上发现这个命令行工具,它是一个强大的诊断工具,提供关于你运行这个程序的DC上的大量数据。Dcdiag可以诊断DC上的连接、复制、拓扑完整性、用户权限、定位器功能、站内健康状态、信任校验、文件复制服务(FRS)及关键服务器的状态。
如果你运行Dcdiag,会产生大量的信息供你进行详细审查。我推荐你使用这样的语法:
dcdiag > .txt
把输出结果重定向到一个文本文件中,然后你能够在记事本或者Microsoft Word中打开这个文本文件并且可以非常容易地浏览信息。当你在排除一个问题时,就可以检查文件中任何失败记录或者注意那些可能提供关于问题本质的线索记录。
Repadmin。Repadmin.exe是一个你可以在Windows 2000 Server CD-ROM中发现的命令行工具,可能是你复制百宝箱中的一把锤子。这个工具能够揭示出复制的内部工作过程,并帮助你排除和修复问题。查看Repadmin命令行选项,输入下面的命令:
Repadmin /?
Repadmin其中一个特别有用的就是显示一台DC的复制伙伴。输入下面的命令:
Repadmin /showreps

图3
图3显示了在一台被称为testdc01的DC上运行这个命令的结果,你可以看到testdc01有来自testdc02的架构、配置和testdomain.com三个NC的入站连接对象,图3同时显示了最近在6月3日不同时间发生的复制各个NC的尝试且这些尝试都是成功的。屏幕的下半部分显示了testdc01在它有目录数据复制时将发送复制通知的出站复制邻居。你也可以使用Repadmin查看关于一个AD中特定对象的详细信息,如你希望查看一个对象的本地USN及最近更新对象属性的来源,可以使用repadmin来显示对象的元数据:
repadmin /showmeta
例如,为了显示testdomain.com中Administrator账号的元数据,你应该输入:
repadmin /showmeta “CN=administrator,OU=users,dc=testdomain,dc=com” testdc.testdomain.com

图4
图4显示了这个查询的结果。在最右边栏目中,你可以看到构成Administrator用户的每个属性。在最左边栏目中,你可以看到每个属性的本地USN。注意nTSecurityDe和adminCount属性有一个比其他属性更高的本地USN,它表明这些属性值的更新比其他属性的时间更近。
组策略校验。Gpotool.exe是一个Resource Kit中的命令行程序,可以帮助你排除DC之间的组策略对象(GPO)复制问题。关于GPO复制的更多信息,请参阅附文《Windows 2000文件复制服务》。
目录服务代理统计。Dsastat .exe,是一个包含在Windows 2000 Server CD-ROM上的命令行工具,它在DC上比较并报告目录NC之间的差别。当复制看上去在运行正常但你在不同DC上却看到不同的目录数据时,这个工具将非常方便。上述情形可能意味着数据库已经被破坏,Dsastat通过比较两台DC之间诸如每服务器对象、每服务器的字节、每对象的字节的目录统计表提供高层次的数据一致性信息。
耐心是一种美德
即使在最小的环境中,AD仍然需要引起注意并需要专门技术。如果你能够花费较多时间来理解AD复制是如何工作的,当你需要解决AD问题时你会有非常大的优势。如果你在一个有多个站点的公司工作,我能够给你的最好的排错建议是:要有耐心。记住AD以多主方式运行,当你在一台DC上更改一次,这个变化可能需要花数小时才能传播到森林中的其他DC上。当你碰到问题时,尽量每次只做一个更改,记录这个变化,并给AD足够的时间来复制以响应这些变化。
Windows 2000文件复制服务
Windows 2000 Server使用文件复制服务(File Replication Service,FRS)在DC间复制存储在系统卷(\sysvol)目录中的信息,Windows 2000 Server也使用FRS同步分步式文件(DFS)系统数据。FRS代替了在Windows NT中使用的LMRepl服务,它对于Windows 2000中的Active Directory复制起着重要的作用。
首先,由于“\sysvol”共享中的数据需要复制到所有的DC中,因此同样需要一个复制拓扑。为简化拓扑建立操作,除DFS复制外(它可以通过微软管理控制台MMC配置),FRS使用了KCC创建的拓扑结构。在AD中,AD对象的复制与“\sysvol”的复制是分离的,它们最大的不同就是目录数据在站点间复制时是压缩的,而“\sysvol”中的数据在站点间复制时不会被压缩。
其次,对组策略来说,FRS同样非常重要。组策略对象(GPO)有两个重要的物理组件:组策略容器(Group Policy Container,GPC)和组策略模板(Group Policy Template,GPT)。GPC位于AD中,包含GPO定义的所有属性设置。GPT位于“\sysvol”文件夹下以该策略的GUID命名的文件夹中,如图A所示,这个文件夹中包含有安全设置数据、基于模板的管理策略数据、脚本文件和所有要通过组策略进行复制的应用程序。

图A
如果组策略的GPC和GPT版本不同步,比如两者在不同的时间内被分别复制时出现问题,Windows 2000就不会应用这一策略,系统会在应用程序日志中记录ID为1000与1001的组策略扩展错误,这是因为GPO不能在“\sysvol”文件夹下发现策略的GPT部分。你可以使用组策略验证工具(Group Policy Verification Tool,Gpotool.exe)解决这一问题,Gpotool查询每一台DC,检查哪些组策略已经在DC上生效,这些生效的策略在目录数据库
-
关于ITIL的一个很不错的网站. - [I T I L]
2007-10-10
-
用于管理 Active Directory 的 11 个基本工具 - [Windows Server 2000 | 2003]
2007-10-10
用于管理 Active Directory 的 11 个基本工具
概览:
在命令行创建对象
在 Active Directory 中执行批量操作
Active Directory 更新和维护如果您负责处理列有从下周开始工作的 200 名新员工资料的 Excel 电子表格,或者由于技术支持人员点击了某些不应点击的内容而导致用户帐户配置错误,
或者您只是需要除了打开“用户和计算机”之外的一种更加轻松的方法来管理 Active Directory®,则有大量免费管理工具可以提供帮助。有些工具内置于 Windows® 操作系统中,有些位于资源工具包或 Windows 支持工具中,而有些甚至是免费的第三方工具。这些便捷工具都包括什么,可以从何处获取?让我们来了解一下。
首先介绍 Windows Server® 2003 中的内置命令行工具,这些工具允许您在 Active Directory 中创建、删除、修改和查找对象。
CSVDE逗号分隔值数据交换工具(即 CSVDE)允许您使用 CSV 源文件将新对象导入到 Active Directory 中;此外,该工具还提供了将现有对象导出到 CSV 文件的功能。CSVDE 不能用于修改现有对象;在导入模式下使用此工具时,您只能创建全新的对象。
使用 CSVDE 导出现有对象的列表相当简单。将 Active Directory 对象导出到名为 ad.csv 的文件,方法如下:
csvde –f ad.csv
–f 开关表示后面为输出文件的名称。但是您必须注意,根据环境的不同,此基本语法可能会生成不实用的大型输出文件。要将此工具限制为仅导出特定组织单位 (OU) 中的对象,可以将语句修改为如下形式:
csvde –f UsersOU.csv –d ou=Users,dc=contoso,dc=com
进一步假定您只对将用户对象导出到 CSV 文件感兴趣。如果是那样的话,您可以添加 –r 开关和 –l 开关,前者允许指定轻型目录访问协议 (LDAP) 筛选器进行搜索,后者可以限制导出的属性的数量(请注意以下所有内容位于一行):
csvde –f UsersOnly.csv –d ou=Users,dc=contoso,dc=com –r "(&(objectcategory=person)(objectclass=user))" –l DN,objectClass,description
通过 –i 开关,您可以将对象从源 CSV 文件导入到 Active Directory。但是,使用 CSVDE 创建用户对象存在一个关键限制:不能使用 CSVDE 设置用户密码。因此,应该避免使用 CSVDE 创建用户对象。
LDIFDEActive Directory 还提供了另外一个用于执行批量用户操作的内置工具,称为 LDIFDE,与 CSVDE 相比,此工具更强大,更灵活。除了可以创建新对象外,LDIFDE 还可以修改和删除现有对象,甚至扩展 Active Directory 架构。LDIFDE 虽然具有灵活性,但为了实现这种灵活性却必须要使用扩展名为 .ldf 的 LDIF 文件作为输出文件,这种文件与简单的 CSV 文件相比,格式更复杂。(只需少量操作就可以配置好用户密码,我稍后将对此进行介绍。)
我们从一个简单的示例开始,将某个 OU 中的用户导出到 LDF 文件中(请注意以下所有内容位于一行):
ldifde -f users.ldf -s DC1.contoso.com -d "ou=UsersOU,dc=contoso,dc=com" –r "(&(objectcategory=person)(objectclass=user))"
与大多数命令行工具一样,您可以通过运行 LDIFDE /? 命令找到 LDIFDE 开关的完整说明。图 1 介绍了我在此使用过的开关。(注意 CSVDE 和 LDIFDE 命令的开关实际上是相同的。)
LDIFDE 的真正功能在于创建和操作对象。然而,进行此操作之前,您首先需要创建一个输入文件。以下语句创建两个名为 afuller 和 rking 的用户帐户;要创建该输入文件,请在记事本(或者您喜欢的纯文本编辑器)中输入以下文本,然后将其保存为 NewUsers.ldf:
dn: CN=afuller, OU=UsersOU, DC=contoso, DC=com changetype: add cn: afuller objectClass: user samAccountName: afuller dn: CN=rking, OU=UsersOU, DC=contoso, DC=com changetype: add cn: rking objectClass: user samAccountName: rking
创建完该文件后,请运行以下命令:
ldifde –i –f NewUsers.ldf –s DC1.contoso.com
您可能会猜到,此处使用的唯一新开关 -i 表明这是一项导入操作而非导出操作。
如果要修改或删除现有对象,不必更改 LDIFDE 命令的语法;相反,您应该修改 LDF 文件中的内容。要更改用户帐户的说明字段,请创建名为 ModifyUsers.ldf 的文本文件,如图 2 所示。
您可以通过运行与之前相同的 LDIFDE 命令语法,在 -f 开关后面指定新的 LDF 文件名来导入更改。用于删除对象的 LDF 格式更简单;要删除一直使用的用户,请创建一个名为 DeleteUsers.ldf 的文件,然后输入以下内容:
dn: CN=afuller OU=UsersOU, DC=contoso, DC=com changetype: delete dn: CN=rking, OU=UsersOU, DC=contoso, DC=com changetype: delete
注意,与 CSVDE 不同,LDIFDE 能够配置用户密码。不过,在为用户帐户配置 unicodePWD 属性之前,必须在域控制器上配置安全套接字层/传输层安全性 (SSL/TLS) 加密。
而且,LDIFDE 能够创建和修改任何类型的 Active Directory 对象,并不仅限于用户帐户。例如,下面的 LDF 文件可在 contoso.com 林的架构中创建名为 EmployeeID-example 的自定义架构扩展:
dn: cn=EmployeeID-example,cn=Schema, cn=Configuration,dc=contoso,dc=com changetype: add adminDisplayName: EmployeeID-Example attributeID: 1.2.3.4.5.6.6.6.7 attributeSyntax: 2.5.5.6 cn: Employee-ID instanceType: 4 isSingleValued: True lDAPDisplayName: employeeID-example
由于 LDIFDE 文件使用工业标准 LDAP 文件格式,因此需要修改 Active Directory 架构的第三方应用程序会经常提供 LDF 文件,您可以在将这些更改应用于生产环境之前使用这些文件检查和批准更改。
除了用于执行批量导入和导出操作的工具外,Windows Server 2003 还包括一个内置工具集,您可以使用它来创建、删除和修改各种 Active Directory 对象,还可以对符合特定条件的对象执行查询。(请注意 Windows 2000 Active Directory 并不支持这些工具,如 dsadd、dsrm、dsget 和 dsquery 等。)
dsaddDsadd 用于在特定的目录分区上创建 Active Directory 对象类的实例。这些类包括用户、计算机、联系人、组、组织单位和配额。Dsadd 具备一个由下列内容组成的通用语法:
dsadd <ObjectType> <ObjectDistinguishedName> attributes
请注意,您创建的每个对象类型都有一组特定的开关,它们与该类型的属性相对应。以下命令创建一个填充了各种属性的用户对象(请注意以下所有内容位于一行):
dsadd user cn=afuller,ou=IT,dc=contoso,dc=com –samID afuller –fn Andrew –ln Fuller –pwd * -memberOf cn=IT,ou=Groups,dc=contoso,dc=com "cn=Help Desk,ou=Groups, dc=contoso,dc=com" –desc "Marketing Director"
–memberOf 开关要求指定应添加该用户的每个组的完整可分辨名称 (DN);如果要将用户添加到多个组,您可以添加多个 DN 并用空格分隔开。
任何元素如果包含空格(如 Help Desk 组的 DN),则该元素应该括在双引号中。如果某个元素含有反斜杠(如称为 IT\EMEA 的 OU),则必须输入两次反斜杠:IT\\EMEA。(这些要求适用于所有的 ds* 工具。)
如果使用 -pwd * 开关,则系统将提示您在命令行输入用户密码。您可以在该命令中指定密码 (-pwd P@ssword1),但是这样会在屏幕上或该命令嵌入到的任何文本或脚本文件中以纯文本形式显示该密码。
同样,您可以使用下列两个命令创建组对象和 OU:
dsadd computer cn=WKS1,ou=Workstations,dc=contoso,dc=com dsadd ou "ou=Training OU,dc=contoso,dc=com"
DsmodDsmod 用于修改现有对象,它的使用方法与 dsadd 非常相似,您需要根据要修改的对象的类型使用不同的子菜单和语法。以下 dsmod 语句会更改用户的密码并修改该用户的帐户,因此在下次登录时系统会提示该用户更改为新的密码:
dsmod user "cn=afuller,ou=IT,dc=contoso,dc=com" –pwd P@ssw0rd1 –mustchpwd yes
要了解这些开关多么相似,您可以查看要用于创建此用户并配置了相同属性的 dsadd 语法:
dsadd user "cn=afuller,ou=IT,dc=contoso,dc=com" –pwd P@ssw0rd1 –mustchpwd yes
您可以清晰地看到,如果知道 dsadd 中用于创建对象的开关,则可以使用那些相同的开关修改 dsmod 用户。
dsrmdsrm 与 dsadd 是相逆的;正如您可能想到的,使用此工具可从命令行中删除对象。基本的 dsrm 语法相当简明:只需输入 dsrm 后输入要删除对象的可分辨名称即可,如下所示:
dsrm cn=WKS1,ou=Workstations,dc=contoso,dc=com
默认情况下,dsrm 会提示“确实要删除此对象吗?”,此时键入 Y,然后按 Enter。您可以使用 –noprompt 开关禁止显示此提示,但很明显,这样做无法在删除对象之前确认所选对象是否正确。如果要删除容器对象(即,在其内部可能包含其他对象的组织单位),另外两个开关可能会很有用。以下命令将删除 TrainingOU 组织单位及其内部包含的所有对象:
dsrm ou=TrainingOU,dc=contoso,dc=com –subtree
以下命令将删除包含在 TrainingOU 中的所有子对象,但保留组织单位对象本身:
dsrm ou=TrainingOU,dc=contoso,dc=com –subtree –exclude
dsmove要移动或重命名 Active Directory 中的对象,请使用 dsmove 工具,但请注意您只应使用该工具在单一域中移动对象。要在域和林之间迁移对象,请使用 Active Directory 迁移工具 (ADMT),可从 Microsoft 网站免费下载。Dsmove 依赖于两个开关,它们可以单独使用,也可以结合在一起使用。以下命令将为 Steve Conn 的帐户指定新姓氏:
dsmove "cn=Conn, Steve,ou=IT,dc=contoso,dc=com" –newname "Steve Conn"
以下命令将 Steve 的帐户从 IT OU 移动到 Training OU:
dsmove "cn=Conn, Steve,ou=IT,dc=contoso,dc=com" –newparent ou=Training,dc=contoso,dc=com
您可以通过同时指定这两个开关,将重命名和移动合并为一个操作,如下所示:
dsmove "cn=Conn, Steve,ou=IT,dc=contoso,dc=com" –newname "Steve Conn" –newparent ou=Training,dc=contoso,dc=com
Dsget 和 Dsqueryds* 命令行工具集还包括两个用于查询 Active Directory 获取信息而非用于创建或修改对象的工具。
Dsget 将对象的 DN 作为输入并为您提供您指定的一个或多个属性的值。Dsget 使用与 dsadd 和 dsmod 相同的子菜单 — user、computer、contact、group、ou 和 quota。
要获得用户帐户的 SAM 帐户名和安全标识符 (SID),请键入以下命令(请注意以下所有内容位于一行):
dsget user cn=afuller,ou=IT,dc=contoso,dc=com –samAccountName –sid
您将会得到如图 3 所示的输出。
Dsquery 将返回一个符合您指定条件的 Active Directory 对象的列表。无论您使用的是哪个子菜单,都可以指定以下参数:
dsquery <ObjectType> <StartNode> -s <Search Scope> -o <OutputFormat>
对于 ObjectType,dsquery 可以使用以下子菜单,每个子菜单都具有自己的语法:computer、contact、subnet、group、ou、site、server(请注意,服务器子菜单检索有关域控制器的信息,而不是环境中的任一成员服务器)、user、quota 和 partition。如果其中一个查询类型不符合需要,您可以使用 * 子菜单,这样您可以输入任意格式的 LDAP 查询。
StartNode 指定搜索在 Active Directory 树中的开始位置。您可以使用特定的 DN,如 ou=IT、dc=contoso、dc=com 或下列其中一个快捷说明符:domainroot,从特定域的根目录开始;forestroot,从使用全局编录服务器执行搜索的林根域的根目录开始。
最后,“搜索范围”选项指定 dsquery 搜索 Active Directory 树的方式。Subtree(默认方式)查询指定的 StartNode 及其所有子对象;onelevel 仅查询 StartNode 的直接子项;base 仅查询 StartNode 对象。
为了更好地理解搜索范围,假定有一个 OU,其中包含用户对象和一个子 OU,该子 OU 自身又包含其他对象。使用 subtree 范围将查询该 OU、包含在该 OU 内的所有用户对象和子 OU 及其内容。onelevel 范围仅查询包含在 OU 中的用户而不查询子 OU 及其内容。base 查询仅搜索 OU 本身而不查询其中包含的任何对象。
最后,您可以使用 Output Format 控制如何设置 dsquery 的结果的格式。默认情况下,dsquery 将返回与查询相匹配的所有对象的可分辨名称,如下所示:
"cn=afuller,ou=Training,dc=contoso,dc=com" "cn=rking,ou=ITTraining,ou=Training,dc=contoso,dc=com"
要查询 IT OU 和任意子 OU 中包含的所有用户对象,请使用以下命令:
dsquery user ou=IT,dc=contoso,dc=com
您可以通过添加其他开关进一步细化此查询,如 -disabled(仅返回已禁用的用户帐户)、-inactive x(仅返回在过去 x 周或更久未登录的用户)或 -stalepwd x(仅返回在 x 天内或更久未更改其密码的用户)。
依据目录中对象的数目,在运行查询时您可能需要指定 -limit x 开关。默认情况下,dsquery 将会返回多达 100 个与查询细节相匹配的对象。您可以指定更大的数目(如 -limit 500),或使用 -limit 0 指示 dsquery 返回所有匹配对象。
也可以使用其他子菜单执行对其他对象类型的有用查询。考虑以下查询,此查询将返回在 Active Directory 站点和服务中定义的位于 10.1.x.x 地址空间中的每个子网:
dsquery subnet –name 10.1.*
或使用以下命令返回位于 Corp 站点中的每个子网:
dsquery subnet –site Corp
使用另一个子菜单,您可以很快确定林中配置为全局编录服务器的域控制器的数量:
dsquery server –forest –isgc
您还可以使用此语法帮助确定域中哪个域控制器承载主域控制器 (PDC) 模拟器灵活单主机操作 (FSMO) 角色:
dsquery server –hasfsmo pdc
与其他包含子菜单的 ds* 命令一样,您可以转到命令提示符并键入 dsquery user /?、dsquery computer /?、dsquery subnet /? 等查看特定 dsquery 子菜单中可用的所有开关。
另一个灵活的技巧是使用管道字符(在美式键盘上按下 shift 的同时按反斜杠即可)将 dsquery 的输出通过管道传送到其他工具(如 dsmod)中。例如,假设您的公司已将 Training 部门重命名为 Internal Development,现在您必须将每位相关用户的说明字段从旧部门名称更改为新名称。在单一命令行上,您可以查询具有 Training 的说明字段的用户对象,然后批量修改该说明字段,如下所示:
dsquery user –description "Training" | dsmod -description "Internal Development"
一些第三方产品由于 Active Directory 基于 LDAP 标准,您可以使用任何支持 LDAP 的工具对其进行查询和修改。许多第三方供应商已发布了收费的工具,帮助您管理 Active Directory,但有时您会发现为社区免费提供的极具价值的工具。目录服务 MVP Joe Richards 创建的集合就是这种情况,可以从 joeware.net/freetools 下载。在那里您将会发现大量具有不同功能的工具。我反复使用的有 adfind、admod 和 oldcmp 这三种工具。
Adfind 和 AdmodAdfind 和 admod 类似于 dsquery 和 dsmod;adfind 是 Active Directory 的命令行查询工具,admod 能够创建、删除或修改一个或多个 Active Directory 对象。
与具有多个子菜单并且开关依据对象类型而异的 ds* 工具不同,adfind 和 admod 具有一致的语法,与要尝试执行的查询或修改类型无关。adfind 的基本语法为:
adfind –b <Search Base> -s <Search Scope> -f <Search Filter> attributesDesired
所以对域中所有计算机对象的 DN 和说明的查询应为:
adfind –b dc=contoso,dc=com –s subtree –f (objectclass=computer) dn description
对所有用户对象的查询如下所示:
adfind –b dc=contoso,dc=com –s subtree –f "(&(objectcategory=person) (objectclass=user))" dn description
注意,除了 LDAP 查询的内容外,语法没有任何更改。
使用 adfind 时,您将发现许多快捷操作符,可以减少许多键入内容。例如,-default 开关可以取代上一示例中的 -b dc=contoso,dc=com 并搜索整个域;-gc 搜索垃圾收集 (GC) 并返回 Active Directory 林中所有的用户。还可以使用 -rb 开关设置相对搜索库;如果要在 phl.east.us.contoso.com 域中搜索 Training OU,您可以通过仅仅指定 –default –rb ou=Training,而非 –b ou=Training, dc=phl,dc=east,dc=us,dc=contoso,dc=com,从而减少许多工作量。
另外,adfind 还可以执行在命令行中不能轻松管理的许多高级搜索功能,如图 4 所示。
使用 –asq 开关“显示 HelpDesk 成员的组成员身份”的示例如下所示:
adfind –default –rb cn=HelpDesk,ou=IT –asq member memberOf
顾名思义,admod 用于修改 Active Directory 中的对象。与 adfind 一样,不需要记住有特殊语法的特定子菜单;admod 在任何时候都使用相同的语法,与要处理的对象类型无关。还可以使用 admod 添加、移动、重命名、删除甚至恢复对象,只需通过添加相应的开关(如 -add、-rm、-move、-undel)即可实现。就像 dsquery 和 dsmod 一样,您也可以使用 | 字符将 adfind 查询的结果通过管道传送到 admod。
请注意,使用 admod 执行恢复操作只能执行逻辑删除恢复操作,在此操作中大部分对象属性已被删除。要完全还原某个对象及其所有属性,您仍需要执行该对象的授权还原。
Oldcmp还有一个 joeware 工具,我认为它是自动工具包中必不可少的一部分:oldcmp,该工具会扫描 Active Directory 数据库,查找在指定周数内未使用的计算机帐户,而且可以执行以下操作:
- 创建帐户报表而不对其进行任何操作
- 禁用未使用的计算机帐户
- 将计算机帐户移动到另一个指定的 OU 中
- 完全删除计算机帐户
请注意,由于 oldcmp 可能会严重损坏您的目录,因此它有许多内置的安全功能。它不会删除尚未禁用的任何帐户(无需手动指定“No really, I mean it!”命令行开关)。无需指定类似的“No really, I mean it!”开关,每次修改对象不会超过 10 个,而且绝对不会对域控制器的计算机帐户执行任何操作。
现在,尽管工具的名称易于误导,但是 Joe 已更新了 oldcmp,以便对在特定时间内未使用的用户帐户也能执行相似的功能。
对于一个小型 Active Directory 环境或每次只执行一两个添加或更改操作的环境,GUI 工具(如 Active Directory 用户和计算机)可能足以满足日常管理需要。但是,如果您每天都要添加和修改大量对象,或者只是需要更加简化地管理任务解决方案,则改用命令行可以大大加快在 Active Directory 中创建、修改和删除对象的过程。您已经了解到,有许多灵活且功能强大的工具可以免费获得,它们或者内置于 Windows 中,或者可从 Active Directory 社区成员中下载。这些工具中的任何一个都能够大大提高 Active Directory 管理员的工作效率,与此同时,它们在您的日常工作中变得更加必要。
摘自 September 2007 期刊 TechNet Magazine.
-
Virtual Server 2005 在 Vista U&E 版上安装须知. - [Virtual Services]
2007-10-10
Virtual Server 2005 在 Vista U&E 版上安装须知.
1、启用 Web Management Tools 下的
· IIS Management Console
2、启用 IIS 6 Management Compatibility 下的
· IIS 6 Management Console
· IIS Metabase and IIS 6 Configuration compatiblity
3、启用 World Wide Web Services 下 Application Development Features 下的
· CGI 支持
4、启用 World Wide Web Services 下 Common Http Features 下的
· Default Document
· Directory Browsing
· HTTP Errors
· Static Content
5、启用 World Wide Web Services 下 Health and Diagnostics 下的
· HTTP Logging
· Request Monitor
6、启用 World Wide Web Services 下 Performance Features 下的
· Static Content Compression
7、启用 World Wide Web Services 下 Security 下的
· Windows Authentication
-
10.1"黄金周" ,浑浑噩噩的结束了,今天又踏进了工作环境,,闷.... - [记 <心情>]
2007-10-10
10.1"黄金周" ,浑浑噩噩的结束了,今天又踏进了工作环境,,闷....
10.7,苏州,台风,又见超强台风,这次确实比9.19的"伟帕" 强很多,临近中午,一场狂风大雨,拉开了一天萧条的序幕. 街上,路上,树叶横飞......我竟然还冒雨去苏州图书馆....自己都感觉奇怪.....
10.8,苏州,台风看来没有减弱,风还是一如既往的再吹,哦,不,是在用力的击打....可恶啊......上班一路,都不知道怎么过来的....狂"顶"着过来,印证了一句,坐沙发的 迟早要顶的.
OK.坐在电脑前,奋笔疾书,写下随笔如上.











