如何在 powershell 中使用命令 Get-WUHistory -ComputerName Server1 和凭据?

问题描述

我需要检索特定服务器上安装的所有更新的历史记录。为此,我在 ServerA 中安装了模块 PSWindowsUpdate。但是,我需要使用一个特定用户,该用户可以访问我网络中的所有机器以获取所有机器的更新历史记录。 我已经尝试在另一台也有 PSWwindowsUpdate 模块的机器 (ServerB) 上执行以下操作:

 Invoke-Command -ComputerName ServerA -ScriptBlock{Get-WUHistory -ComputerName Server1} -Credential $Cred

(注意 $Cred 已经配置了用户名密码) 但是,即使该命令在不使用 Invoke-Command 的情况下在 ServerA 和 Server B 中工作,也会返回一个错误,指出访问被拒绝。为什么会这样?我需要特定的用户权限吗? $Cred 中指定的用户已经拥有管理员权限。

我还尝试使用预制脚本,例如:

 function Get-WuaHistory
{


  $session = (New-Object -ComObject 'Microsoft.Update.Session')


 $history = $session.QueryHistory("",1000) | ForEach-Object {
 $Result = Convert-WuaResultCodetoName -ResultCode $_.ResultCode


 $_ | Add-Member -MemberType NoteProperty -Value $Result -Name Result
 $Product = $_.Categories | Where-Object {$_.Type -eq 'Product'} | Select-Object -First 1 -ExpandProperty Name
 $_ | Add-Member -MemberType NoteProperty -Value $_.UpdateIdentity.UpdateId -Name UpdateId
 $_ | Add-Member -MemberType NoteProperty -Value $_.UpdateIdentity.RevisionNumber -Name RevisionNumber
 $_ | Add-Member -MemberType NoteProperty -Value $Product -Name Product -Passthru

 Write-Output $_
 } 

(这个脚本可以在不同的网站上找到)但是这个脚本看起来一遍又一遍地返回相同的更新,而不是在 Get-WUHistory 中返回的内容

我不确定应该使用什么来获得与 get-WUHistory 相同的输出,或者当我通过凭据远程使用该命令时,为什么该命令不起作用。有人可以帮我解决这个话题吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)