欢迎光临 Enjoy IT (ITECN.NET) 登录 | 注册 | 帮助

SCCM的OSD常见场景

    SCCM发布已有一段时间了,相较SMS 2003的ODFP(Operating System Deployment Feature Pack),OSD不但完全集成到SCCM当中去了,而且还开始支持Vista和Windows Server 2008。由于内建WAIK(Windows Automated Installation)和WIM GAPI, 对WIM的支持也达到一个非常的高度。加之可以使用更高版本的WinPE(Windows Pre-installation Environment),使得操作系统的部署前所未有的简单和方便。

    仔细看看SCCM的控制台树,再看看ITIL或者MOF的资料,你就可以发现,太多的地方都是参考了这些方法论来设计的。资产管理(SMS开始它的主要功能就是这个)、生命周期管理(OSD应该算在内吧)、配置管理(在DCM中)、SLM(借助自定义集合很容易做到)……还有很多,可能需要用专门的文章介绍了。这里我们就只简单讨论一下OSD在IT常见场景中的一些应用吧~

    有没有曾经想过,分支办公室的同事,采购了一批配置相同的新机器,然后需要按照公司策略安装诸如Office之类的商业应用程序和自己的LOB应用程序。这些机器将由使用中文和使用英文的同事使用,它们需要加入到公司的域,用户希望保留原来在旧机器上的文档和邮件……请不要告诉我您准备使用番茄花园……您会发现机器不能使用某些程序和不能正常加入到域。

    使用OSD,您可以让同事把一台机器装好,把所有的机器插上电,然后就可以让他早点回家享受家的温馨(好羡慕…回家看到一盏温馨的灯在等你多幸福!),剩下的事情,交给我们和SCCM吧。

    我们可以远程去抓取模板机器(就是刚才那位同事装好的机器)的镜像。这个过程只需要良好的网络连接就可以。OSD中有一个重要的配置分支叫做Task Sequence,它的作用是告诉SCCM,你都该干些什么事情,先干什么,后干什么,怎么干。下面就是远程抓取镜像的一个例子。

OSD01

    (1)安装部署工具,其实也就是sysprep工具。如果您不知道这是干什么的,请联系我另行说明。

     (2)加入工作组。在域的机器直接sysprep不妥当。当然,新安装的机器可以跳过这一步。为了兼容大部分的情况,还是留着吧。

     (3)配置SCCM客户端。别忘记系统抓取以后还是要进入正常工作状态的。

     (4)sysprep,抹去特征信息。(灰色的部分不执行)

     (5)抓取模板机器。

这样,一台安装好的机器就被抓取镜像了。接下来把这个镜像推到其他的机器上,等到用户一开机,顺着向导输入必要的信息,就一切就绪了。

    步骤看上去挺简单吧?可是SCCM在后面做了大量的工作呢,不信?看看这个XML吧。

<?xml version="1.0"?>
<SmsTaskSequencePackage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <BootImageID>00100001</BootImageID>
  <Category />
  <DependentProgram />
  <Description />
  <Duration>360</Duration>
  <Name>Capture</Name>
  <ProgramFlags>152084496</ProgramFlags>
  <SequenceData>
    <sequence version="3.00">
      <referenceList>
        <reference package="00100006" />
      </referenceList>
      <group name="Capture the Reference Machine" description="Actions to prepare and capture the reference machine">
        <step type="SMS_TaskSequence_InstallDeployToolsAction" name="Install Deployment Tools" description="" runIn="FullOS" successCodeList="0">
          <action>osdprepareos.exe /install:00100006</action>
          <defaultVarList>
            <variable name="SysprepPackageID" property="SysprepPackageID" hidden="true">00100006</variable>
          </defaultVarList>
        </step>
        <step type="SMS_TaskSequence_JoinDomainWorkgroupAction" name="Join Workgroup" description="" runIn="FullOS" successCodeList="0">
          <action>osdjoin.exe /type:%OSDJoinType%</action>
          <defaultVarList>
            <variable name="OSDJoinPassword" property="DomainPassword">
            </variable>
            <variable name="OSDJoinSkipReboot" property="SkipReboot">false</variable>
            <variable name="OSDJoinType" property="Type">1</variable>
            <variable name="OSDJoinWorkgroupName" property="WorkgroupName">Workgroup</variable>
          </defaultVarList>
        </step>
        <step type="SMS_TaskSequence_PrepareSMSClientAction" name="Prepare ConfigMgr Client" description="" runIn="FullOS" successCodeList="0">
          <action>osdpreparesmsclient.exe</action>
          <defaultVarList />
        </step>
        <step type="SMS_TaskSequence_JoinDomainWorkgroupAction" name="Join Domain or Workgroup" description="" disable="true" runIn="FullOS" successCodeList="0">
          <action>osdjoin.exe /type:%OSDJoinType%</action>
          <defaultVarList>
            <variable name="OSDJoinSkipReboot" property="SkipReboot">false</variable>
            <variable name="OSDJoinType" property="Type">1</variable>
            <variable name="OSDJoinWorkgroupName" property="WorkgroupName">Workgroup</variable>
          </defaultVarList>
        </step>
        <step type="SMS_TaskSequence_PrepareOSAction" name="Prepare OS" description="" runIn="FullOS" successCodeList="0">
          <action>osdprepareos.exe /activate:%OSDKeepActivation% /bmsd:%OSDBuildStorageDriverList%</action>
          <defaultVarList>
            <variable name="OSDBuildStorageDriverList" property="BuildStorageDriverList">false</variable>
            <variable name="OSDKeepActivation" property="KeepActivation">false</variable>
          </defaultVarList>
        </step>
        <step type="SMS_TaskSequence_RebootAction" name="Restart Computer" description="" disable="true" runIn="WinPEandFullOS" successCodeList="0">
          <action>smsboot.exe /target:WinPE</action>
          <defaultVarList>
            <variable name="SMSRebootMessage" property="Message">A new Microsoft Windows operating system is being installed. The computer must restart to continue.</variable>
            <variable name="SMSRebootTimeout" property="MessageTimeout">60</variable>
            <variable name="SMSRebootTarget" property="Target" hidden="true">WinPE</variable>
          </defaultVarList>
        </step>
        <step type="SMS_TaskSequence_CaptureSystemImageAction" name="Capture the Reference Machine" description="" runIn="WinPE" successCodeList="0">
          <action>osdcapturesystemimage.exe</action>
          <defaultVarList>
            <variable name="OSDCaptureDestination" property="CaptureDestination">\\Sccm-server-1\Packages\CapTemp\TestXP.wim</variable>
            <variable name="OSDCaptureAccountPassword" property="CapturePassword">
            </variable>
            <variable name="OSDCaptureAccount" property="CaptureUsername">labsccm\administrator</variable>
            <variable name="OSDImageCreator" property="ImageCreator">Administrator</variable>
            <variable name="OSDImageDescription" property="ImageDescription">
            </variable>
            <variable name="OSDImageVersion" property="ImageVersion">1.0</variable>
          </defaultVarList>
        </step>
      </group>
    </sequence>
  </SequenceData>
  <SourceDate>2008-04-10T18:21:31</SourceDate>
  <SupportedOperatingSystems>
    <SmsOperatingSystemDetails>
      <MaxVersion>5.10.9999.9999</MaxVersion>
      <MinVersion>5.10.0000.0</MinVersion>
      <Name>Win NT</Name>
      <Platform>I386</Platform>
    </SmsOperatingSystemDetails>
  </SupportedOperatingSystems>
  <IconSize>0</IconSize>
</SmsTaskSequencePackage>

    看明白的同学请举手。其实,在SCCM管理控制台里设置的参数,在这里全部有描述。你可以知道每一步由那个程序来运行,做了怎样的工作。

    那位幸福的同事,我们还可以让他更加幸福。他甚至不必等到系统安装完成就可以赶回家,一家晚餐,其乐融融~不信?看看这个。

image

    (1)直接重启机器到Win PE。

    (2)分区,当然,怎么分区由您说了算。

    (3)安装操作系统。

    (4)配置Windows系统,比如序列号,本地管理员密码等等。

    (5)配置网络。别忘记,固定的IP才能在系统重启后进行连接管理,对么?加域还是加工作组,也在这里。

    (6)安装驱动。

    (7)安装SCCM客户端。没有它后边的事情谁干?

    (8)安装补丁。

    (9)请转看前面抓取步骤,不在重复。

    啊?你问我抓完了系统剩下那么多新机器怎么办?那位幸福的同事不是已经回家了么?我也要回家吃泡面了,所以,把前面介绍的1-8步骤定义为系统安装吧。那些机器这样安装一遍,不就什么都搞定了?

    顺便告诉你一个小秘密,在SCCM里,你是可以远程唤醒一台机器的。知道为什么我叫那位幸福的同事把电源线和网线全部接好再回家了吧?

    好了,点击“完成”,我们还来得及赶最后一班地铁。

发表于 作者 HaoHu | 0 评论
归档在:

CSP-SCCM管理Mobile Device

    前面简单介绍了何谓CSP,务虚的东西总是很难给人留下印象的。如果要找一个平台来了解CSP如何工作,我想没有比SCCM更适合了。

SCCM DM01   

    我们一起来看看吧~

    从SMS 2003开始,可以通过Device Management Feature Pack来实现对Mobile Device的管理。而到了SCCM(SMSv4),这些功能更是直接内嵌到系统成为系统的一部分。

    如图,系统提供了常见的移动设备配置选项。在系统里被称为Configuration Management Item(后面简称CMI)。基于这些Item,就可以设定一个配置集,然后将其打包成一个Package,使用SCCM的分发功能,将其分发到通过ActiveSync或者Mobile Device Management Center连接的移动设备上,或者通过直接连接进行部署。这里就以一个示例的Package来说明。

    为了设置一个配置选项,必须首先新建一个CMI,将对应的配置设置好。这里首先用一个收藏夹配置来做示例。

 

 

 

sccm dm06  sccm dm07

    创建CMI的好处在于,可以为不同的用户集合使用不同的配置。就像SMS/SCCM可以根据计算机OS不同、配置不同甚至OU不同使用不同的配置一样,也可以为不同的移动设备使用不同的自动配置。例如,给不同国家的分支机构,使用不同语言版本的站点链接。这里是一个最简单的例子。

    在试验中,为了考察所有内置的配置选项,在生成的配置包Package中,包含了所有的CMI。这也说明一个推送出去的自动配置包,可以进行多方面的配置设置。

sccm dm02 sccm dm03

sccm dm08    由此生成的Package,就会包含一个XML文件。在Package的分支里面我们可以查看已经包含的CMI,然后可以看到最终生成的就是一个XML文件,这里这个文件是“LAB00003.XML”。

    它是什么样子的呢?让我们把它打开看看。

    在SCCM的安装目录里面,如果您配置过了Device Management,就会有一个目录叫做“DeviceClientDeployment”。在我们的试验里,在这个目录里有这样的一个文件夹:“\DeviceSettingPackages\LAB00003”,请注意,这个目录与我们的Packages的名字是对应的。在其中,就发现了我们前面看到的LAB00003.XML。为了节省地方,只将其中的一部分贴出来,同时对格式进行了必要的排列:

<wap-provisioningdoc>
    <characteristic type="Sync">
        <characteristic type="Connection">
            <parm name="Server" value="mail.microsoft.com" />
            <parm name="User" value="user" />
            <parm name="Domain" value="domain" />
            <parm name="AllowSSLOption" value="1" />
        </characteristic>
        <characteristic type="Settings">
            <parm name="PeakFrequency" value="15" />
        </characteristic>
        <characteristic type="Contacts">
            <parm name="Enabled" value="1" />
        </characteristic>
        <characteristic type="Calendar">
            <parm name="Enabled" value="1" />
            <parm name="CalendarAgeFilter" value="5" />
        </characteristic>
        <characteristic type="Mail">
            <parm name="Enabled" value="1" />
            <parm name="MailBodyTruncation" value="1024" />
            <parm name="EmailAgeFilter" value="4" />
        </characteristic>
    </characteristic>
    <characteristic type="SecurityPolicy">
        <parm name="4101" value="16" />
        <parm name="4122" value="0" />
        <parm name="4102" value="1" />
        <parm name="4103" value="16" />
        <parm name="2" value="1" />
    </characteristic>
    <characteristic type="BrowserFavorite">
        <characteristic type="Hao Hu">
            <parm name="URL" value="http://haohu.spaces.live.com" />
        </characteristic>
    </characteristic>
    ......

     最后一段XML就是我们之前图中对收藏夹的那个配置CMI,是不是很眼熟?是的,这就是标准的CSP格式的配置XML。至于他们具体的意义,以后再开贴子说明。

    为了搞清楚这些XML是如何被应用到移动设备,我又在SCCM里面挖了一阵子,还真让我发现了点什么。有一个叫做devicesettingcfg.xml的文件,描述了这些移动设备配置包使用的动态链接库和对应的类。同样,只贴出一部分:

<DeviceSettingPackage Platform="PPC06"
                      PackageWriterAssembly="DeviceSettings.CPF.dll" PackageWriterClass="DeviceSettingPackageCPFWriter"
                      DefaultItemWriterAssembly="DeviceSettings.CSP.dll" DefaultItemWriterClass="DeviceSettingItemCSPWriter">
    <DeviceSettingType Type="MS.Sync2"/>
    <DeviceSettingType Type="MS.BrowserFavorite"/>
    <DeviceSettingType Type="MS.Certificate"/>
    <DeviceSettingType Type="MS.Email"/>
    <DeviceSettingType Type="MS.GPRS"/>
    <DeviceSettingType Type="MS.PPP"/>
    <DeviceSettingType Type="MS.Proxy"/>
    <DeviceSettingType Type="MS.Registry"/>
    <DeviceSettingType Type="MS.VPN"/>
    <DeviceSettingType Type="MS.SecurityPolicy"/>
    <DeviceSettingType Type="MS.WiFi"/>
</DeviceSettingPackage>

    看到了么?熟悉的缩写,CPF,CSP。您终于相信SCCM和CSP的不可分割的联系了吧?

发表于 作者 HaoHu | 0 评论

CSP-开篇简介

在很久很久以前,在我的Webcast中介绍过CSP这个用于配置Mobile Device的好东西。一直都很想把这些东西理一理,可是一直都忙于各种乱七八糟的事情。现下遇到了这辈子目前为止最大的一次考验,我想也许做点事情心情会好一些,所以真的坐下来写一写了。

oma01说到CSP之前,首先要提到DM,Device Management。而说到DM,就没有办法回避一个词,OMA。OMA DM全称Open Mobile Alliance Device Mangement,是几大移动软硬件厂商共同建立的标准指定组织OMA确定的设备管理规范。oma02

CSP的全称叫Confiuration Service Provider,以一个xml文件的形式表现。这个xml文件实际上是一个有着许多属性的树形结构。从某种意义上来说,可以认为它类似注册表,为不同的设定项指定了参数。

而实际上,在Windows Mobile平台上,这些CSP所表达的配置,最终大部分也是通过注册表在系统中实现。

微软提出的CSP已经作为OMA DM的一个重要分支。 作为一直关注Mobile领域的巨头,微软也是其中重要的Sponsor之一。

使用CSP管理机制的最大好处,莫过于实现配置的自动化。如果有几十台PPC放在你的面前,一台一台去进行配置,枯燥的点击会让人崩溃~如果这几十台PPC分布在不同的城市,不同的国家……

实际上,在Windows Mobile上使用的csp xml并不直接以原本面目出现。为了兼容Windows Mobile安装的方式,这个xml文件会命名为_setup.xml。然后,这个文件会被打包成标准的microsoft格式的cab压缩包。这时,这个文件就可以直接在Mobile设备上运行,然后应用其中设置的配置。为了区别于普通cab安装包,通常,会让这类文件使用*.cpf的后缀名。

完整的配置体系才能够发挥出自动配置的巨大威力。在服务器后端,由Exchange 2003/2007,SMS 2003/SCCM 2007为设备管理提供了强大的支持。拔高了说,这些服务器平台提供了ITIL中关于SLM,Configuration Management等等环节的具体实现手段。

但是,这并不是所有的手段。微软以至于OMA提供的配置手段大大出乎你的想想。除了通过微软自己的管理平台Exchange+ActiveSync+SMS/SCCM,除了你自己把配置文件复制到存储卡上并运行,你甚至可以把这个文件通过空中接口(Over-The-Air)方式,以短信等方式发送到目标移动设备上去。

中国移动就这样做过。记得通过其网站发送有关GPRS的配置吗?是的,CSP,这就是那神奇功能背后的秘密。

此外,CSP提供了有关的权限管理,因而OEM厂商 和移动运营商能够有选择性地禁用 CSP 以锁定他们不想更改的功能。

为了便于采用合适的方式,这里将现有的CSP部署方式枚举一下:

1、写一个将XML文件内容发送到CSP的应用程序,重命名为autorun.exe,然后把它和XML文件一起放到存储卡根目录下的2577目录。如果你使用过存储卡来升级移动设备,那么对这个2577目录一定不会陌生。一旦该存储卡插入设备,或者是放入存储卡后启动设备,这个程序将会把XML中的配置内容发送到CSP。

2、通过 ActiveSync® 或 Windows Mobile Device Center 连接设备,不必编写任何程序就能配置设备。桌面工具 rapiconfig.exe 位于 Windows Mobile SDK 的工具目录下。该工具将读取 XML 文件并使用 RAPI 配置当前连接到 ActiveSync 的设备。连接设备后,在SDK 中的tools目录键入:rapiconfig config.xml (假定将 XML 文件命名为 config.xml。有关 RapiConfig 的详细信息,请参阅 msdn2.microsoft.com/bb737541.aspx)。

3、更简单的,可以创建一个 CAB 或 CAB 配置格式 (CPF) 文件。CAB 和 CPF 都可以复制到设备中,并且无需运行程序即可直接执行。你可以使用makecab.exe 创建这两种文件,Windows Mobile SDK 中也有这个工具。我建议使用图形化的WinCAB,虽然后台仍然调用的是makecab.exe

CAB 和 CPF 文件之间的主要区别在于 CPF 在执行期间不会打开任何对警告话框。这也是 CPF 的主要缺陷。除非设备上的安全设置和文件是否已签名策略强制要求。如果打算签署配置文件,请使用 CPF。否则,请使用 CAB。实现任何一个都非常简单,只需将正常的 XML 文件传递至 makecab 并为输出文件适当命名即可。正如所有的cab安装包一样,必须将 XML 文件命名为 _setup.xml。如果您以其他名称命名,makecab 不会有问题,CAB 或 CPF 文件也能正常生成,但当您尝试使用它时将出现含糊错误,导致配置失败。

4、更可以在网站编码中,通过交互实现XML的生成,然后自动化的进行部署。似乎System Center Mobile Device Manager正在做这样的事情,等我有机会测试再进行详细介绍。

这只是对CSP的简单介绍,更多CSP能干的事情,将对具体的CSP对象进行介绍。

发表于 作者 HaoHu | 0 评论

原来不是我RP问题

比较亲近的朋友都知道最近我不太顺利。时间大致是今年,有关的痛苦基本上看看MSN的SubTitle就知道了。。。

在众多的痛苦中,最大的莫过于本子。。。吃饭的家伙啊,如果手机相当于乞丐的打狗棒,被偷了还能勉强讨碗饭吃,那么本子相当于乞丐的饭碗,全指着他干活了。虽说hp发了本子,可是7100+2G+80G,外加诸多Policies,还让人活嘛。

一直以为自己的本子坏的很妖~莫名闪几下,黑掉,再开机,变成中间一条亮线,上下镜像。。。摸爬滚打这么多年,多少知道一点,屏应该没问题,连一个坏点都没有。要不就是排线,要不就是高压条,再不就是显卡芯片和显存。。。首先换了高压条,故障依旧。。。排线看着没啥磨损。。。难道是显卡芯片?

难道我RP不好把显卡用坏了?我也没疯狂的游戏啊。。。

这个事情昨天终于有了答案。。。万恶的NV,竟然在84、86的芯片上有这么大的问题。。。相关链接如下:

http://www.theinquirer.net/gb/inquirer/news/2008/07/09/nvidia-g84-g86-bad

国内的链接只要输入‘dell‘ or ’nv‘ ’显卡问题’就是一堆。。。

Dell官方的解决方案是刷一个新的BIOS,以增加风扇的转速来解决温度对芯片的影响。我已经刷了,不过好像晚了。。。这肯定是大家不能接受的。。。折腾自己的机器以苟延残喘到过保。。。不过还算是有个正面响应了。。。不光是dell,受到影响的应该还有asus、hp、lenovo等等(排名不分先后~)。所以您也不用看着我倒霉偷笑,哈哈。

看见那么多兄弟姐妹被nv的芯片害得这么惨。。。不能就这么算了!!希望国内的受害者能团结起来搞个集体诉讼。

可怜的是我的本子MS没有保。。。天哪。。。

发表于 作者 HaoHu | 2 评论

Dell D630 + ASUS P535 实现的多合一SIM卡

    关键字: Dell D630 / ASUS P535 / Smartcard reader / PCSC / SIM card / Windows

    之前因为想买一张GPRS包月卡在没有LAN、wifi的地方上网,又因为现在D630能用的WWAN卡(就是可以插在d630等机器里面的,空余的Mini PCIExpress槽位的,用于GRPS、EDGE、HSDPA等等的卡)非常的贵,所以心里还是准备用我的P535来进行GPRS通信,因为可以借助蓝牙拨号。

    由此想到来回换卡实在是不能忍受。特别是P535的设计,打开背盖就会切断电源,然后板上的电池也没电了,也就意味着必须重新设置RTC,重设设备时间。因此准备搞一张一卡多号的卡,在需要的时候来回切换。这需要有几个条件:可以读sim卡的设备,可以写sim卡的设备,破解Ki的程序,写卡的程序,手机的stk切换程序,以及一张可以写的sim卡。

    按照我不见兔子不撒鹰的原则,首先准备的是读卡器(实际上和写卡设备是同一个东西),以及破解Ki的程序。我问Simon借来了他的读卡器,然后着手进行Ki的破解。

    我的卡是老卡,即对应了V0版本,首先用的是simscan这个程序,新卡V1可能需要使用woronscan,因为可能不能直接解出8对Ki,需要用woronscan对已解出的Ki进行推算。在用woronscan的时候忽然发现,接口选项居然有PC/SC的字样,pcsc可是微软推广的smartcard接口规范啊,难道?。。。

    试验证明了我的推断,D630的Smartcard reader真的可以用来读写sim卡。于是我换了一个读卡的程序 FD v1.3。它支持pcsc的smartcard。经过近4小时的推算,我的Ki拿到了。于是跑到太和掏出所有的零钱,27块买了一张狗卡(六合一的卡)。等我拿回家忽然发现,写卡的程序大部分只支持串口。。。

    不死心啊。。。搜。。。终于找到完美支持PCSC Smartcard的程序,SimEasy。写入我的ICCID,Ki,SMSP。。。打开手机,换卡,开机。。。就像没换卡一样。进入stk(sim tool kit),可以进行卡号的选择。

   瓦咔咔,等我有空去买张上网包月的gprs卡~

发表于 作者 HaoHu | 0 评论

不抛弃,不放弃的MVPs,一个不成熟的倡议

这几天,一直睡得不好,那些消失的生命,那些倒塌的学校。

今天一个MVP在MSN上给我看了彩虹行动的页面,于是聊了几句,突然,一个想法冒出来了——中国的MVP一起努力,捐出一所MVP学校?

现在中国有现任MVP 217人,当然,还有很多历任的MVP,我想,这是一股不小的力量。我们可能没有什么钱,但是我想如果大家的能力能转换出来,还是很有价值的。

我们能做的,一方面是为灾区提供义务的技术支持和辅导,一方面可以捐点血,当然还可以捐些钱。每个MVP的环境都不一样,还有些MVP在上学。这个倡议并不是强制性的说要捐多少钱,哪怕一块钱,也是一块钱的力量。

我想说的是,大家如果发动起来,可以作一些类似义演的培训、项目、写书、文章等等。这样,我们的能力就能够转化成力量了。

一所MVP学校,并不是为了MVP本身,只是为了体现我们的那个V。

我的想法可能很粗浅,所以没有马上和Eddie、Sisley联系。我想先看看大家的意思,不管您是不是赞成,请给我一个回应。

想想那些可怜的孩子,想想如果是我们自己遇到了灾难。不管此事是不是能做起来,只要大家给我一个回应,就算是想到了那些苦难的同胞,谢谢了~

发表于 作者 HaoHu | 46 评论

大拆解——蓝牙立体声耳机 BT55F

BT55F,蓝牙立体声耳机。让我喜欢的是支持蓝牙2.0,可以同时连接本本和手机。

只可惜转轴设计的太烂,非常容易折断。这已经是换过的了。听辛浩说他换过的耳机都已经断掉了。。。唉,转轴是败笔。

发表于 作者 HaoHu | 3 评论
归档在:

这年头什么都有假的。。。

    千万不要被标题骗了,哈哈。

    这里要介绍给大家的是Side Show的模拟器。Sideshow是Vista支持的一项硬件功能。某些高端的笔记本上外壳也有一个小小的显示屏。通过它可以查看当前的各项情况。而不用打开本本。但是限于硬件,我估计大部分朋友都没有玩过。。。

    现在好了,给你一个模拟器,所以说什么都有假的。。。

   

    也跟基本的真的差不多了。在没装之前,Vista的控制面板里sideshow是这样的:

    SideShow 1

    装了以后就有可以配置的设备了:

    SideShow 2

    你甚至可以像真的Sideshow设备一样配置显示选项:

    SideShow 3

    我已经在Webcast中给大家介绍过Windows Mobile的模拟器(有喜欢的可以约稿,我在Blog上有时间贴一点)。现在又有SideShow的。。。

    这年头,,什么都有假的。。。 

发表于 作者 HaoHu | 0 评论
归档在:

大拆解——微软鼠标 8000

    这回是我比较喜欢的鼠标 8000。

发表于 作者 HaoHu | 6 评论
归档在:

WM6 刷机

    一直喜欢鼓捣。昨天无意看到有Typhoon,也就是5X5的WM6 ROM,于是手痒痒又刷了一次。

    由于之前从WM 2003刷过WM5的ROM,我的SPL版本已经是109,但是旧的109影响里不支持超过27M的BINFS,因此需要重新刷新的SPL 109。没法子,只能先降到064,然后重新升。这样说可能很含糊,一下子也没法说清楚。我准备有时间把整个ROM架构搞清楚然后完整的写清楚。因为很久没刷,整个过程中Fail了好多次,幸好我神经粗,熬到3点终于完成。

    这个下载的ROM不是很喜欢,很多不用的垃圾。。等有时间学习一下,自己改一个ROM好了。

    还有一堆Proposal要写。。。生亦何欢。。。

发表于 作者 HaoHu | 0 评论

大拆解——Dell D630

  我喜欢拆东西,因为好奇。所以决定以后将拆的东西拍照了看。这回惨遭毒手的是我的新本本,Dell D630。

发表于 作者 HaoHu | 5 评论
归档在:

何惧"Y照门“--再说几句

    急急忙忙的写了两段,感觉还有些遗漏,看了兄弟姐妹们的反馈以后,想再写几句。

     对于非商业用户,也就是个人用户,估计不会有谁会自行部署活动目录或者CA之类。因此,个人用户基本是使用自注册证书来进行EFS工作的。对于Windows XP,本身对智能卡上的证书没有特殊要求,数据和密钥分离可以借助eToken的客户端来实现。对于Windows Vista,由于对智能卡上的证书有着EKU的要求,因此不借助智能卡而自注册的证书将无法正常在智能卡环境使用。而且,在我测试过程中,Vista并没有给出足够的故障诊断信息。

    除了EFS,BitLocker也是一个保护数据的好办法。BitLocker有两种方式,一个是使用机器的TPM,一个是使用U盘上的密钥。它是针对分区级别进行的加密,而且对系统安装分区有一定要求。送修的时候,硬盘往往被外挂在其他系统上,因此无法正常访问BitLocker保护的系统分区,这时很难做一些系统修复的事情。例如使用某些工具让崩溃的系统返回到某个还原点。在使用上不一定有EFS方便灵活。如果用户需要加密的数据不在系统盘上,BitLocker就无法进行保护。
    比较一下两个技术,这两个技术并不矛盾,如果需要,用BitLocker来保护EFS密钥也是很好的选择。

BitLocker

加密文件系统 (EFS)

BitLocker 将加密安装 Windows 的驱动器上的所有个人文件和系统文件。

EFS 将加密任何驱动器上的单独文件。

BitLocker 并不依赖与文件关联的单独用户帐户。总之,BitLocker 适用于所有用户或组。

EFS 将根据与其关联的用户帐户来加密文件。如果计算机具有多个用户或组,则每个用户(或组)可以单独加密各自的文件。

BitLocker 使用受信任的平台模块 (TPM),该模块是某些新型计算机中一种支持高级安全功能的特殊微芯片。

EFS 并不需要(或不使用)任何特殊硬件。

启用 BitLocker 加密之后,只有管理员才能打开或关闭 BitLocker 加密。

而使用 EFS 则不必具有管理员身份。

    对于Windows Vista Ultimate提供的Vista Extra中的一个功能,用户可以将BitLocker密钥和EFS证书保存在由用户Passport保护的联线保险柜里。回头再做介绍。
发表于 作者 HaoHu | 2 评论

何惧"艳照门"--续

    书接上回,借助eToken的客户端,我们在Windows XP上实现了双因子的EFS加密,其实也还是单因子,只不过数据和密钥分离了。于是乎我接着在Windows Vista上尝试,希望也有相同的Solution。
    前文书说过,Vista支持基于SmartCard的证书用于EFS,并且要求密钥为2048-bit的RSA。于是我今天找了一个新的eToken,可以支持2048-bit密钥证书,希望再续在XP上的胜利。
    但是,开始的尝试可耻D失败鸟~使用用户帐户的EFS向导,始终不能直接在SmartCard上自注册证书。不知道Vista对具体的SmartCard有没有什么特殊要求。这个问题有待于与MS联系了解。知道的朋友也请不吝赐教。
    做TC的人很重要的工作就是要想法子work around。一计不成,咱又生一计。直接生成一个EFS证书,然后导入到SmartCard上去。这个是模仿XP上的作法啦~
    导证书很顺利,可是,使用有证书的eToken来访问EFS保护的信息时,又可耻D失败鸟~不甘心,马上去MSDN Blog上查产品组的blog,同时查有限的资料。。。终于被我找到原因了:与XP不同,Vista需要EFS的证书同时有关于智能卡登录的EKU。EKU是啥东东?继续查。。。原来叫做Extended Key Usage,扩展的密钥使用。证书的这个选项决定了证书能够应用的场景。
    原因找到了,怎么解决呢?我估计Vista的智能卡证书自注册肯定是能够提供这个EKU的,可是现在它不能进行这个工作。。。难道要等MS漫长的解决过程?我继续不甘心,咱再生一计,用Windows Server 2003的虚机来起CA,娃哈哈~
    一气之下作了一个什么都能搞得证书,邮件签名、客户端验证、EFS。。。导出来,再导进去。。。终于成了~
 
    EFS SC 01
 
    EFS SC 02
 
    现在,如果没有插eToken,也就是SmartCard,是不能打开EFS加密的信息的。插上后,等证书被CAPI缓存,就能够访问了。
发表于 作者 HaoHu | 0 评论
归档在:

有它何惧"艳照门"?

    一直浑浑噩噩,也没怎么看新闻,直到那天Alan和Ken告诉我一个天大的八卦,“艳照门”事件。地球人都知道,我也没必要再废话了。就我而言,当事人选择怎么生活是当事人的事情,首要谴责的是泄露照片的人,虽然让娱乐圈大大的“娱乐”了一把,但是毕竟有违职业操守,侵犯了别人隐私。
    其次要谴责的是保存照片的人,既然知道事关重大,就该好好重视信息安全。看来很有必要给大家普及计算机安全知识啊,哈哈。这就扯到今天的主题了,EFS的应用。
    别忙关闭窗口。我知道你可能在Windows 2000的时代就用过EFS了,甚至还因为EFS丢过重要的文件。全都因为开始大家不了解EFS的工作方式,没有备份至关重要的证书私钥。经过我和好多MVP持之以恒的产品反馈,微软终于在Vista的时候改进了产品体验,有了备份证书的提示。更在Ultimate版本中通过Windows Vista Extra提供了在线的证书备份。并且,Vista和Windows Server 2008都采用了2048-bit的RSA私钥,有别于之前的2000和XP。更重要的一点,Vista可以使用SmartCard存储加密文件证书了。
    为什么说这些呢。是酱紫,EFS需要证书的公私钥来进行文件的加密,而通常情况下,由于使用习惯,证书和相应的密钥往往和数据同时存在于一个磁盘上。如果像***一样拿本本去送修,我保证有2种以上的办法可以访问EFS加密的信息。所以,需要想别的办法。
    有一样东西可以帮忙。eToken Pro是Aladdin公司的产品,外形像一个小U盘,实质上一个USB接口的SmartCard。估计和银行的U盾阿什么的是一样的。它的作用很多很多,例如实现多因子智能卡登录、应用程序的SSO、访问网站的WSO等等。如果有人有兴趣,我今后可以给大家介绍。在这里可以将这个小玩意和EFS结合起来,让你再也不怕身陷“XX门”。
    它的机理是这样的,eToken的客户端能够监控PKI,监测有关CAPI的活动。当你第一次使用EFS的时候,系统会根据用户的SID自动产生一个加密文件证书。这个技术细节可以在很多介绍EFS的文章里找到详细描述。在这里要强调的是,由于eToken的客户端监视,将会自动把这个证书保存到eToken的SmartCard上。这时,你使用证书的管理控制台能够在“个人”分支下看到这个证书,也能够使用证书正常进行文件加密。可是,当你拔出eToken的时候,刷新一下管理控制台,证书不见了。
    因为系统缓存了证书私钥,你仍然可以继续访问EFS加密内容。(系统在登录时会从证书文件读取有关内容到注册表)等你注销或者重启了,如果没有插上eToken,你会发现,EFS加密的文件无法访问了。
    我们再设想一下,这时假如你的机器在修理人员那里修理,因为维修的原因可能他们还有你的用户和口令,但是,他们没有你的eToken上的证书,因此,他们无法访问EFS加密的内容。至于在本地没有证书的情况下能否借助工具访问EFS加密信息的问题,还需要等我有时间的时候进一步验证。印象里有关工具好像也是扫描磁盘上保存的证书来进行破解的。
    以上内容适用于Windows XP环境,因为手头的eToken Pro firmware较早,只支持1024-bit的RSA密钥。害得我找了半天原因为啥Vista不能用。Vista环境的等我拿到新的eToken测试了再和大家聊。
发表于 作者 HaoHu | 7 评论
归档在:

当你看到不到日志描述,除了KB31226,还有更好的办法

(本文已提交社区KB,谢绝转载,谢谢) 

因为你的机器上没有安装对应的产品,所以经常会发现打开Event Viewer的时候,看到的日志类似于:

Event Type: Warning
Event Source: Virtual Server
Event Category: (5)
Event ID: 1032
Date:  2007-10-23
Time:  19:18:10
User:  NT AUTHORITY\NETWORK SERVICE
Computer: XXX
Description:
The description for Event ID ( 1032 ) in Source ( Virtual Server ) cannot be found. The local computer may not have the necessary registry information or message DLL files to display messages from a remote computer. You may be able to use the /AUXSOURCE= flag to retrieve this description; see Help and Support for details. The following information is part of the event: The event log file is corrupt..

到底发生了什么自然我们也就搞不清楚了。按照KB31226的方法,我们可以连接到装有产品的机器上去打开日志详情,可是如果这个日志是别人邮件给你的,难道你必须去连结可能在防火墙之后的服务器?

当然,你也可以安装一个相同产品的虚机,然后导入日志查看。不要笑,我以前就是这么干的。可是如果一台机器上装了Exchange\SQL等等,难道你也准备在一个虚机上装N个产品?或者装N个虚机?

有一种办法可以让你大大的避免这个情况。

实际上Event Viewer之所以知道在哪里找到事件消息描述,是因为EventLog服务里面有对应日志项目的注册表。只要我们拥有这些注册表键和值,以及对应的位置上有用于事件消息解释的文件,就可以在这台机器上看到详细的时间消息了。

以上面的Virtual Server的事件为例,可以先在源机器(即安装了产品,产生日志的机器)上查找到如下注册表键,导出注册表键。然后将显示的相应消息文件复制到目标机器(即用来查看导出日志的机器),并导入注册表,即可在Event Viewer里面查看有关日志了。

 

 

 

 

 

 

 

 

 

 

 

  您再也不用连接物理服务器或者必须安装虚机了。

等我有空的时候,慢慢制作一些安装包,直接能安装相应的文件和注册表键,到时候再和大家分享。

发表于 作者 HaoHu | 2 评论
归档在:
更多内容 下一页 »