[新闻稿存档 ^][< 第 5 卷第 1 号][第 6 卷第 1 号 >]

Systems Internals 新闻稿第 5 卷第 2 号

http://www.sysinternals.com
版权所有 (C) 2003 Mark Russinovich


2003 年 6 月 23 日 - 本期内容:

  1. 编辑

  2. SYSINTERNALS 的新增功能

    • Filemon v6.06、Regmon v6.06
    • PsPassword v1.01
    • PsLoglist v2.3
    • AccessEnum v1.0
    • Process Explorer v6.03
  3. INTERNALS 信息

    • Deloader 蠕虫的 PsExec 部分
    • 使用 PsTools 制造问题
    • Microsoft 记录 NtQuerySystemInformation(部分)
  4. 内部培训

    • 夏季视频特刊
    • Microsoft TechEd Europe
    • 下一个公共 Windows Internals 类

Sysinternals 新闻稿由 Winternals Software Winternals Software 赞助,网址为 http://www.winternals.com. Winternals Software 是 Windows NT/2K/XP 高级系统工具的领先开发者和提供商。

Winternals 很高兴宣布推出 Administrator's Pak 4.0,并全面更新我们的旗舰产品 ERD Commander 2003。 ERD Commander 2003 中的新功能包括:FileRestore,用于恢复已删除的文件;使用 Windows XP 系统还原点回滚无法启动的系统的功能;Disk Commander,用于修复主启动记录 (MBR),甚至从已删除的卷中抢救数据;“System Compare”诊断工具,用于将死系统上的系统和配置文件与工作系统进行比较。 若要请求试用版,请访问 http://www.winternals.com/sn

编辑

大家好,

欢迎查看 Sysinternals 新闻稿。 新闻稿目前有 36,000 名订阅者。

我终于做到了。 我从 Internet Explorer 切换到了 (http://www.mozilla.org)。 Bryce Cogswell(我的 Sysinternals 和 Winternals 联合创始人)已经使用 Mozilla 好几年了,他定期告诉我该工具具有而 IE 没有的所有炫酷功能。 最明显的是,你可以在同一个浏览器窗口的选项卡式页面中打开新页面,而不是在单独的窗口中打开这些页面。 如果你希望浏览器在启动时打开多个页面,只需将一组选项卡设置为启动组即可。

虽然 IE 具有一个全局设置可记住网页密码,但使用 Mozilla,你可以指定希望其记住密码的网页,并且可以随时使用密码管理器来移除已记住的密码。 再加上内置的下载管理器、集成的电子邮件客户端(我没有使用)、多个配置文件、内置聊天程序、与热门搜索引擎的集成,Mozilla 和 IE 之间的差距开始变得令人深刻。

然而,Mozilla 在处理烦人的网页方面确实很出色。 它包含一个内置的弹窗管理器,如果你愿意,你可以逐个网站配置弹窗筛选。 它有一个 Cookie 管理器,你可以用它来阻止 Cookie(如果你愿意,也可通过网站来阻止),还可用它来查看你的系统上已删除的 Cookie。 你还可以配置 Mozilla 在图像方面的行为。 大多数具有令人讨厌的横幅的网站会从外部赞助网站拉取图形文件,而你可以配置 Mozilla 以忽略外部图像,同样如果需要,你可以逐个网站配置。 最后一点是,Mozilla 在皮肤方面支持一种很棒的视觉效果,提供了大量皮肤供免费使用。

我知道这听起来像是在推销,但实际上不是。 这更多的是关于缺乏竞争对产品细分市场的影响的一种评论。 为什么 IE 没有 Cookie 管理和弹窗阻止等消费者必须花钱才能得到的功能,而 Mozilla 却免费提供这些功能,还提供了其他功能? 为什么 IE 版本 5 和版本 6 之间的变化如何小?为什么两年了都没有更新? 绝大多数消费者是他们的计算机上有什么软件,就使用什么软件,他们不会阅读开源新闻组的内容,也不会访问 Slashdot.org,所以他们不知道有更好而且免费的替代方案。 Microsoft 和 Netscape 在争夺 Web 服务器应用程序市场的竞争中免费提供浏览器,所以 Microsoft 改进 IE 不会带来任何经济收益;当我这样的高级用户改为使用 Mozilla 时,他们也没有任何经济损失。

你甚至能在 Microsoft 的加载项软件方面看到这种情况。 我曾经使用 Eudora 作为我们的电子邮件客户端,但大约两年前,我切换到了 Outlook。 似乎每个人都在使用 Outlook,而我想要使用它的日历功能。 我立即就遇到了一些小烦恼。 比如,你可以配置 Eudora,让它在服务器上保留一定大小的电子邮件,当你所在的酒店房间宽带为 25 Kb,而有人点电话进来时,这样做非常有用。 Outlook 具有类似的功能,但 Eudora 会下载邮件文本的前几行,以便你看到电子邮件的内容,并使用该信息来决定是否要花很长时间来下载。 Outlook 则不会这样做。

我可以继续说下去,但你现在已经明白我的意思了,也许你可以加上一些你自己的趣事。 归根结底,竞争对计算机消费者是有利的。 也许 IE“Longhorn”版本会将 Mozilla 大吃一惊?

请将这篇新闻稿传递给你认为可能对该内容感兴趣的朋友。

谢谢!

-马克

SYSINTERNALS 的新增功能

FILEMON V6.06、REGMON V6.06

Filemon 和 Filemon 在不到六个月的时间里一跃而上,提供了两个完整的版本号。 这个最新的主要更新提供了增强功能,让它们更容易使用,让它们显示的内容更丰富。

运行新版本时,你立刻就能看到“进程”列中显示了进程图标,这为你提供了一个视觉提示,告诉你所看到的 I/O 与哪些应用程序相关联。 如果需要有关进程的详细信息(包括其版本信息、完整路径和命令行),请右键单击具有该进程的 I/O 的行,然后选择“进程属性”。

在某些情况下,你在尝试查看进程属性时,可能看不到相应的图标,并会收到错误对话框。 当进程在用户界面有机会访问该进程并获取其路径之前启动和退出时,就会出现这种情况。

打开上下文菜单时,还会看到一些条目,通过它们可将进程或路径添加到“包括”或“排除”筛选器中。 如果选择应用新的筛选器,你会收到一条新提示,询问你是否要对已收集的输出应用新筛选器。 这使你能够快速地将输出精简为你感兴趣的信息,而无需保存输出并将其加载到电子表格中进行后期处理。

另一项增强功能是能够将保存的日志文件加载回显示器。 此功能与新的筛选功能和突出显示功能结合使用时,使这些工具在事后问题分析中具有通用性。

下载 Filemon v6.06
http://www.sysinternals.com/ntw2k/source/filemon.shtml
下载 Regmon v6.06
http://www.sysinternals.com/ntw2k/source/regmon.shtml

PSPASSWORD V1.01

PsTools 套件由捆绑了命令行且支持远程的管理工具构成,而最新添加的这项功能使套件中这些工具的总数达到了 12 个。 许多系统管理员(包括我联合创立的 Winternals 公司里的管理员)会定期更改他们管理的客户端计算机的本地管理密码。 没有内置方法来远程更改本地密码,而这正是 PsPassword 发挥作用的地方。 你可以用它来更改远程计算机上的本地(或域)密码。 如果将它添加到针对计算机列表执行它的脚本或批处理文件中,它会成为理想的批量密码更改实用工具。

下载 PsPassword v1.01
http://www.sysinternals.com/ntw2k/freeware/pspasswd.shtml
下载整个 PsTools 套件
http://www.sysinternals.com/ntw2k/freeware/pstools.shtml

PSLOGLIST V2.3

PsLoglist 是我经常收到功能请求的众多 Sysinternals 工具之一。 版本 2.3 的增强功能都反映出了用户的反馈。 改进最多的方面是筛选。 PsLoglist 具有新的开关,让你能够设置限制,仅显示与指定事件 ID 匹配或具有指定事件源(例如 IIS)的事件记录。 在以前的版本中,事件类型筛选器只接受一种事件类型,而现在它允许你输入多个类型。 例如,若要查看所有错误和警告,请使用如下所示的命令行:psloglist -t f w

下载 PsLoglist v2.3
http://www.sysinternals.com/ntw2k/freeware/psloglist.shtml
下载整个 PsTools 套件
http://www.sysinternals.com/ntw2k/freeware/pstools.shtml

ACCESSENUM V1.0

NTFS 采用了丰富权限模型,这提供了极大的灵活性。 这种灵活性带来了复杂性和错误配置安全性的可能。 遗憾的是,没有内置工具让能够更轻松地跨目录和文件管理安全性。 虽然 cacls 命令行实用工具构想很好,但它是命令行工具的事实使得它的输出难以分析。 这就是 AccessEnum 的用武之地。 关于整个目录树的文件和目录权限,AccessEnum 提供了易于理解的视图。 使用 AccessEnum,你可以轻松发现权限问题。

当你运行 AccessEnum 时,指定一个目录,然后 AccessEnum 就将显示哪些用户对该目录具有哪些访问权,如果适用的话,还会显示对该目录下的文件和目录具有哪些访问权限。 默认情况下,如果目录上的权限与其父目录的权限不同,AccessEnum 只会列出该目录,并且只有当文件的权限比其父目录的权限更宽松时,它才会显示文件。 如果需要,可以使用“选项”对话框让 AccessEnum 显示文件,前提是这些文件的权限与其父目录的权限不同。

下载 AccessEnum v1.0
http://www.sysinternals.com/ntw2k/source/accessenum.shtml

PROCESS EXPLORER V6.03

Process Explorer 是一款进程查看器和控制实用工具,可在任务管理器退出的位置继续工作。 Process Explorer 提供广泛的功能,它会显示进程创建树、显示进程已打开的句柄、列出进程已加载的 DLL(和其他内存映射文件),还让你能够搜索打开特定文件的一个或多个进程。

版本 6.0 中最重要的增强功能与视图列相关。 在此版本之前,无法配置列,因此过去我会仔细选择要显示的列,以便最大限度地利用有限的可用空间。 这限制了你在不打开“属性”对话框的情况下可以看到的数据,而我认为这是最普遍有用的。

现在,就像使用任务管理器一样,你可以使用“视图|选择列”菜单项来选择要在三个视图、进程、句柄和 DLL 中的每一个中看到的列。 你还可以拖动列,将其重新排序。 除了让你能够根据自己的喜好自定义显示外,还有更多的列选择。 例如,进程视图支持任务管理器执行的列选择,还支持其他有用的选项,例如进程映像路径、命令行、版本号和公司名称。

在以前的版本中,Process Explorer 同步刷新了其显示,这意味着用户界面可能有一段时间会变得无响应,特别是在句柄视图处于活动状态,并且你选择了具有数千个句柄的进程时。 版本 6.0 引入了所有三个视图的异步更新,使用户界面始终响应,并且 Process Explorer 看起来更快速。

我在早期版本的 Process Explorer 中开创的一项强大功能是差异突出显示,其中显示中的新项以绿色突出显示,已删除的项以红色突出显示。 我扩展了这项功能,以便在版本 6.0 中,除非你暂停了显示,否则刷新突出显示会持续 4 秒,这样就可以更轻松地发现变化(在暂停模式下,突出显示会一直持续到下一次手动更新)。

了解进程内正在运行哪些服务是 Process Explorer 进程视图的功能之一。 可以通过选择“选项”|“突出显示服务”,选择突出显示服务托管进程。 如果查看服务托管进程的属性,会发现还有一个名为“服务”的附加选项卡,其中显示了进程中正在运行的服务列表(包括其服务和显示名称)。 现在,在 Win2K 及更高版本上,如果服务的开发人员提供了服务列表,Process Explorer 还会显示你在该列表中选择的服务的说明。 与任何其他工具(例如 XP 和 2003 版本中的 Tlist /s 或新的 tasklist /svc 命令)相比,此附加信息使 Process Explorer 能够更容易识别服务。

其他一些次要改进包括:现在,当你保存时,Process Explorer 会保存进程视图和底部视图(句柄或 DLL)的内容,而不仅仅是保存底部视图。 现在,还有一个选项用来最小化到托盘,这样你就能方便地使用 Process Explorer。

下载 Process Explorer v6.03
http://www.sysinternals.com/ntw2k/freeware/procexp.shtml

WWW.MICROSOFT.COM 上的 SYSINTERNALS

下面是自从上一篇新闻稿以来发布的 Microsoft 知识库 (KB) 文章中最新一期的 Sysinternals 参考资料。 从此,关于 Sysinternals 的 KB 参考文章总数达到 41 篇。

  • ACC2002:错误消息:ActiveX 组件无法创建对象 http://support.microsoft.com/default.aspx?scid=kb%3Ben-us%3B319844

  • 修复:从缓存中移除浏览器能力评估器时速度缓慢 http://support.microsoft.com/default.aspx?scid=kb%3Ben-us%3B819612

  • 如何:排查 Microsoft 内容管理服务器 2002 中的站点部署问题 http://support.microsoft.com/default.aspx?scid=kb%3Ben-us%3B814774

  • PSVR2002:尝试访问项目视图时,出现“此视图中没有要显示的信息”错误消息 http://support.microsoft.com/default.aspx?scid=kb%3Ben-us%3B810596

INTERNALS 信息

DELOADER 蠕虫的 PSEXEC 部分

PsExec 是一款工具,你可使用它在具有管理员访问权限的远程系统上执行进程,该工具已感染了多个蠕虫,最明显的是 Deloader (http://www.f-secure.com/v-descs/deloader.shtml),这些蠕虫今年春天攻击了 Internet。 很多不熟悉 Sysinternals 的用户向我发送电子邮件称,他们在 PsExec 执行时显示的横幅中看到我的名字,所以他们指责我试图黑进他们的系统。

不幸的是,人们选择恶意使用 Sysinternals 软件,但我对此无能为力。 要记住的一个重要事实是,用户不能使用任何工具来影响远程系统,除非他们运行的帐户对远程系统具有管理权限。 有了这样的特权,他们可以对远程系统造成任何他们想做的破坏,而无需使用任何工具:rmdir /s \\remotesystem\admin$ 将擦除远程系统的 SystemRoot 目录。

至于远程进程执行,如果他们没有使用 PsExec,也会使用其他工具。 事实上,Windows Management Instrumentation(内置在 Windows 2000 及更高版本中,可用作 NT 4 和 Windows 9x 的加载项)有一个远程进程执行接口,可提供 PsExec 的部分功能。

使用 PSTOOLS 制造问题

Bryce 和我在 Sysinternals 上发布的大多数工具主要用于系统管理和故障排除。 一个值得注意的例外是 Sysinternals 蓝屏屏幕保护程序 (http://www.sysinternals.com/ntw2k/freeware/bluescreensaver),它描述了一个看起来很真实的蓝屏死机和重启顺序,具体到你运行它的 Windows NT 版本(它甚至可以在 Windows 9x 上运行)。 不过,你可能还没有意识到,网站上的其他一些工具可以用来捉弄办公室里的同事。

有三种工具让折磨办公室同事变得特别容器,它们是 PsExec、PsKill 和 PsSuspend。 只要你的帐户对远程系统具有管理访问权限,或者你有权访问具有该权限的帐户,你就可以使用它们远程操作计算机。

PsExec 允许你在远程系统上启动应用程序,因此让人感到困惑的一种简单方法是在他们的主机上启动随机程序。 若要在他们计算机上执行 Solitaire,请使用如下所示的行:

psexec \\remotesystem -i sol.exe

-i 开关会指示 PsExec 在控制台上启动进程,而不是在隐藏的服务桌面上启动它。 当用户关闭 Solitaire 进程时,PsExec 将退出。 如果你想启动多个实例来使用户不堪重负,可以使用 -d 开关,以便 PsExec 退出,而不等待进程退出。

更狡猾的是,在他们的系统上启动蓝屏屏幕保护程序,让他们认为他们的系统已经崩溃了。 可以使用此命令行做到这一点:

psexec \\remotesystem -i -c "sysinternals bluescreen.scr" /s

-c 开关会将指定的文件复制到远程系统。

如果你想要引起更多问题,可以使用 PsKill 终止他们系统上的进程。 一个很好的例子是 Explorer,每个人都在运行它,它会自动重启,会在正常操作时随机崩溃(至少对我来说是这样)。

最后,如果你真的想捉弄某人,可以使用 PsSuspend 在短时间内暂停他们系统上的随机进程。 同样地,他们可能会认为这只是平时会发生的异常 Windows 行为,但你却更加了解!

下载 PsExec、PsKill 和 PsSuspend
http://www.sysinternals.com/ntw2k/freeware/pstools.shtml

MICROSOFT 记录 NTQUERYSYSTEMINFORMATION(部分)

前几天,我在浏览 2003 年 4 月的 MSDN 库时,看到了 NtQuerySystemInformation 的文档页面。 NtQuerySystemInformation 是“本机”API 的一部分,放在大部分 Win32 API 的下面,几乎只由操作系统中包含的系统进程使用(你可以在 http://www.sysinternals.com/ntw2k/info/ntdll.shtml). 中了解本机 API)。 一些 Sysinternals 工具利用 API 来访问 Win32 未公开的功能,但该功能仅与获取进程和线程信息相关。

所以,发现 NtQuerySystemInformation 让我很惊讶,我的第一个想法是,Microsoft 已经决定公开 API 提供的一些有用功能。 阅读文档后,我觉得并非如此。 所有描述的 API 用法都是由定义良好的 Win32 API 提供的,文档强烈建议使用这些 API,从函数描述的表述开始就写到:“NtQuerySystemInformation 是一个内部 Windows 函数,用于检索各种系统信息。 由于此函数在 Windows 的未来版本中可能会更改,因此请使用下面列出的备用函数。”

事实上,文档中显示的一些用法完全没用。 例如,API SYSTEM_PERFORMANCE_INFORMATION 变体的说明指出,系统返回了一个数据结构,但无法像 Windows 使用它一样对其进行使用,而应将其视为字节数的随机布局,且可将其用作随机数。 然后,它接着说,你真的不应该使用 API 生成随机数,而是应该调用文档中的 Win32 函数 CryptGenRandom。 最重要的是,如果 Win32 没有更可靠、更轻松地提供,那么文档中说的真的没有用处。

这激起了我的好奇心,我注意到,他们列出的包含使用 API 所需的信息的 include 文件是 SDK 中的 winternl.h。 在 MSDN 文档中搜索该文件会发现更多相同的内容:一些本机 API 的文档描述了同样无用的用途或功能,最好通过 Win32 访问它们。 头文件本身并没有显示 SDK 中未记录的内容。

那么,这些无用的 API 在 MSDN 和 SDK 中会做什么呢? 我猜这是 Microsoft 遵守美国司法部 (DOJ) 同意法令的一部分,Microsoft 正在“记录”更多的内部 API,它的一些应用程序会使用这些 API。 下面这行描述来自 NtOpenFile 文档,它暗示了出现这种情况无非是为了法律目的:“NtOpenFile 文档是为了确保完整 API 覆盖而提供的。”

由于缺少任何有用的信息,而且我相当确定,使用 NtQuerySystemInformation API 的 SYSTEM_PERFORMANCE_INFORMATION 类的任何 Microsoft 应用程序都不会用它来获取随机数字,所以我想知道 winternl.h 函数的文档是否真的符合导致它们包含在 SDK 中的任何法律指令。

如果你对 NtQuerySystemInformation 和其他本机 API 的完整文档感兴趣,请获取“Inside Windows NT/2000 Native API Reference”(了解 Windows NT/2000 本机 API 参考,网址为 http://www.amazon.com/exec/obidos/ASIN/1578701996/103-8560745-7945431)的副本

内部培训

夏季视频特刊

购买:“深入了解 Windows 2000”,免费获得:XP/Server 2003 更新

现在,你可以极低的成本拥有最终的内部培训包。 当你按已经优惠的 Internet 价格购买非常热门的“深入了解 Windows 2000”视频时,你将获得 XP/Server 2003 绝对免费更新;此优惠限时提供。 这几乎是零售价的基础上优惠了 35%。

Microsoft 在世界各地使用这两款优秀的学习工具来进行企业培训。 Microsoft 核心技术副总裁 Rob Short 表示,“这些视频深入到了平台的核心,捕捉到了其技术本质,并以强大的交互式视频格式呈现出来。”

若要查看产品详细信息或下载视频示例,请访问 www.solsem.com.。 别等太久。 现在就来享受这个限时优惠吧!

MICROSOFT TECHED EUROPE 2003

两周前,Dave Solomon (http://www.solsem.com) 和我在美国达拉斯的 TechEd US 大会上讲授了为期一天的会前教程,其中包括实验室练习,练习中着重介绍了 Sysinternals 工具的用法,我们还花了 1 小时 15 分钟进行分组讨论,对讲到的内容中的一小部分进行了探讨。 这两期都是观看率最高的。 我们下周将在 TechEd Europe 大会上做更多事情,如果你住在欧洲,你可能会有兴趣了解一下。

TechEd Europe 于 6 月 30 日至 7 月 4 日在巴塞罗那举行。 Dave 和我再次被列为“顶级演讲者”(http://www.microsoft.com/europe/teched/Speakers.asp),我们将一起讲授为期一天的会前教程 (http://www.microsoft.com/europe/teched/PreConfWinInt.asp),内容是对进程、内存和崩溃问题进行故障排除(没有实验室),另外还有 4 场讨论,它们是:“Sysinternals 工具导览”、“Sysinternals 工具故障排除”、“Windows 故障转储分析”、“Windows XP 和 Server 2003 内核更改”。

有关完整说明和报名信息,可访问
http://www.microsoft.com/europe/teched/home.asp
我们希望在西班牙看到你!

下一场公开的“WINDOWS 内部和高级故障排除”课程

我们下一场为期 3 天的“Windows 内部和高级故障排除”课程计划于 9 月在纽约举行(如果你等不及,我们在伦敦的课程将于本周 6 月 25 日举行,请抓紧最后的机会报名!)。 有关日期和报名详细信息,请继续关注 www.sysinternals.com


感谢阅读 Sysinternals 新闻稿。

由 ottoh 于 2003 年 6 月 23 日星期一下午 4:46 发布

[新闻稿存档 ^][< 第 5 卷第 1 号][第 6 卷第 1 号 >]