WMI 查询系统中安装的修补程序列表?

发布于 2024-09-17 18:37:46 字数 211 浏览 7 评论 0原文

我正在编写一个 perl 脚本,它将列出我的系统中安装的修补程序,并在开始我的程序之前检查是否有任何先决修补程序不可用;

所以我需要能够枚举系统中的修补程序列表; 这里有提到使用wmic生成html文件。是否可以通过 WMI 查询来执行此操作?

I am writing a perl script that will list the hotfixes installed in my system and check if any pre-requisite hotfixes are not available before beginning my program;

So I need to be able to enumerate the list of hotfixes in the system; Here there is a mention of using wmic to generate a html file. Is it possible to do this via a WMI query?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

離人涙 2024-09-24 18:37:46

我自己已经找到了答案!
此处提供了一个 vbscript 选项。

Perl 版本是这样的..

use Win32::OLE qw( in );
my $machine = ".";
my $WMIServices = Win32::OLE->GetObject ( "winmgmts:{impersonationLevel=impersonate,(security)}//$machine/root/cimv2" ) || die "cant call getobject";
my $HotFixCollection = $WMIServices->ExecQuery ( "select * from Win32_QuickFixEngineering" ) || die "Query Failed";

foreach my $hotfix ( in( $HotFixCollection )){
 $hotfixID = $hotfix->{HotFixID};
 print "Hotfix id is $hotfixID \n";
}

I have figured out the answer for this myself!!
There is a vbscript option provided here.

The perl version goes like this..

use Win32::OLE qw( in );
my $machine = ".";
my $WMIServices = Win32::OLE->GetObject ( "winmgmts:{impersonationLevel=impersonate,(security)}//$machine/root/cimv2" ) || die "cant call getobject";
my $HotFixCollection = $WMIServices->ExecQuery ( "select * from Win32_QuickFixEngineering" ) || die "Query Failed";

foreach my $hotfix ( in( $HotFixCollection )){
 $hotfixID = $hotfix->{HotFixID};
 print "Hotfix id is $hotfixID \n";
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文