65.9K
CodeProject 正在变化。 阅读更多。
Home

使用 VBScript 和 WMI 访问 Vista 的 BcdStore

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.10/5 (4投票s)

2007 年 4 月 1 日

CPOL

1分钟阅读

viewsIcon

52777

downloadIcon

765

一个示例,展示如何使用 VBScript 和 WMI 访问 Vista 的 BcdStore。

引言

Vista 的 BCD(启动配置数据)取代了先前 Windows 版本中使用的 boot.ini 文件。 此脚本的主要受众是需要自动化 Vista 机器启动方式的系统管理员。

微软提供了有关如何检查和更新 BcdStore(即包含 BCD 的注册表文件)的文档,但这些信息分散在多个来源中。 很少有使用 VBScript 检查或更新 BcdStore 信息的良好示例。

此脚本旨在作为一个可用的示例,可以用作起点以提供一些自动化。 通过复制“bcdedit /enum active”命令的输出,人们可以看到如何提取启动相关信息。

背景

WMI 是一个庞大而复杂的主题。 对于不熟悉 WMI 的读者,我建议 这个 URL 作为 WMI 的一个很好的介绍,以及如何将其与 VBScript 一起使用。

微软的 BCD 文档可以在

  1. Vista 软件开发工具包
  2. MSDN 库,“启动配置数据 (BCD)” 
  3. “Windows Vista 中的启动配置数据”

Using the Code

该脚本显示文本行,类似于 Vista 的“bcdedit.exe”命令行实用程序。 因此,该程序应作为 cscript 运行

cscript mimic_bcedit.vbs 

或者,您可以将默认脚本宿主设置为 cscript,方法是发出命令

cscript //h:cscript 

在这种情况下,在运行任何 .vbs 文件时,可以省略前导 cscript。

关注点

BCD 以以下形式存储逻辑驱动器信息

\Device\HarddiskVolumeX 

不幸的是,没有简单的方法(据我所知)使用 VBScript 将其转换为驱动器号(例如 C:)。 DDK 函数 ZwQuerySymbolicLinkObject() 可用于从 \Device\HarddiskVolumeX 引用获取驱动器号。

历史

  • 上传于 2007 年 4 月 1 日 - 初始版本
© . All rights reserved.