我很新的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进程正在等待什么?
内核抢占同时持有自旋锁
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
注意
这不是一个完整的列表。 这只是与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] 举报,一经查实,本站将立刻删除。