所有人!
我在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干净时,一切都很好。
总而言之:
请帮助)