Jerry's profile三角阳台的LIVE记事本PhotosBlogListsMore Tools Help

Blog


    10/6/2009

    在组策略的首选项和策略设置之间进行选择

    作者:delxu
    版本:20091006

    从Windows Vista sp1和Windows Server 2008开始,组策略(Group Policy)和先前的版本有了更加长足的进步。细心的管理员可能已经发现,最新版本的组策略分成了策略设置(Policy Settings)和策略首选项(Policy Preferences)两个部分。其中策略设置基本上继承了以前版本组策略的主要内容,而策略首选项则是全新的内容,为管理员提供了更多更细的设置。

    gp001

    组策略设置和首选项的不同之处就在于强制性。组策略设置是受管理的、强制实施的。而组策略首选项则是不受管理的、非强制性的。

    对于很多系统设置来说,管理员既可以通过策略设置来实现,也可以通过策略首选项来实现,2者有相当一部分的重叠。那么什么情况下应该用策略首选项,什么情况下应该用策略设置呢?本文将为你解开这个谜团。

    =========================================

    (下文大多数情况下将“组策略的策略设置”简称为“策略”或“策略设置”,将“组策略的策略首选项”简称为“首选项”)

    因为首选项策略在某些管理区域相互重叠,有时候你可以通过多种方法来实现同一个特定的任务。比如,你可以通过策略来指定必须使用的登录脚本。在这些脚本中,你可以映射网络驱动器、配置打印机、创建快捷方式、复制文件和文件夹以及执行其他任务。使用首选项,你可以不需要通过登录脚本就完成相同的任务。那么,应该选择哪一种方法呢?嗯,真相是没有一个标准答案,确实是这样,这取决于你想怎么做。在下面的章节中,我将告诉你一些大致的指导意见。

    当在同一个GPO中的策略首选项发生冲突时,基于注册表的策略通常会获胜。对于不基于注册表的策略首选项来说,最后写入的那个值获胜(这取决于策略首选项的客户端扩展执行的顺序)判断策略设置是否是基于注册表的方法很简单,因为所有基于注册表的策略设置都定义在管理模板(Administrative Templates) 中。

    控制设备安装

    通过策略设置,你可以通过阻止用户安装驱动程序的方法来限制用户安装某些特定类型的硬件设备。你可以指定某个经过许可的设备可以被安装(根据设备的硬件ID),也可以阻止特定设备的安装(还是根据设备的硬件ID)。这些策略设置仅对Windows Vista及更高版本有效,可在Computer Configuration\Policies\Administrative Templates\System\Device Installation Restrictions下找到。(注:中文版为“计算机配置\策略\管理模版\系统\设备安装限制”)

    虽然这些限制措施能阻止新设备的安装,或阻止一个设备在拔下后并重新插入时的重新安装,但并不能阻止已存在设备的运行。

    使用首选项,你可以禁用设备类(Device Classes)、某个设备、端口类(Port Classes)以及某个端口,但不能阻止驱动程序的载入。相关的首选项设置可以在Computer|User Configuration\Preferences\Control Panel Settings\Devices下找到。
    (注:中文版为“计算机|用户配置\首选项\控制面板设置\设备”)

    虽然用首选项可以禁用设备和端口,这并不会阻止设备驱动程序的安装。它也不会阻止具有相应权限的用户通过设备管理器(Device Manager)启用设备或端口。然而,因为组策略默认会以同样的时间间隔来刷新策略设置和首选项,首选项设置会在下一次刷新组策略的时候被重新应用。这样,除非你特别指定该首选项只应用一次且不再重新应用,该设置会每90-120分钟被应用一次。

    如果你想完全锁定并阻止某个特定设备被安装和使用,可以将策略设置和首选项配合起来使用:用首选项来禁用已安装的设备,并通过策略设置阻止该设备驱动程序的重新载入。

    最后要指出的是,这里提到的策略设置仅对Windows Vista或更高版本生效,而首选项则可以对安装了组策略首选项客户端扩展(Client-side Extension for Group Policy Preferences)的任何计算机生效。

    文件和文件夹

    通过策略可以为重要的文件和文件夹创建特定的访问控制列表(ACL)。然而,只有目标文件和文件夹存在情况下,ACL才能被应用。这种策略设置可以应用于任何支持组策略的计算机上。你可以在Computer Configuration\Policies\Windows settings\Security Settings\File System下找到。
    (注:中文版的位置是“计算机配置\策略\Windows设置\安全设置\文件系统”)

    使用首选项,你可以管理文件和文件夹。对于文件,你可以通过从源计算机复制的方法来创建、更新、替换或删除一个文件或文件夹。对于文件夹,还可以指定在创建、更新、替换或删除操作时,是否删除文件夹中现存的文件和子文件夹。

    文件和文件夹首选项可以应用于任何安装了组策略首选项客户端扩展的计算机上。对于文件,你可以在Computer|User Configuration\Prefernces\Windows Settings\Files下找到。对于文件夹,你可以在Computer|User Configuration\Prefernces\Windows Settings\Folders下找到。
    (注:中文版对应的位置分别是“计算机|用户配置\首选项\Windows设置\文件”和“计算机|用户配置\首选项\Windows设置\文件夹”)

    小技巧:组策略还提供了可用于.ini 配置文件和快捷方式的首选项。用于.ini文件的首选项仅限于修改.ini文件中特定分支的特定属性值。快捷方式首选项可用于创建文件、文件夹、URL以及在特定Shell对象(例如桌面)的快捷方式。

    所以,最佳方案是同时使用文件和文件夹的策略和首选项。你可以用首选项来创建一个文件或文件夹,并通过策略对刚创建的文件或文件夹设置ACL。此外,对于文件和文件夹,应该选择“只应用一次而不再重新应用”。否则,创建、更新、替换或者删除的操作会在下一次组策略刷新时被重新应用。

    Internet Explorer

    组策略为Internet Explorer提供了非常多的策略和首选项设置,多到连不少专家都常常为哪个设置能做什么而感到困惑。下面这些是需要被关注的关键:

    • Computer Configuration\Policies\Administrative Templates\Windows Components\Internet Explorer 策略主要用来控制Internet Explorer的行为表现。这些策略配置了浏览器的安全增强并帮助锁定Internet安全区域设置。
    • User Configuration\Policies\Windows Settings\Internet Explorer Maintenance 策略用来指定重要的URL,比如主页搜索栏联机支持页收藏夹和链接。策略设置也被用于自定义浏览器界面,例如给IE增加自定义Logo、标题和按钮,建立默认程序、代理服务器和其他方法等。
    • User Configuration\Preferences\Control Panel Settings\Internet Settings下的首选项设置允许你配置控制面板中“Internet选项工具中的任何选项。

    因为策略是被管理的而首选项是不被管理的,当你想要强制设定某些Internet Explorer选项时,应该使用策略设置。尽管你也可以使用首选项来配置Internet Explorer,但是因为首选项是非强制性的,所以用户可以自行更改设置。

    电源选项

    选择非常容易——为Windows Vista或更高版本选择策略;为Windows XP选择首选项。

    Vista或更高版本的策略设置位于
    Computer|User Configuration\Policies\Administrative Templates\System\Power Management
    (中文版:“计算机|用户配置\策略\管理模板\系统\电源管理”)

    Windows XP的首选项设置位于
    Computer|User Configuration\Preferences\Control Panel Settings\Power Options
    (中文版:“计算机|用户配置\首选项\控制面板设置\电源选项”)

    控制打印机

    通过组策略,你可以将打印机部署到任何支持组策略的计算机上,这是通过建立一个到现存的共享打印机上的连接来实现的。

    对于Windows Vista或更高版本的计算机,可以通过位于User Configuration\Policies\Windows Settings\Deployed Printers的策略设置来部署打印机;对于更早版本的Windows计算机,可以通过在登录/启动脚本中使用PushPrinterConnection.exe来部署打印机连接。

    你可以通过首选项来映射和配置打印机,这些首选项包括配置本地打印机以及映射网络打印机,包括共享网络打印机或TCP/IP网络打印机。这些首选项可以应用在任何安装了组策略首选项客户端扩展(Client-side Extension for Group Policy Preferences)的计算机上。

    因为打印机首选项的设置要远比策略设置丰富的多,你可能会更倾向于使用首选项。不过,如果你已经通过策略设置部署了打印机,也没必要切换到首选项并重新部署。

    控制注册表项与值

    通过策略设置,可以为注册表项设置特定的访问控制列表(ACL)。然而,只有注册表项存在的情况下,ACL才能被应用。这种策略设置可以应用于任何支持组策略的计算机上。你可以在Computer Configuration\Policies\Windows settings\Security Settings\Registry下找到。
    (注:中文版的位置是“计算机配置\策略\Windows设置\安全设置\注册表”)

    使用首选项,你可以创建、更新、替换或删除一个注册表项。相关的首选项的位置在Computer|User Configuration\Prefernces\Windows Settings\Registry。(注:中文版的位置是“计算机配置\首选项\Windows设置\注册表”)

    尽管用首选项可以修改几乎任何注册表项,但是这种方法却很少被广泛使用。为什么呢?因为这相当于直接修改注册表,而直接修改注册表是一个危险的操作。你可能破坏了注册表导致系统的崩溃。所以我建议你只有在极少数必须的情况下才使用首选项来修改注册表项。你应该通过策略设置中的管理模板来修改注册表。组策略提供了很多管理模版,你还可以到微软网站为其他应用程序(比如MS Office)下载并安装额外的管理模板,来给其他应用程序管理注册表。如果某个特定的应用程序没有相应的管理模板,你还可以创建自定义的管理模板。

    此外,你可能希望对注册表项的首选项“只应用一次且不再重新应用”。否则,创建、更新、替换或者删除的操作会在下一次组策略刷新时被重新应用。

    控制开始菜单

    说起对开始菜单的控制,策略配置和首选项有很多重叠之处。但是做法很不一样。

    通过策略设置,你可以控制和限制「开始」菜单选项和不同的开始菜单行为。这些控制位于User Configuration\Policies\Adminsitrative Templates\Start Menu And Taskbar下。例如,你可以指定是否要在用户注销时清除最近打开的文档历史,或是否在“开始”菜单上禁用拖放操作。还可以锁定任务栏,移除系统通知区域的图标以及关闭所有气球通知。
    (注:中文版的位置是“用户配置\策略\管理模板\「开始」菜单和任务栏”)

    首选项位于User Configuration\Preferences\Control Panel Settings\Start Menu。你可以如同通过控制面板中的任务栏和「开始」菜单属性对话框一样来进行配置。不过没有关于任务栏的首选项。
    (注:中文版的位置是“用户配置\首选项\控制面板设置\「开始」菜单”)

    控制系统服务

    对于系统服务,选择很容易。你可以通过策略设置来
    * 配置服务的启动模式
    * 指定服务的访问许可(谁可以开始、停止和暂停服务)

    策略设置位于Computer Configuration\Policies\Windows settings\Security Settings\System Services
    (注:中文版的位置是“计算机配置\策略\Windows设置\安全设置\系统服务”)

    首选项则用于
    * 配置服务启动模式
    * 配置服务操作(例如启动服务,停止服务,停止并重启服务)
    * 设定用于启动服务的帐号和密码
    * 设定当服务失败时计算机的恢复反应。

    服务的首选项位于Computer Configuration\Preferences\Control Panel Settings\Services
    (注:中文版的位置是“计算机配置\首选项\控制面板设置\服务”)

    因为策略是受管理的,而首选项是不受管理的,当你想强制定义启动模式和访问许可的时候,可以用策略设置。尽管你可以用首选项来配置服务,但是因为首选项是非强制的,用户可以自行更改设置。这就是说,如果你应用了首选项并通过常规的组策略刷新机制来自动刷新,某些用户更改将会被你的首选项设置所覆盖。

    控制用户和组

    对于用户和组来说,选择首选项还是策略很容易。如果你想限制某个AD组或本地组的成员,你就应该用策略设置。相关策略设置的位置是Computer Configuration\Policies\Windows settings\Security Settings\Restricted Groups
    (注:中文版的位置是“计算机配置\策略\Windows设置\安全设置\受限制的组”)

    通过首选项,你可以创建、替换、更新或删除本地用户或本地组。

    对于本地用户,还可以

    * 重命名用户帐号
    * 设置用户密码
    * 设置用户帐号的状态标志 (比如下次登录时必须修改密码标志,帐号禁用标志等)

    对于本地组,首选项还可以

    * 重命名组
    * 添加或删除当前用户
    * 删除成员用户或成员组

    本地用户和组的首选项位于Computer|User Configuration\Preferences\Control Panel Settings\Local Users And Groups
    (注:中文版的位置是“计算机|用户配置\首选项\控制面板设置\本地用户和组”)


    注:本文的大部分章节节选或翻译自《Windows Group Policy Administrators Pocket Consultant》第二章。如有出错请发邮件到dellxu@gmail.com指正。如有需要转载,请写明出处。

    9/16/2009

    Windows 名字解析顺序

    (注:本文涉及的都是多年前的Windows产品。仅做培训教材之用)

    Windows中名字解析的顺序是怎样的?很多中文的技术文章或者前后矛盾,或者语焉不详,是他们错了么?不是,只是没有把特定的条件说清楚了罢了。

    比如这个常见的说明名字解析顺序的图片:
    post-44-1139253229
    但是这个顺序一定正确吗?回答应该是,在特定的场合下,是正确的。这个特定场合指的是1)OS是Windows 2000或更新版本,2)采用了H-Mode的节点模式。但是这些,很多引用了这张图片的文档都没有解释。

    决定名字解析顺序的2个重要的因素:第一,OS版本,第二,节点模式
    OS版本决定了名字解析优先DNS还是优先查询NetBIOS。节点模式决定了先查WINS还是先广播。
    Windows 2000以后(包括2000、XP、Vista、Win7、2003、2008)都先查DNS,后查NetBIOS。
    Windows 9x/NT以前的,都先查NetBIOS,后查DNS。
    节点模式见后文解释。

    接下去我们用问答的方式来解释一些常见问题。

    Q: DNS名的查询顺序:
    DNS cache --> HOSTS 文件 --> DNS Server

    Q: NetBIOS名的查询顺序:
    如果是H-mode的话: NetBIOS cache --> WINS Server --> 广播 --> LMHOSTS 文件
    如果是其他模式,WINS和广播的顺序会有不同,见下文。

    Q: HOSTS 和LMHOSTS文件的位置
    %SystemRoot%\System32\drivers\etc
    %SystemRoot%通常都是C:\Windows,NT下是C:\WINNT
    (查看SystemRoot的路径,可以在cmd下输入set命令)
    缺省情况下, lmhosts 文件并不存在,系统有一个 lmhosts 样本文件 lmhosts.sam ,您可以仿照 lmhosts.sam 文件来编写您的 lmhosts

    Q: 如何看当前节点模式?
    ipconfig /all
    Snap1

    Q: 有那些mode?
    有四种mode:b,p,m,h

    Q: 每种mode的具体含义?
    B-mode:Broadcast Mode,只广播
    P-mode: Point-to-point mode,只查WINS
    M-mode: Mixed mode,先广播,后WINS
    H-mode: Hybrid mode,先WINS,后广播

    Q: 默认mode是什么?
    设置了WINS时,默认mode是H-mode,没设置WINS默认mode是B-mode

    Q: 各个mode的Reg键值
    B-mode:0x1
    P-mode: 0x2
    M-mode: 0x4
    H-mode: 0x8

    Q: mode的动态设定
    通过DHCP分配地址的时候,可以配置NodeType,在注册表中
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Netbt\Parameters
    DHCPNodeType的值说明了从DHCP获得的Node Type

    Q: 如何改mode?
    通常情况下,不需要改Mode!使用默认的H-mode即可!

    在注册表中添加或者修改NodeType键值。
    默认情况下,不存在NodeType键值,可以手工创建。
    NodeType键值覆盖(优先级高于)DHCPNodeType的键值。
    NodeType的位置在:

    Windows 2000 and Windows NT

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Netbt\Parameters
    Key: NodeType
    Value Type: REG_DWORD - Number
    Valid Range: 1,2,4,8 (b-node, p-node, m-node, h-node)

    Windows 9x

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\MSTCP
    Key: NodeType
    Value type: DWORD
    Valid range: 1, 2, 4, or 8

    Q: 如何显示DNS Cache
    ipconfig /displaydns

    Q: 如何手工清空DNS Cache
    ipconfig /flushdns

    Q: DNS Cache有效期多少时间?
    10分钟。

    Q:如何停用DNS Cache?
    在Windows服务中的DNS Client服务(短名dnscache)负责DNS Cache任务,只要停用这个服务,就可以停用DNS Cache。
    注意,即使关掉DNS Client服务,计算机仍然可以通过DNS服务器来解析DNS名。
    关掉DNS Client服务的办法,可以输入命令:
      net stop dnscache
      或
     
    sc servername stop dnscache
    或者在图形界面,services.msc控制台中关闭该服务。

    Q:如何查看NetBIOS Cache?
     nbtstat –c

    Q: 如何清空NetBIOS Cache?
     nbtstat -R
    注意R必须大写


    总结
    最后总结一下,一台加入AD的Windows XP电脑的名字解析顺序默认应该是:
    DNS cache --> HOSTS 文件 --> DNS Server –> NetBIOS cache --> WINS Server --> 广播 --> LMHOSTS 文件
    如果是一台Win95的工作组电脑,并且没有WINS,(还记得吗?没有配WINS,默认用B模式)则是:
    NetBIOS cache --> 广播 --> LMHOSTS 文件 --> DNS cache --> HOSTS 文件 --> DNS Server


    参考文档和相关阅读

    1) 理解Windows网络中的名字解析
    http://www.winsvr.org/info/info.php?sessid=&infoid=1&page=1
    2) Windows操作系统上的一些名字解析
    http://read.newbooks.com.cn/info/132528.html
    3) How to Disable Client-Side DNS Caching in Windows XP and Windows Server 2003
    http://support.microsoft.com/kb/318803
    4) NetBIOS over TCP/IP Name Resolution and WINS
    http://support.microsoft.com/kb/119493
    5) NetBIOS Name Resolution Using DNS and the HOSTS File
    http://support.microsoft.com/kb/142309
    6) Default Node Type for Microsoft Clients
    http://support.microsoft.com/kb/160177

    8/31/2009

    Win7试用心得和不完全兼容性列表(和Vista当年情况的比较)

    2年前的5月第一次用Vista的时候遇到了不少麻烦,因此写下了一篇《Windows Vista使用心得和兼容软件列表》。今此Windows 7发布,兼容性问题大有改观。翻出旧文,比较一番。旧文link:
    http://delxu.spaces.live.com/blog/cns!D04F87F9ED029F69!298.entry

    类别

    Windows Vista

    Windows 7

    驱动 显卡不认。去Nvidia网站下载了最新显卡驱动。鼠标键盘驱动没有屏幕显示。 Windows 全认,无需额外安装
    中文输入 要找最新版本才支持,当时找了谷歌1.0 主流都支持,选了qq拼音。很好用。
    防病毒 NOD32 2.7,后来花30元买了18个月的NOD32 3.0版 NOD32要4.0才支持,比较贵。选了免费的AVG 8.5 Free,完美支持Windows 7
    媒体播放 Vistacodec 4.37 + RealPlayer 10.6
    当时安装Realplayer10.5 出错,最后装了10.6才搞定。
    直接安装了完美解码2009版,号称完美兼容Windows 7,目前用下来感觉的确如此。不过安装的时候要小心,避开其中带的广告插件。
    压缩解压 WinRAR 3.51 还是用这个WinRAR 3.51,老牌子就是好
    MSN和MSGPLUS 当年用MSN 8.5,MSGPLUS用最新版4.20才兼容 Live Messenger 2009,下载个最新的MSGPLUS 4.82,很好很兼容
    下载工具 Flashget 1.65。用老款软件又稳定又小巧。 Flashget 1.65装不上。试了Flashget 3.2,发现垃圾插件好多。避的开垃圾插件,可是避不开广告。又试了Flashget Mini,还是很糟糕的体验。最后在Greendown.cn 发现一个绿色免广告的Flashget 3.2。不错。
    刻录软件 07年5月只能用Nero 7 Essential。这个版本是买刻录机送的。勉强能用,但是问题不少。一直到08年初弄到了Nero 8,才解决问题 安装使用Vista下兼容较好的Nero 8.3.2.1,没发现任何问题。
    虚拟光驱 Daemon Tools 4.09,XP下用3.44,Vista下用最新的4.09就可。 下了Daemon Tools Pro 4.35,号称完美兼容Win7,但是原来一直免费的Daemon 从这个版本开始收费了。汗!卸载之。另有完全免费的Daemon Tools Mini 4.30,但是安装的时候,运行的时候,Win7 都报告说这个程序有兼容性问题。不管三七二十一,装上试试。嘿,也能用。不过还是期待免费版能出新的,解决这个兼容性警告问题
    魔兽世界 copy即用 还是copy即用。另据可靠的实测消息,在Windows 7 64bit版中,魔兽世界也一切正常。
    另,因为在玩台服,所以也在用27代理软件,完全正常。
    照片编辑 光影魔术手0.25 绿色版,后来免费了,就升级到了3.1。一直都很好用,只是location必须选China,否则菜单都是问号。 沿用绿色版本的光影魔术手3.1,问题一样,location必须选China。
    VPN 无法使用4.x版本。Cisco VPN 5.0.00 大概7月份才面世。之后ok。 试用了8月23日刚出的Cisco VPN 5.0.06 beta号称支持WIn7,目前测下来没发现兼容性问题。

    应该说,基于同样个构架,Vista下的软件在Windows 7下基本都能兼容。这也是Windows 7面世的时候遇到的问题远远少于Vista的原因。
    8/30/2009

    Windows 7系统下利用2008 R2的VHD文件制作Win7/2008 R2双重引导

    想测试下Windows 2008 R2,但是又没多余的电脑怎么办?在Win7下,做一个双重引导吧。
    今天试了试盆盆兄的方法,的确又快又好使。整理一下记录在此。因为完全是抄袭盆盆兄和Frank大哥的文章,需要转载的请一定要注明2位原创作者。
    以下截图都是本人实际操作时候的存的,WAIK的下载LINK也更新了。

    第一步,下载并安装WAIK。因为第二步的script要用到WAIK中的ImageX。
    下载地址:http://www.microsoft.com/downloads/details.aspx?familyid=696DD665-9F76-4177-A811-39C26D3B3B34&displaylang=en

    第二步,下载wim2vhd.wsf并且复制到C:\Windows\system32下。这是微软提供的一个脚本,可以用来将wim转成vhd格式。非常强大非常好用。下载地址:http://code.msdn.microsoft.com/wim2vhd

    第三步,放入Windows 2008 R2的光盘。(或者像我这样用虚拟光驱软件加载Windows 2008 R2安装光盘的ISO文件)假设光驱是G:

    第四步,以管理员身份运行命令行,输入以下命令查看可用的SKU信息
    cscript wim2vhd.wsf /wim:g:\sources\install.wim
    Capture
    黄色部分就是可以安装的2008版本,选择你要的版本。例如要装2008 R2 Standard版,就选SERVERSTANDARD。

    然后运行以下命令,把安装光盘里的映像文件转换成一个VHD文件,并且保存到F盘下,名称为w2008.vhd:
    cscript wim2vhd.wsf /wim:g:\sources\install.wim /sku:SERVERSTANDARD /vhd:f:\w2008.vhd

    这中间其实还是有很多步骤的,不过因为完全自动,所以就略过了。喜欢研究的同学可以参考盆盆兄的文档。

    第五步,利用bcdedit生成一个新的启动项,并且指向刚才生成的vhd文件。
    C:\>bcdedit /copy {current} /d "Windows 2008 R2 Standard"
    这条命令复制了当前启动项,并会返回新启动项的GUID,Copy这个GUID,你会用在下面的命令中。
    然后依次键入以下命令
    C:\>bcdedit /set <guid> device vhd=[F:]\w2008.vhd
    C:\>bcdedit /set <guid> osdevice vhd=[F:]\w2008.vhd
    C:\>bcdedit /set <guid> detecthal on
     Capture2
    用下面命令验证
    C:\>bcdedit /v
    Capture3 

    重启电脑,你会发现启动项多了一条Windows 2008 R2 Standard。好啦,大功告成。

    后记:
    1) 如果你用的方法和我一样,是从光盘WIM生成的VHD,那么第一次进入Windows 2008 R2 Standard时,你会发现一次开机配置的过程,如同刚装完2008一样。系统会自动检测硬件,并可能重启一次。
    2) 进入Windows 2008 R2 Standard,你会发现,当前的C盘是vhd文件生成的,而原先的Windows7下的C:变成了D:
    3) 你也可以利用原来Virtual PC生成并安装好的VHD文件,但是系统只能是Windows 7或者Windows 2008 R2。

    参考文档:
    1)盆盆的博客:[虚拟化实战]无需借助虚机安装,就能从VHD原生启动
    http://blogs.itecn.net/blogs/ahpeng/archive/2009/04/01/NoneOsInstallVhdNativeBoot.aspx
    2)Frank Yu的文章:从VHD文件启动计算机
    http://blogs.technet.com/fyu/archive/2009/01/19/vhd.aspx

    8/21/2009

    Windows 2008 实战之KMS实施(Revision 2)

    为了迎接Windows 2008 R2的正式发布,特将本人去年写的《Windows 2008 实战之KMS实施》重新整理并加以补充,更新为R2版。嘿嘿。

    为了让没看过前文的同学们方便起见,还是先列出参考文档。
    关于VA2.0的文档集:http://go.microsoft.com/fwlink/?LinkID=75674
    其他参考资料和工具:http://go.microsoft.com/fwlink/?LinkId=107415
    其中Deployment Guide和Operation Guide是配置和排错最有用的2篇文档。

    OS安装阶段
    首先,先保证您用的安装介质是Volume版的。Vista和2008的Volume版本安装时要输入一个CD Key,请注意,这个Key不是KMS Key,而是公开在KMS Deployment Guide中(见文档第19页)的一组Key。而Windows 7和2008 R2的安装没有输入CD Key的部分,Volume版本已经内含一个Setup Key。

    检查KMS状态和客户端激活
    安装完Windows 2008以后(加入域,配置好DNS),进入命令行,首先查看当前KMS状态
    通过命令行进入%windir%\system32,键入命令:
    cscript slmgr.vbs /dli
    Snap1
    红框中的VOLUME_KMSCLIENT说明,现在的License是KMS Client类型。
    蓝框中说明了当前的License还未激活,处在刚刚安装完毕的30天宽限期内。
    黄框则是提示你,可以键入命令slmgr.vbs /ato来激活。当然,前提是当前网络内可以发现合法的KMS Host。
    完整的激活命令是:cscript C:\windows\system32\slmgr.vbs /ato

    激活的另外一种方式是,直接按Win-Break键调出系统属性,然后按激活链接即可。这种方式非常简便,尤其适用于Client OS(例如Windows Vista或Windows 7)的部署。(注:普通用户权限也可激活,无需管理员权限)

    但是如果上面的那台服务器是我们网络内第一台KMS服务器,接下去应该如何配置KMS HOST呢?

    配置KMS HOST
    1. 以管理员方式打开命令行窗口。(在开始菜单中右键点Command Prompt,然后选Run As Administrator)  这点很重要,否则会报错

    2. 安装KMS Key (这个key,如果你是正版用户的话,可以到微软Licensing网站取得)。键入命令:
    cscript C:\windows\system32\slmgr.vbs /ipk <KmsKey>
    记得不要漏掉KmsKey每5个字符间的减号符。
    Snap2 
    蓝框显示当前的cmd窗口是以管理员身份运行的;
    红圈内的VOLUME_KMS_R2_C说明了这个key的权限:2008 R2 Group C。
    黄框说明,现在仍未激活。

    3. 激活KMS Host。确保Internet连接的情况下,输入命令:
    cscript C:\windows\system32\slmgr.vbs /ato

    4. 重启KMS services。键入
    net stop slsvc && net start slsvc

    5. 检查KMS 状态。键入
    cscript C:\windows\system32\slmgr.vbs /dli
    Snap5
    红框显示,此服务器已经激活。下面的大段内容指出的是KMS服务的相关信息。

    Troubleshooting
    问题1
    :试图激活client时总是不成功,错误代码0xC004F039
    Snap7 
    排查:查看Operation Guide的Appendix 2,找到0xC004F039,原因是KMS 请求没有应答,排错的提示是,查看网络连接,是否从KMS client到Host之间有防火墙阻隔了KMS通讯。
    解决:在KMS Host上,防火墙策略里面,设置KMS允许通过。KMS使用的是TCP 1688端口。
    到Control Panel -> Windows Firewall
    Snap10

    Snap11 

    问题2:输入KMS Key的时候报0xC004F025错误代码
    Snap6
    原因:权限不足,需要提示到管理员权限。
    解决:以管理员方式打开命令行窗口。在开始菜单中右键点Command Prompt,然后选Run As Administrator

    问题3:激活时遇到错误代码0xC004F038
    原因:KMS服务正式开始工作,需要至少5个Windows 2008/R2 或者25个Windows Vista/7的物理机(注意!虚拟机不计算在内),在没达到数量之前,这些OS都处于未激活状态(当然,有30天的宽限期)
    微软文档原文:Count on KMS host is not high enough. KMS count must be ≥5 for Windows Server 2008 or ≥25 for Windows Vista.
    解决:安装Windows 2008到5台物理服务器以后,KMS服务会激活这5台服务器。

    关于KMS Group
    目前可以用KMS的产品有Windows Vista,Windows 7,Windows 2008 和Windows 2008 R2。对于Windows 2008和2008 R2来说,又分为3种KMS Group。Web版和HPC版属于Group A,标准版和企业版属于Group B,数据中心版和Itanium版属于Group C。Group C级别最高,A最低,高级别组可以激活低级别的产品,反之不行。

    几点新的补充
    1) Windows 7 & 2008 R2 KMS激活文档集
    http://technet.microsoft.com/en-us/library/dd996588.aspx

    2) KMS激活的要求
    KMS客户端的数量至少需要达到5台(2008或2008R2)或25台(Vista或Win7)才能被激活。
    Windows 7 和2008 R2的虚机和实机都计算在内,而Windows Vista或者2008则不计算虚机,只计入实机

    3) Server Group C最高级,可以激活其他所有的版本,包括Windows 7或Vista的客户端。
    等级排序:Server Group C > Group B > Group A > Client VL
    高等级的涵盖低等级的范围。

    4) 一台KMS Host只需要也只能有一个Key

    5) Q:2008 R2的KMS HOST和Windows 7 的KMS Host可以共存不?
    A:KMS Host 不分2008或Windows 7,一台服务器只能存在一个KMS KEY,高等级的KMS Key可以激活低等级的Windows 2008或者Windows 7/Vista。

    12/31/2008

    Windows 2008 Hyper-V Clustering (4) SCVMM安装/配置/试用

    image 
    安装是顺序安装VMM Server 和VMM Administrator Console即可。
    采用默认端口8100作为管理端口。
    因为这是测试,所以直接选了SQL 2005 Express SP2,如果在正式环境中,建议链接到生产环境的SQL Server 2005上。 此外,如果是生产环境,建议采用一个专门的service account来运行vmm服务。如图
    image

    安装完后桌面上多了一个管理控制台的图标,双击即可运行。
    image 
    点击右侧“Actions”面板中的Add Host
    image
    选择连接到那些Host的帐号,点Next。(注:这一步中的帐号应该和运行VMM服务的帐号不同,我第一次用了这个相同的帐号,导致了后面的报错)
    image
    Search...
    image
    先Search要添加的Host名,因为我们已经组建了Hyper-V的容错集群(Failover Cluster),所以,选择1个节点(node)会添加这个集群中所有的节点。
    image
    选Yes继续。
    image
    OK以后,然后点Next...
    接下去是Host组,我们没有分组,直接点Next
    image
    添加默认的VM存放路径。因为我们是Cluster环境,VM都存放在共享存储的单独的LUN上,所有这里先不填。
    image
    最后点Add Hosts添加这些Host到VMM控制台。这步会在各台Host上安装VMM代理(Agent),同时打开相应的防火墙端口。
    image

    添加Host失败,失败原因很清楚:不能用VMM服务的帐号来添加Host。
    image 
    解决办法也很简单:点Restart this job,然后一个窗口跳出,重新输入帐号即可。
    image
    随后开始添加,从控制台可以清楚的看见添加Host的过程:先安装VMM Agent,然后启动hyper-V,最后刷新Host。
    image

    9/28/2008

    Windows Vista Tips

    * SID的含义
    S-1-1-0 Everyone
    S-1-3-0 Creator Owner
    S-1-5-4 Interactive
    S-1-5-21-X-Y-Z-R 某一个本地帐号,其中X-Y-Z唯一标识了计算机,R标识了用户

    * 可以去微软网站下载PsGetSid命令行工具,用来查看帐号和Sid的关系

    * Power Users用户本地组在Vista中等同于Users组(存在的目的是为了向下兼容XP)

    * 一些常用命令
    lusrmgr.msc 本地用户和组
    sysdm.cpl 查看系统属性
    secpol.msc    本地安全策略
    diskpart    磁盘分区工具

    * net命令行工具的一些用法
    net user delxu User1234 /add  添加用户delxu,密码为User1234
    net user delxu /add /random    添加用户delxu,并生成1个随机复杂密码
    net user delxu    查看用户delxu信息
    net user delxu /Active:no    禁用帐号delxu
    net user delxu /Active:yes    启用帐号delxu
    net user delxu /delete    删除帐号delxu
    net localgroup kids    查看kids组信息
    net localgroup kids /add    添加本地组kids
    net localgroup kids /delete    删除本地组kids
    net localgroup kids delxu /add    添加delxu到本地组kids   
    net localgroup kids delxu /delete    从本地组kids中删除帐号delxu
    net accounts 显示本地帐号策略
    net accounts /minpwlen:8 设置本地密码最短长度为8位

    * 要修改启动配置的方法
    1) Sysdm.cpl, 2)msconfig, 3)bcdedit 4)VistaBootPRO

    9/27/2008

    Windows 2008 Hyper-V Clustering (3) -- 第2步到第7步从安装Hyper-V到配置HA

    第2步:在2台物理服务器上安装Hyper-V和Failover Clustering

    首先,在Add Role Hyper-V之前,先把Hyper-V的RTM补丁KB950050装上。因为Windows 2008光盘里面的Hyper-V还是个Beta版本。安装这个补丁要求重启服务器。

    接着安装Hotfix951058  (http://support.microsoft.com/kb/951058)
    Hotfix 951058 替换了msiscsi.sys,将版本从6.0.6001.18000 (1/19/2008) 升级到了6.0.6001.22168 (4/29/2008),修补了一个重启以后Windows iSCSI服务不能自动连接到Target的问题。

    安装Hyper-V 角色(Role)

    1. 启动Server Manager.  (Click Start, and then click Server Manager. )
    2. Roles Summary区域,选择Add Roles.
    3. 在下一个窗口点选 Hyper-V.
      这里会提示你必须先在BIOS里面启用“支持虚拟化”的选项,否则会出现error 52。
    4. 下一步是创建虚拟网络。在Create Virtual Networks页, (微软文档说:if the network adapters are identical on both physical computers, select a physical adapter to create a virtual network that provides access to the physical network. If the network adapters are not identical, do not create a virtual network at this time. You can create the virtual network later by following the instructions in Step 4, Create a virtual network. )我建议先不创建虚拟网络,留到第3步做。
    5. Confirm Installation Selections页, 按 Install.
    6. 这时服务器需要重启,按 Close 来结束这个向导程序,并按 Yes重启服务器(第一次重启后进入系统配置阶段,然后会自动再次重启)
    7. 重启以后,用相同的帐号登录,这时配置向导程序会自动开启,完成安装后,按 Close 结束安装向导。

    (结束以后,如果发现Hyper-V带有红叉,event里面报error 52,请检查No-EX和Server Virtualization选项在BIOS里面是否已经Enable,在BIOS里面启用后即能解决此问题)

    安装Failover cluster 特性(Feature)

    请允许我再抄一段微软的文档 (不想看鸟语的可以跳过,直接看后面蓝色的字)

    1. If you recently installed Windows Server 2008, the Initial Configuration Tasks interface is displayed. Under Customize This Server, click Add features. Then skip to step 3.
    2. If the Initial Configuration Tasks interface is not displayed and Server Manager is not running, click Start, click Administrative Tools, and then click Server Manager. (If the User Account Control dialog box appears, confirm that the action it displays is what you want, and then click Continue.)
    3. In Server Manager, under Features Summary, click Add Features.
    4. In the Add Features Wizard, click Failover Clustering, and then click Install.
    5. Follow the instructions in the wizard to complete the installation of the feature. When the wizard finishes, close it.
    6. Repeat the process for the second server.

      简单的说,就是打开Server Manager,在Features的地方,选择Add Features,选中Failover Clustering,然后跟着向导安装完毕即可。

    第3步: 创建虚拟网络 (To create a virtual network)

    1. 打开Hyper-V Manager,从右边Actions中选择Virtual Network Manager
    2. 在Create virtual network, 选择External.(外部)
    3. 按Add,这时New Virtual Network 页跳出
    4. 填写一个network名称(我这里填写的是VMNetwork,这是个Public网络端口),请确保在这2台Hyper-V服务器上使用完全一样的名称
    5. 在Connection Type这里选External,并选取正确的物理网卡,最后点
    OK

    第4步: 再确认Cluster配置 Validate the cluster configuration

    在创建群集之前,强烈建议先运行一个完整的validation测试,保证当前的配置(包括服务器、网络、存储)满足failover Cluster的需求。

    步骤:运行Failover Cluster Management. 确保选中Failover Cluster Management 在中间部分点选 Validate a Configuration. 根据向导程序,添加所有2台服务器,选择运行所有的测试。

    如有需要,可以修改配置以后,再次运行本测试,直到各项条件都满足为止。

    第5步: 创建Cluster
    (1)运行Failover Cluster Management,确保选中Failover Cluster Management 在中间部分点选Create a cluster.
    (2)根据向导程序的指示,指明:
       a) 要加入Cluster的服务器名
       b) 集群名
       c) 集群IP地址(必须是固定IP,不能是DHCP的)
    (3) 向导程序完成后,会显示Summary。

    第6步:创建虚机

    首先要强调:该虚机的HD必须保存在共享存储(Shared Storage)上,而且创建虚机时的那个Node必须是当前接管共享存储的那个Node.

    (1)打开Hyper-V Manager, 选择连到当前拥有共享存储的那个node.
    (2)从Action面板中,选New,然后选Virtual Machine
    image 
    (3)给虚机起名,并选择存放的位置(本例中,E:就是共享存储,所以无需更改)
    image
    (4) 接下去设定虚机的内存
    image
    (5) 选择第3步中设定的虚拟网络
    image
    (6)创建一个虚拟硬盘,并设定大小,注意存放的位置必须是共享存储
    image
    (7)在Installation Options页,选择Install an operating system from a boot CD/DVD-ROM,并选好iso文件
    image
    (8) summary页,不要选立刻重启。点Finish结束创建
    image
    注意:这时候一定不要启动此虚机。

    接下去配置此VM的自动启动方式
    Hyper-V Manager中,选取刚才创建的VM,右键菜单中选Settings...
    image
    点选左边下边的Automatic Start Actions,从右边面板中选Nothing
     image
    按OK确认

    第7步:为虚机建立HA

    (1) 打开Failover Cluster Management
    (2) 右键点击Services and Applications,选Configure a Service or Application...
    image
    (3) 按Next跳过欢迎页,在Select Service or Application页中选择Virtual Machine
    image 
    (4) 选中你要的那台虚机
    image
    (5)点Next确认,接下去系统会配置并弹出窗口告知HA已经配置成功。
    image
    (6)配置完成后的界面
    image

    8/12/2008

    Windows 2008 Hyper-V Clustering (2) iSCSI 共享磁盘的建立

    (本文包括大量图片,如果有图片无法显示,请刷新页面,或者右键点击该图片,选择显示图片)
    接续上一篇

    配置网络设备

    配置刀片服务器机箱上面的交换机,把刀片服务器的第2个网卡对应的port设置成iSCSI的VLAN,测试到NAS的iSCSI port的链接。保证网络接通。

    配置Windows 2008 iSCSI设置

    (1)首先配置iSCSI网卡(必须是千兆网卡),设置地址为10.86.134.113,255.255.255.0,删掉默认网关和DNS,WINS设置。去除不必要的协议绑定(比如文件打印共享,链路发现协议等)
    (2)然后到control panel里面,配置iSCSI Initiator。双击以后激活service并且取消防火墙上对3280端口的限制。具体如下
    双击Control Panal中的iSCSI Initiator,出现以下提示
    Snap1 
    Yes,接下去问你是否要打开防火墙的iSCSI服务端口,选Yes。这是个很贴心的设计,在Windows 2003下,你必须自己去控制面板防火墙手工打开3260端口。
    Snap2 
    这里红圈中的就是Initiator的iqn名,等下查询时会看见。
    然后选Discovery 页
    Snap3 
    Add Port... 在弹出窗口中填入SAN存储的iscsi网口的IP,并点Advanced...
    Snap4 
    Local adapter:下拉框选Microsoft iSCSI Initiator
    Source IP:选你配置在iSCSI专用网卡的IP
    Snap5 
    点OK2次退出。你可以看见Target IP和端口已经显示在列表中了
    Snap6
    现在点Targets页,你会发现NetApp设备已经列在Targets表中,只是状态还是Inactive。选Log on...
    Snap7
    勾上第一项,第2项Multipath仅当你配置了Multipath的情况下才选,然后点Advanced...按钮
    Snap8 
    选正确的
    Local adapter:下拉框选Microsoft iSCSI Initiator
    Source IP:选你配置在iSCSI专用网卡的IP
    Target portal:选你NetApp存储的iSCSI地址和端口
    Snap9
    点OK 2次退出,你会发现Target状态已经变成了Connected
    Snap10 
    点OK退出。此时Windows上的iSCSI Initiator就配置完毕了。
    接下去在另一台Host上做同样的配置。

    (3)最后到Netapp上输入命令iscsi show initiator看一下2个Host是否都已经接通。
    Snap2 

    配置NAS,手工建立iscsi group和LUN

    (1) 创建一个新的volume fv_vq, 20GB, 取消所有默认的snapshot设置.
    命令行下输入snap sched fv_vq 0 0 0
    (2) 创建一个新的iscsi Initiator Group, 选iSCSI(不要选FCP),OS选Windows,并且选对initiators的名字。
    (注:如果你2台host一起建,可以起一个vs01之类的Initiator group名,然后把2个Initiator都放进去,以后映射的时候只需要映射这一个group,如果你是分开一台一台建的,则会生成2个group,映射LUN的时候,要把这2个group分别映射到同一个LUN)
    (3) 创建一个新的LUN
    (4) 将刚创建的LUN映射到新建的initiator group

    以上(2)-(4)可以通过Wizard来一次性完成,如下:

    点左边LUNs --> Wizard开始创建。在Path处输入Lun文件的路径。Type地方特别注意,应该选Windows_2008,但是对于DataOnTap v7.2.4(含)以前的版本,因为没有Windows_2008选项,要选Linux
    Snap11
    接下去添加Initiator Groups,点Next>
    Snap12
    选择创建新的group
    Snap13
    起个名字,建议用一个有含义的名字,加上SAN类型(FCP或iSCSI)
    Snap14 
    然后在组里面添加initiator
    Snap15 
    点Add Initiator,依次将2个Initiator都加入
    Snap16
    Snap17
    加完后,点Next>
    Snap18
    然后给当前这个LUN设定LUN ID,0是最小值。
    Snap19
    然后会显示一个Summary页。
    Snap20
    最后点Commit完成。
    Snap21 

    配置磁盘

    1. 回到Windows Server 2008,Computer Management --> Disk Management
    2. 右键点击Disk Management,选择Rescan disks,即可发现这个磁盘。
    3. 目前的状态是Unknown。在此磁盘上点右键,选择Online;
    4. 再次点右键,Initialize 此磁盘,创建一个volume,选择MBR (GPT是为大容量磁盘设计的,最大可以到2TB),格式化后即可使用。(注,如果这里的磁盘是要建一个Child VM用的Pass-through磁盘,不要bring online并格式化)
    5. 然后到第2台host上重复步骤2——点右键,选择Rescan disks,发现这个磁盘,目前处于Offline状态。不用做其他步骤了。
    Snap5 

    这样存储就连接好了。接下去可以下一步,安装Hyper-V和Cluster服务了。

    本文参考文档:
    1) 凭借 Microsoft Hyper-V 和 NetApp 打造虚拟化平台
    http://www.netapp.com/cn/communities/tech-ontap/hyperv-zh.html
    2) Hyper-V和NetApp存储Best Practice
    http://media.netapp.com/documents/tr-3702.pdf

    8/8/2008

    Windows 2008 Hyper-V Clustering (1) 草稿暨前言

    按说,所有的reference应该是位于文末的,不过既然这是边写边改的草稿,那么权且先放在最前面,也让自己参考的时候比较方便些。
    Ref:
    (1)ghjconan兄在itecn上的文章: Windows Server 2008 新技术体验之Hyper-V(RC0)
    http://blogs.itecn.net/blogs/ghjconan/archive/2008/06/09/windows-server-2008-hyper-v-rc0.aspx
    (2)Hyper-V Step-by-Step Guide: Testing Hyper-V and Failover Clustering
    http://technet.microsoft.com/en-us/library/cc732181.aspx
    (3)补充,今天(10-22-2008)看见篇不错的clustering的实战指南,记录一下
    http://bbs.winos.cn/thread-35160-1-1.html
    这篇文档提供一个非常好的实验环境的搭建过程,包括从第2楼到第8楼详细介绍了如何利用Windows 2003 R2中内置的iSCSI Target功能来模拟一台支持iSCSI的网络存储设备。这对于没有专业网络存储设备的IT Pro们测试Cluster的系统非常重要。这不仅仅可以用于测试Hyper-V的Cluster,也适用于需要iSCSI存储的其他的Cluster环境的测试。
    (4) SCVMM2008 虚拟机管理器热迁试用
    http://www.xuniji.com/virtualpc/view.asp?id=102

    (5) 凭借 Microsoft Hyper-V 和 NetApp 打造虚拟化平台
    http://www.netapp.com/cn/communities/tech-ontap/hyperv-zh.html
    (6) Hyper-V和NetApp存储Best Practice
    http://media.netapp.com/documents/tr-3702.pdf


    照例是先读书,写读书笔记

    目标

    搭建一个基于Hyper-V的可管理的虚拟主机集群,该集群由2台Windows 2008 x64的Host和1台Windows 2008 + SCVMM2008 beta的管理服务器组成。目的是为了和当前正在使用的2台VMWare ESX 3.5 Host+VirtualCenter 2.5进行比较。

    硬件软件需求
    1) 2台硬件配置支持hyper-V的硬件服务器(包括CPU x64,BIOS etc)
    2) 至少2个网卡,避免网络的单点失败,(一个用于LAN,一个用于iSCSI的专用网络)
    3) iSCSI不支持网卡teaming
    4) 必须要有Windows2008支持的共享存储,在其上建立至少2个LUN,一个LUN用作Witness disk(类似于仲裁盘)
    5) 共享存储的要求,格式化成NTFS(Witness disk必须,其他推荐),必须是basic disk,不是Dynamic.
    6) 最好都是domain 成员服务器,必须加入domain,必须有正确的DNS配置,支持DNS 动态更新协议(DNS Dynamic Update Protocol)
    7) 使用的域帐号可以不是domain admin,但是必须是domain user,而且必须是这2个node的local admin,并且在域里面具有创建computer对象的权限
    8) 至少是2008 ent版本或者datacenter版,必须是64bit版本 (不多说了,重复很多次了,自己都说烦了)

    Steps for testing Hyper-V and Failover Clustering

    Step 1: Connect both physical computers to the networks and storage   <--要先连shared storage哦
    Step 2: Install Hyper-V and Failover Clustering on both physical computers <-- Hyper-V是role, Failover Clustering是feature
    Step 3: Create a virtual network
    Step 4: Validate the cluster configuration
    Step 5: Create the cluster
    Step 6: Create a virtual machine and reconfigure the automatic start action
    Step 7: Make the virtual machine highly available
    Step 8: Configure the virtual machine
    Step 9: Test a planned failover
    Step 10: Test an unplanned failover
    Step 11: Modify the settings of a virtual machine
    Step 12: Remove a virtual machine from a cluster

    7/23/2008

    Windows 2008 实战之KMS实施

    写在前面的

    如果您需要实施KMS/VA2.0,有些文档是必须要读一下的。我也是看了这几个文档然后进行实践的。

    关于VA2.0的文档集:http://go.microsoft.com/fwlink/?LinkID=75674
    其他参考资料和工具:http://go.microsoft.com/fwlink/?LinkId=107415
    其中Deployment Guide和Operation Guide是配置和排错最有用的2篇文档。

    几个注意事项(读书笔记)

    读书笔记的意思是,这些都是从微软文档里面摘下来的,本人因为条件所限,不一定都验证过。
    1. KMS服务正式开始工作,需要至少5个Windows 2008 或者25个Windows Vista的物理机(注意!虚拟机不计算在内),在没达到数量之前,这些OS都处于未激活状态(当然,有30或60天的宽限期)
    2. 如果你有MOM2005,那么你可以安装MS KMS Management Pack for MOM 2005。这个组件可以监控KMS的健康状态,提供几个有用的report。
    3. 如果安装后没激活,系统会进入30天(Vista)或60天(Windows 2008)的宽限期,宽限期内系统的功能没有任何不同。
    4.DNS服务很重要,必须支持是DDNS和SRV自动更新。

    启用KMS服务


    注:本文只关注在Windows 2008上启用KMS服务,如果在Windows 2003 上安装KMS服务,需要额外下载一个工具(下载link: http://go.microsoft.com/fwlink/?LinkID=82964)并安装。

    配置KMS HOST
    1. 以管理员方式打开命令行窗口。(在开始菜单中右键点Command Prompt,然后选Run As Administrator)
    2. 安装KMS Key (这个key,如果你是正版用户的话,可以到微软Licensing网站取得)。键入命令:
        cscript C:\windows\system32\slmgr.vbs /ipk <KmsKey>
    记得不要漏掉KmsKey每5个字符间的减号符。
    3. 激活Windows。确保Internet连接的情况下,输入命令:
        cscript C:\windows\system32\slmgr.vbs /ato
    4. 重启KMS services。键入
        net stop slsvc && net start slsvc
    根据微软文档,配置KMS HOST到这里已经结束。但是实际应用中发现,KMS client链接Host出错。排错检查时:
    5. 检查KMS 状态。键入
        cscript C:\windows\system32\slmgr.vbs /dli
    这时显示如下截图:
    kms 
    排错结果发现,是防火墙问题。应该在KMS Client和KMS Host上配置下防火墙,允许KMS程序通过防火墙。

     

    配置KMS Client
    默认情况下,如果客户端是volume版本,并且能支持DNS自动发现,则不需要额外的配置。否则可以手工配置来指定KMS HOST。

    手工配置KMS Host的方法:
    1. Run As Administrator方式打开一个命令行
    2. 键入命令
        cscript \windows\system32\slmgr.vbs /skms <Computer>:<port>
    <Computer>部分可以是FQDN, IPv4地址, IPv6地址, 或Netbios名

    如果KMS 自动发现被停用,用这个命令重新启用
       cscript \windows\system32\slmgr.vbs /ckms

    *  安装KMS Client的操作系统用的Key,应该用统一的setup key,这个key是公开的,可以在Deployment Guide 第19页找到。

    Troubleshooting

    问题:试图激活client时总是不成功,错误代码0xC004F039
    排查:查看Operation Guide的Appendix 2,找到0xC004F039,原因是KMS 请求没有应答,排错的提示是,查看网络连接,是否从KMS client到Host直接有防火墙阻隔了KMS通讯。
    解决问题:在KMS Client和Host上,防火墙策略里面,设置KMS允许通过。
    再回到KMS Host上键入cscript slmgr.vbs /dli,就会看见,已经有客户端链接上来了。但是在数量到达5(windows 2008)以前,这些客户端都还没有真正被激活。所以KMS client还是处在Grace Period(宽限期)里面(如图所示)。
    kms2 

    问题:激活时遇到错误代码0xC004F038

    原因:Count on KMS host is not high enough. KMS count must be ≥5 for Windows Server 2008 or ≥25 for Windows Vista.

    8/8/2007

    如何查看目录或文件的完整性级别(IL)

    Windows Vista没有内置任何工具,不过幸运的是,Sysinternals所提供的AccessChk可以方便地进行查看。由于Sysinternals已经被微软收购,所以你可以到微软网站下载到这个工具。

    AccessChk的下载链接和用法介绍:http://www.microsoft.com/technet/sysinternals/utilities/accesschk.mspx?wt.svl=whatsnew

    查看IL的具体语法是:accesschk -i <path>

    ilcheck

    图中黄字部分就是显示当前对象的完整性级别。

    什么是ieuser.exe

    今天,打开Process Explorer查看进程的时候发现了这么一个进程ieuser.exe,位于C:\Program Files\Internet Explorer\目录下。
    ieuserps
    这到底是个什么东西呢?是不是木马或者有害软件植入的呢?带着这个问题,我查阅了Technet,下面是一些小小的收获。

    首先还是要介绍一个基本的概念。

    强制完整性控制MIC。这是Windows Vista开始才有的新的安全性机制。简单说来,就是所有安全性对象(指文件或者注册表的一个表项)和进程都有一个完整性级别,完整性级别(IL)低的进程不能修改级别高的文件或注册表表项。这个检查是强制性的(Mandatory),也就是说每次操作都必须进行完整性检查。

    默认情况下,没有带有IL标签的对象(文件、文件夹、注册表)的IL级别都被标注为“中”。

    必须具有管理员权限才能进行的进程的IL级别为“高”。

    IE7保护模式使用了Windows Vista的完整性机制,使用IE在保护模式下,其进程的IL级别是“低”,也就是除了IL级别为低的Internet临时文件夹可以被写入,磁盘中其他任何文件、文件夹和注册表都不允许写入。这无视登录用户的权限级别。这保证了有害的Internet程序、代码不会对系统造成伤害。

    当然,这也同样限制了正常程序对某些注册表表项的合法修改,造成了很多程序的不兼容(比如我到现在还没法正常在Vista IE7中导入支付宝的用户签名)。

    让我们把话题回到ieuser.exe上来。ieuser.exe就是一个代理程序,用来在用户的授权许可下,允许某些提升IL级别的操作得以进行,把文件保存到低完整性区域外的其他区域,比如硬盘上其他文件夹中。

    注:IE 7 的保护模式只有Windows Vista中才有。Windows XP SP2虽然也能安装IE7,并且包含IE7的大多数安全特性,但是不包括IE7保护模式。

    需要了解更多关于IE保护模式的内容,可以参考下面的文章

    了解并运行 Internet Explorer 保护模式
    英文版:http://msdn2.microsoft.com/en-us/library/Bb250462.aspx
    中文版:http://www.microsoft.com/china/msdn/library/webservices/WebApp/ProtectedMode.mspx?mfr=true

    6/14/2007

    【读书笔记】深入Vista硬件驱动

    从Windows IT Pro 2007年6月刊看到这篇“深入Windows Vista硬件驱动”的文章,收获颇丰,摘要如下:
     
    XP的设备驱动程序的源文件按照类型被放在了不同的位置,比如驱动信息文件(*.inf)在INF文件夹下,驱动程序文件被分别放在了Drivers.cab和SYSTEM32\Drivers文件夹中,动态链接库DLL文件保存在SYSTEM32文件夹中,第3方驱动程序则可能需要在连接硬件的时候到光盘或其他介质上去copy到以上目录。
    Vista下,所有的设备驱动程序都被放到了系统的统一的位置,这个位置称为驱动存储区——DriverStore
     
    DriverStore缺省位于%systemroot%\SYSTEM32\Driverstore文件夹。
     
    Vista下硬件的安装分2个步骤:准备阶段(Staging)和安装阶段(Installation)
     
    准备阶段,每个硬件设备都会在准备阶段创建它们各自独立的文件夹,最终驱动会被安装到
    %systemroot%\SYSTEM32\Driverstore\Filerepository\<device> 文件夹中
     
    安装阶段,在硬件连接上的时候,驱动程序会被复制到它们各自的文件夹并进行初始化。
     
    在准备阶段,我们不需要把硬件连接到系统中。事实上,我们可以把驱动包预先放到DriverStore。可以通过PNPUTIL.EXE工具来添加驱动到DriverStore。不能直接从DriverStore中删除文件,这样会导致索引文件的丢失,并引起系统的极度不稳定。
     
    DriverStore中的驱动程序再多也不会对系统造成负面的性能影响,因为它们事实上没有被使用。
     
    PNPUTIL.EXE的用法
    1)首先必须把所有驱动程序放在一个文件夹中
    2)以管理员身份启动命令行工具---(在开始菜单中右键点击“命令行提示符”,选择“以管理员身份运行”)
    3)要添加一个驱动程序到DriverStore
         pnputil -a <path>\<driver>.inf
    4)要查看DriverStore中已经添加的驱动程序
         pnputil -e
    5)要从DriverStore中删除一个驱动程序
         pnputil -d <driver>.inf

    Windows Vista的启动管理

    在Windows的早期版本,比如XP/2000/2003都有boot.ini文件用来管理多引导,并且具有一些参数来设定引导选项。比如/PAE参数就是设定32bit的Windows可以使用4GB以上的内存空间。
     
    但是Windows Vista不再具有这个boot.ini,那么类似boot.ini的功能该如何设置呢?答案是这个工具:BCDEDIT,全称Boot Configuration Data Editor。
     
    关于vista下安装了4GB内存的问题,可以参考KB929605
    5/5/2007

    Windows Vista使用心得和兼容软件列表

    折腾了几天Windows Vista,总算差不多能投入正常使用了,这里把我这几天的一些心得和兼容Vista的软件列一下。
     
    首先是驱动
    Vista内置了很多驱动,对大多数硬件的驱动程序不需要单独安装。不过我才装上就遇到了第一个问题:显示驱动。随8800GTS附赠的显卡驱动不包括Vista的,于是去Nvidia的网站下载了个装上。重启,搞定。重新让Vista做次性能评估以后,Aero界面和透明玻璃效果就开始显现了。
    另外,因为Nvidia目前还没发布Geforce 2, 3, 4系列的显卡的Vista驱动程序,所以用老显卡的用户就别装Vista了。我曾经在另外的机器上装过,只能用标准VGA驱动,19寸的液晶只能显示1024x768,非常痛苦。
     
    罗技无影手键盘、鼠标驱动。到罗技网站可以下载支持Vista的SetPoint v3.3,不过我没有安装任何外加的驱动程序,只是从Windows Update更新了下。罗技无影手键盘上的音量控制、mute、前进、后退、WMP等按键在没装额外的罗技驱动的情况下也能正常使用,就是没有屏幕提示而已。
     
    其次是中文支持
    我装的Vista是英文的Ultimate版,默认是English(US)。操作步骤:点开始Logo,选Control Panel,Clock, Language, and Region,选择绿色大字Regional and Language Options,点最后一个页面Administrative,点按钮Change system locale...,这就可以把non-Unicode的文字改成Chinese (PRC)。改完之后,可以点按钮“Copy to reserved accounts...” 其他货币格式,时间格式,就根据自己喜好更改吧。现在,菜单、文件名的中文支持已经没有问题了。
     
    接下去是输入法的问题。
    Google拼音输入法1.0.18.0
    选择了中文以后,你应该可以选择微软拼音输入法,这个是兼容性最好的输入法。不过我已经习惯了词组方式的拼音输入法,用微软拼音很不习惯。寻找了一番,最后选定Google拼音输入法,最新版本的可以支持Vista了。(http://tools.google.com/pinyin
     
    显示界面
    另外,用Windows Update,可以下载Chinese Language Pack(此更新好像要Ultimate版本才提供支持),大概270MB左右,这个语言界面包可以把整个操作系统UI都变成中文版的。
     
    安全性、补丁和防病毒软件
    Windows Defender, NOD32 v2.7
    Windows Defender已内置。Windows自己的补丁也还一样要经常更新。防病毒软件兼容的不多,都需要最新版本。比如Symantec 10.2,kaspersky 7.0,我安装了NOD32 v2.7,还不错的。
     
    压缩解压软件
    WINRAR v3.51
    虽然不是最新版,但同样完美兼容。
     
    视频播放
    VistaCodecs v4.37
    Real Player 10.6中文版
    因为讨厌暴风影音之类喜欢夹杂垃圾软件、插件的国产软件,我通常都直接给Windows Media Player装上Codec包,让WMP当万能的播放器。这次也一样,我选择的是某老外整合的一个Vista Codecs。
    RealPlayer这里我开始遇到了些麻烦。我试图安装硬盘中的10.5中文版,但安装出错,并且不能卸载。好在去real官方网站下载了10.6中文版,覆盖安装后,一切正常。
     
    MSN Live Messenger和MSGPLUS
    MSGPLUS Live 4.20
    都用最新版本,完全兼容
     
    下载工具
    Flashget v1.65
    我选择了Flashget v1.65,完全兼容。当然1.8x的版本我也尝试过,一样可以用。BT和emule下载我在其他XP的电脑上运行,就不安装了。(不过Bit Comet 0.62完全可以用,更新版本想来也问题不大,我是把某个安装版本直接当绿色软件复制过来用的。不要使用安装版本,某些版本会试图更改Windows默认的TCP/IP链接数,可能会引起麻烦)
     
    刻录DVD
    Nero 7 Essential
    Vista下Nero 6不兼容。不过随Pioneer DVR-112CH刻录机带来的Nero 7 Essential却兼容的很好。18x刻录同样流畅。
    从Nero官方网站下载的v7.8.5 updater,结果安装时提示要先卸载Nero 7 Essential,卸载后重新安装则提示要序列号。我没序列号,只能放弃使用。装回光盘中的Nero 7 Essential,却被告知序列号错误。看来是v7.8.5在捣鬼,用Vista的系统还原点恢复到卸载v7之前,恢复正常。
     
     
    虚拟光驱
    Daemon Tools v4.09
    Daemon Tools是我必装的。这次也不例外,v4以上版本开始支持Vista。
     
    另外,我还安装了以下软件
    Office 2007 Pro Plus
    UltraEdit 12.2 -- 完美兼容
    魔兽世界中文版(就是个绿色软件啦,copy过来)
     
    不兼容问题
    UCTalk这里我遇到了些问题,界面出现了????乱码,好像是中文支持的问题。还在研究中。
    12/14/2006

    查看AD复制状态的命令行工具repadmin

    1. repadmin.exe can be found in Win2003 Support Tools
    2. 语法
    repadmin /showreps <servername> /u:<domain>\<username> /pw:*
    3. 如果你使用的登陆帐号已经具有域管理员权限,可以用比较简单的
    repadmin /showreps <servername>