gpt4 book ai didi

windows - 是否可以使用 powershell 中的 QueryHistory 查询远程计算机上的 Windows 更新

转载 作者:可可西里 更新时间:2023-11-01 10:42:16 25 4
gpt4 key购买 nike

在有人思考之前,嘿这个问题很容易回答(=> 是...)请继续阅读...

我知道,我们可以使用(例如)以下代码从远程计算机获取 "Microsoft.Update.Session"的实例

[activator]::CreateInstance([type]::GetTypeFromProgID("Microsoft.Update.Session",$ComputerName))

这适用于其他操作,例如搜索已安装 IsInstalled = 0 的更新。

要获得所有更新的完整列表(还有待定等),互联网上有很多示例,甚至在stackoverflow 上也有。 .

他们都写信来做以下事情

$Session = [activator]::CreateInstance([type]::GetTypeFromProgID("Microsoft.Update.Session",$ComputerName))
$Searcher = $Session.CreateUpdateSearcher()
$TotalUpdatesCount = $Searcher.GetTotalHistoryCount()
$TotalUpdates = $Searcher.QueryHistory(0, $TotalUpdatesCount)

它似乎正在工作,因为没有错误....我们有一个很好的(大)更新列表...

我的问题是,QueryHistory(int, int) 返回的结果始终相同...无论我在 处输入什么 $ComputerName >CreateInstance(...GetTypeFromProgID(..., $ComputerName)) 部分

并且没有人在所有提供示例的网站上都提到了这一点,我相信他们都使用了代码本地,因为在该范围内它返回了正确的值...

在深入调查并阅读 MSDN 之后,我在 https://msdn.microsoft.com/en-us/library/windows/desktop/bb394842(v=vs.85).aspx 上发现了以下声明

Note that QueryHistory supports per-machine updates only.

总而言之,

我的问题是:是否可以在 Powershell 中使用 QueryHistory 来获取远程计算机上的更新列表 (无需调用...需要 PSRemoting.../或工具像 psexec...) 如果是,怎么做?

最佳答案

同样的问题。我仍然无法弄清楚,但我想出的最后一个方法是:

  1. 使用运行 QueryHistory 所需的代码编写一个 ps1 脚本
  2. 编写另一个 ps1 脚本,在远程机器上创建一个进程,使用

    Invoke-WmiMethod -class Win32_process -name Create -ArgumentList $cmd_command_string -Computername $computerName -erroraction Stop -Credential $credential
  3. 这是 $cmd_command_string:它基本上是打开一个 cmd 来触发 powershell

    $cmd_command_string="cmd /C powershell.exe -EncodedCommand " + $ps_command_stringEncoded + " >> C:\Windows\output.log"
  4. 现在编写读取您编写的第一个 ps1 的代码,将其放入字符串中并以 base64 对其进行编码(这就是上面代码块中的 $ps_command_stringEncoded)
  5. 等待进程结束,然后检索输出文件。

对我来说似乎是合法的,但不知何故我无法让它发挥作用。如果有人想尝试一下...

编辑:我最终在远程机器上复制了一个 VBS 脚本,从该脚本调用 QueryHistory,将输出写入文件,然后检索该远程文件。脏,但它有效。

关于windows - 是否可以使用 powershell 中的 QueryHistory 查询远程计算机上的 Windows 更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46524704/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com