2017-05-09 37 views
1

こんにちは私は小さなスクリプトを実行していますAdd-MpPreferenceを使用して小さなpowershellを実行します。私の場合、時々私はウィンドウ10にいくつかのパスを入れたいので、私はやっていましたが、私は手動で行う必要があります。だから私はそれを自動化しようとしていた。Add-MpPreferenceは名前として認識されません

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 

何を意味すると、このエラーだ:

ShellExecute("powershell", '-noexit Add-MpPreference -ExclusionPath C:/') 

エラーリターンは私です:私はこれをしませんでしたか?または修正することができますか?

+0

これは役に立ちますか? http://stackoverflow.com/questions/34148182/not-recognizing-script-name-as-cmdlet-function-etc-nor-can-positional-peramet – Xenobiologist

答えて

2

私も同様の問題がありました。 PowerShellを64ビットOS上の32ビットモードで実行すると、Add-MpPreferenceコマンドが見つからないことがわかりました。

Powershellコンソールを32ビットモードで開き、この機能を呼び出すと簡単に再作成できます。同じエラーが発生します。

問題は、32ビットとして実行されていたC#コードからPowershellスクリプトを実行していたために発生しました。これにより、32ビットバージョンとも呼ばれるpowershell.exeが発生しました。

64ビットバージョンを呼び出すようにコードを調整してから、コマンドが見つかりました。これは、それがここにCからPowerShellを実行しなければならないのために

:\ Windowsの場合\ SysNative \ WindowsPowerShell \ PowerShellの訪問のバージョンを設定する方法の詳細についてはv1.0のの\たpowershell.exe

http://www.madwithpowershell.com/2015/06/64-bit-vs-32-bit-powershell.html

関連する問題