Get-MpPreference在Windows 8.1上不起作用

时间:2018-07-02 15:13:08

标签: c++ windows-8.1 wmi windows-defender

所有人!

我在Windows 8.1上,并且尝试通过Powershell使用Windows Defender WMI提供程序。当我运行Get-MpPreference cmdlet时,它失败并显示以下消息:

Get-MpPreference : The 'Get-MpPreference' command was found in the module 'Defender', but the module could not be loaded. For more information, run 'Import-Module Defender'. At line:1 char:1 + Get-MpPreference + ~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (Get-MpPreference:String) [], CommandNotFoundException + FullyQualifiedErrorId : CouldNotAutoloadMatchingModule

按照我尝试的Import-Module Defender给出的说明,

Import-Module : The module to process 'MSFT_MpWDOScan.cdxml', listed in field 'NestedModules' of module manifest 'C:\Windows\system32\WindowsPowerShell\v1.0\Modules\Defender\Defender.psd1' was not processed because no valid module was found in any module directory. At line:1 char:1 + Import-Module Defender + ~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ResourceUnavailable: (Defender:String) [Import-Module], PSInvalidOperationException + FullyQualifiedErrorId : Modules_ModuleFileNotFound,Microsoft.PowerShell.Commands.ImportModuleCommand

我已经看过this similar question on SO。它提到了Add-MpPreference cmdlet,但本质问题是相同的。

不幸的是,这个问题没有一个真实的答案,有两个答案很接近:将MSFT_MpWDOScan.cdxml文件复制到Defender模块文件夹中以使其正确加载,然后将其标记为答案,它只是告诉您探索WMI Defender的命名空间我已经做了一段时间了。问题仍然存在,尽管模块可以正常加载,但是实际的cmdlet(Add-或Get- MpPreference以及所有其他类似的东西)只是返回而没有任何数据(但也没有错误)。

按照其他一些有用的WMI指南,我尝试使用wbemtest探索实际的“ root \ microsoft \ windows \ defender”命名空间。使用该工具,我看到没有MSFT_MpPreference类的单个实例。而且上述cmdlet只是需要实例运行的WMI方法的代理。

该问题似乎仅在Windows 8.1上发现,并且所提到的问题实际上有一个答案,告诉您某个2017年4月的月度汇总破坏了Defender模块。我个人在工作中的Win8.1笔记本电脑和测试VM(也包括Win8.1)上遇到了它。顺便说一句,当VM干净时,一切都很好。

总而言之:

  1. Get-MpPreference和其他一些类似的cmdlet(已直接映射到MSFT_MpPreference实例方法)返回有关损坏的模块的错误。
  2. 该模块可以修复,但是问题仍然存在,cmdlet运行但不返回任何内容。
  3. 浏览WMI Defender的命名空间将发现该类没有提供Get-Mpprefence方法的实例。

请帮助)

0 个答案:

没有答案