使用 Powershell/批处理命令卸载 MS Office 更新 ( 知识库文章 )



有没有一种干净的方法可以使用Batch/PowerShell命令卸载MS Word KB文章?

背景:

我一直在尝试卸载一个知识库文章 (KB4475558( MS Word 2013.作为手动团队解决方案的一部分,谁想要卸载所有新安装的知识库文章。我成功地尝试安装多篇知识库文章。但是卸载一直很棘手。

到目前为止尝试过,

方法1:wusa /uninstall /KB:4475558wusa.exe /uninstall /kb:4475558 /norestart /quiet---- 它给出"此操作仅对当前安装的产品有效"错误。

方法 2:使用 GUID

Msiexec /I {90150000-006E-0401-1000-0000000FF1CE} MSIPATCHREMOVE={80BC2A33-0ADF-4731-AC75-046BA9B6B7AF} /qb---- 它给出"此操作仅对当前安装的产品有效"错误。

方法3:

通过下面的链接使用Microsoft.Update.Searcher,

PowerShell:如何查找和卸载 MS Office 更新

-- 不起作用。

你能帮我解决这些问题吗:

1:我已经手动安装了这些知识库文章,我可以手动卸载它:但是通过脚本,它显示了上述错误。为什么会这样?

2: 我可能缺少其他方法吗?

注意: MS Office不仅安装了MS word和共享点,我的机器中没有可用的Trail版本。 我也尝试过重新启动机器一次,但无济于事。

任何帮助都会非常有帮助!谢谢

您是否尝试过使用批处理文件从注册表卸载密钥解析卸载字符串?我通常不推荐这种方法,但总比没有好。

@(For /F "Delims=" %%G In (
'^""%__AppDir__%reg.exe" Query "HKLMSOFTWAREMicrosoftWindowsCurrentVersionUninstall" /S /F "(KB4475558)" /D 2^>NUL^|Find "{"^"'
)Do @For /F "Tokens=2*" %%H In ('^""%__AppDir__%reg.exe" Query "%%G" /V "UninstallString" 2^>NUL^"')Do @Echo(%%I)&Pause

如果您对结果感到满意,可以修改代码以尝试卸载它(您可能需要运行脚本或命令"以管理员身份"(

从批处理文件:

@For /F "Delims=" %%G In (
'^""%__AppDir__%reg.exe" Query "HKLMSOFTWAREMicrosoftWindowsCurrentVersionUninstall" /S /F "(KB4475558)" /D 2^>NUL^|Find "{"^"'
)Do @For /F "Tokens=2*" %%H In ('^""%__AppDir__%reg.exe" Query "%%G" /V "UninstallString" 2^>NUL^"')Do @%%I

或来自CMD:

For /F "Delims=" %G In ('""%__AppDir__%reg.exe" Query "HKLMSOFTWAREMicrosoftWindowsCurrentVersionUninstall" /S /F "KB4475558" /D 2>NUL|Find "{""')Do @For /F "Tokens=2*" %H In ('""%__AppDir__%reg.exe" Query "%G" /V "UninstallString" 2>NUL"')Do @Echo(%I

如果您尝试为办公产品的所有 KB 更新执行此操作,则类似这样的事情可能会让您接近:

@(For /F "Delims=" %%G In (
'^""%__AppDir__%reg.exe" Query "HKLMSOFTWAREMicrosoftWindowsCurrentVersionUninstall" /S /F "0FF1CE}_Office" /K 2^>NUL^|Find "{"^"'
)Do @For /F "Tokens=2*" %%H In ('^""%__AppDir__%reg.exe" Query "%%G" /V "UninstallString" 2^>NUL^"')Do @Echo(%%I)&Pause

如果您对结果感到满意,可以修改代码以尝试卸载它(您可能需要运行脚本或命令"以管理员身份"(

从批处理文件:

@(For /F "Delims=" %%G In (
'^""%__AppDir__%reg.exe" Query "HKLMSOFTWAREMicrosoftWindowsCurrentVersionUninstall" /S /F "0FF1CE}_Office" /K 2^>NUL^|Find "{"^"'
)Do @For /F "Tokens=2*" %%H In ('^""%__AppDir__%reg.exe" Query "%%G" /V "UninstallString" 2^>NUL^"')Do @Echo(%%I)&Pause

或来自CMD:

For /F "Delims=" %G In ('""%__AppDir__%reg.exe" Query "HKLMSOFTWAREMicrosoftWindowsCurrentVersionUninstall" /S /F "0FF1CE}_Office" /K 2>NUL|Find "{""')Do @For /F "Tokens=2*" %H In ('""%__AppDir__%reg.exe" Query "%G" /V "UninstallString" 2>NUL"')Do @%I

请注意,上面的示例仅解析注册表项HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionUninstall。可能还有其他位置,例如HKEY_LOCAL_MACHINESOFTWAREWow6432NodeMicrosoftWindowsCurrentVersionUninstall保存您所需的信息。

相关内容

  • 没有找到相关文章

最新更新