Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 通过编程从Windows计算机获取所有更新_C#_Powershell_Wmi - Fatal编程技术网

C# 通过编程从Windows计算机获取所有更新

C# 通过编程从Windows计算机获取所有更新,c#,powershell,wmi,C#,Powershell,Wmi,我正在寻找从工作站或服务器(Microsoft Windows)获取所有更新的方法 当我看控制面板时→ 程序→ 节目及特色→ 安装的更新我还可以看到Visual Studio和其他产品的更新 例如: Visual Studio 2015 Update 3 (KB3022398) Update for Microsoft Visual Studio 2015 (KB3165756) 获取修补程序 获取WmiObject-类“Win32\u QuickfixEngineering” 任何关于如何

我正在寻找从工作站或服务器(Microsoft Windows)获取所有更新的方法

当我看控制面板时→ 程序→ 节目及特色→ 安装的更新我还可以看到Visual Studio和其他产品的更新

例如:

Visual Studio 2015 Update 3 (KB3022398) Update for Microsoft Visual Studio 2015 (KB3165756)
获取修补程序
获取WmiObject-类“Win32\u QuickfixEngineering”
任何关于如何以编程方式获取所有更新的帮助都将不胜感激。

如果您使用的是C#,您可以使用
WUApiLib

Type t = Type.GetTypeFromProgID("Microsoft.Update.Session", 
UpdateSession UpdateSession = (UpdateSession)Activator.CreateInstance(
IUpdateSearcher UpdateSearchResult = UpdateSession.CreateUpdateSearcher();
UpdateSearchResult.Online = true;
ISearchResult SearchResults = UpdateSearchResult.Search("IsInstalled=1 AND IsPresent=1");
第二个选项是从下面提到的注册表项读取信息

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

似乎与C#无关?或者C#解决方案也可以,不仅仅是powershell one?任何.NET(C#)、powershell、WMI或CMD行方式都可以为我提供:)已经有一个名为WSUS的Microsoft更新管理工具,它甚至可以进行报告。嗨,比尔,我知道WSUS,但我正在寻找一些可以在几乎任何Windows操作系统上运行的简单代码,无论它是否在WSUS下。