您好我正在做一个小脚本将使用Add-MpPreference
运行一个小型PowerShell。在我的情况下,我在做,因为有时我想在我的Windows 10中包含一些路径,但我必须手动完成。所以我试图让它自动化。我这样做了:
ShellExecute("powershell", '-noexit Add-MpPreference -ExclusionPath C:/')
错误返回我:
The term 'Add-MpPreference' is not recognized as the name of a cmdlet, function
, script file, or operable program. Check the spelling of the name, or if a pat
h was included, verify that the path is correct and try again.
At line:1 char:17
+ Add-MpPreference <<<< -ExclusionPath C:/
+ CategoryInfo : ObjectNotFound: (Add-MpPreference:String) [], Co
mmandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
这个错误是什么意思?或者可以修复?
答案 0 :(得分:5)
我有类似的问题。我发现在64位操作系统上以32位模式运行Powershell时,它找不到命令Add-MpPreference。
您可以通过在32位模式下打开Powershell控制台轻松重新创建此项并调用此函数。它会给出同样的错误。
出现此问题的原因是我从运行为32位的C#代码运行Powershell脚本。这导致被调用的powershell.exe也是32位版本。
我调整了代码以调用64位版本,然后找到命令。
为了做到这一点,让它从这里运行Powershell C:\ Windows \ SysNative \ WindowsPowerShell \ v1.0 \ powershell.exe
有关如何设置powershell版本的更多信息,请访问http://www.madwithpowershell.com/2015/06/64-bit-vs-32-bit-powershell.html