微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用VBScript获取安装的更新列表作为Windows更新的一部分

我很新的VBScript,我需要获得已安装的软件(例如Microsoft Visual C ++ 2010等)的列表作为Windows更新使用VBScript或任何一部分。

如果安装的软件列在使用WMIC的添加/删除程序下,我们可以得到列表。

wmic产品在哪里“名称

但是,例如,Microsoft Visual C ++ 2010作为Windows更新的一部分进行安装,该更新不在“添加/删除程序”下列出。

fork()是否真的在内部调用clone()?

获取所有版本的win的c + + win32操作系统?

如何将一个二进制文件刻录到通过Windows 10专业版64位上的软盘USB插入的软盘扇区0

在Windows任务pipe理器中,“VM Size”是什么意思?

打印到屏幕上导致切换到内核模式并在Unix中运行OS代码

Microsoft Visual C ++ 2010已列在registry中在这里,我需要使用VBScript或其他任何软件获得这些软件的列表。

我需要Windows 2008 R2标准操作系统的脚本。

任何一种方向或解决scheme将是巨大的帮助。

提前致谢。

以pipe理员身份运行Go程序

在不同的操作系统上有没有“免费”的testing方法

我如何知道Linux进程正在等待什么?

内核抢占同时持有自旋锁

Unix套接.sock文件

您需要使用wmi注册表类来枚举注册表中的键。

StdRegProv类的EnumKey方法EnumKey方法枚举路径的子项。 有关通过WMI访问注册表的一般信息,请参阅获取注册表数据。

主题使用托管对象格式(MOF)语法。 有关使用此方法的信息,请参阅调用方法

uint32 EnumKey( uint32 hDefKey = 2147483650,string sSubKeyName,string sNames[] );

参数hDefKey [in,optional]包含sSubKeyName路径的注册表树,也称为配置单元。 认值是HKEY_LOCAL_MACHINE。 请注意HKEY_DYN_DATA是仅适用于Windows 95和Windows 98计算机的有效树。

Winreg.h中定义了以下树。

Name Value HKEY_CLASSES_ROOT 2147483648 0x80000000 HKEY_CURRENT_USER 2147483649 0x80000001 HKEY_LOCAL_MACHINE 2147483650 0x80000002 HKEY_USERS 2147483651 0x80000003 HKEY_CURRENT_CONfig 2147483653 0x80000005 HKEY_DYN_DATA 2147483654 0x80000006

sSubKeyName [in]包含要枚举的子项的路径。 sNames [out]一组子键字符串。 返回值在C ++中,如果成功,该方法将返回一个为0(零)的uint32值。 如果函数失败,则返回值是在Winerror.h中定义的非零错误代码。 在C ++中,可以使用FormatMessage函数和FORMAT_MESSAGE_FROM_SYstem标志来获取错误的通用描述。 您也可以在WMI错误常量下查找返回值。 在脚本或Visual Basic中,如果成功,该方法返回一个整数值0(零)。 如果函数失败,返回值是一个非零的错误代码,您可以在WbemErrorEnum中查找。

示例代码

有关脚本代码示例,请参阅WMI任务:注册表和TechNet ScriptCenter脚本存储库。 其他示例在“其他信息”中列出的书籍和文章中。

有关C ++代码示例,请参阅WMI C ++应用程序示例。

以下VBScript示例显示如何使用EnumKey方法枚举在注册表项中列为子项的服务:

HKEY_LOCAL_MACHInesYstemCurrentControlSetServices

您可以将脚本另存为扩展名为.vbs的文件,然后通过执行包含该脚本的文件夹中的命令行将输出发送到文件:cscript Filename.vbs> output.txt

const HKEY_LOCAL_MACHINE = &H80000002 strComputer = "." Set objReg=Getobject("winmgmts:{impersonationLevel=impersonate}!\"&_ strComputer & "rootdefault:StdRegProv") strKeyPath = "SYstemCurrentControlSetServices" objReg.EnumKey HKEY_LOCAL_MACHINE,strKeyPath,arrSubKeys WScript.Echo "Subkeys under " _ & "HKEY_LOCAL_MACHInesYstemCurrentControlSetServices" For Each subkey In arrSubKeys WScript.Echo subkey Next

这解释了它的存储位置。

开始 – 所有程序 – 附件 – 右键单击​​命令提示符并选择以管理员身份运行。 键入(或通过右键单击命令提示符窗口并选择粘贴复制并粘贴)。 键入表格格式

wmic /output:"%userprofile%desktopWindowsInstaller.html" product get /format:htable

或以表格格式

wmic /output:"%userprofile%desktopWindowsInstaller.html" product get /format:hform

它会在桌面上创建一个html文件

注意

这不是一个完整的列表。 这只是与Windows安装程序一起安装的产品。 没有任何功能的一切。

但正如我在我以前的文章中所说的几乎所有东西都在注册表中列出。

所以要在命令提示符下看到它

reg query HKLMSOFTWAREMicrosoftwindowsCurrentVersionUninstall /s

或者在一个文件

reg query HKLMSOFTWAREMicrosoftwindowsCurrentVersionUninstall /s>"%userprofile%desktopWindowsUninstall.txt"

以不同的格式在记事本中查看它

点击开始 – 所有程序 – 附件 – 右键单击​​命令提示符并选择以管理员身份运行。 键入Regedit并导航到

HKEY_LOCAL_MACHInesOFTWAREMicrosoftwindowsCurrentVersionUninstall

右键单击卸载键,然后选择导出。 如果保存为reg文件(也有文本文件,它们的文本格式略有不同),则需要右键单击文件并选择“编辑”以查看它。

查看Windows更新

wmic /output:"%userprofile%desktopWindowsUpdate.html" qfe get /format:htable

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐