【解決方法】C# で powershell を使用して Windows Defender のフォルダー除外を追加する

プログラミングQA


こんにちは、みんな、
C# で PowerShell を使用して、Windows Defender のフォルダー除外を追加しようとしています。
これは、パスが短い場合にのみ機能します。たとえば、次のようになります。
「C:\新しいフォルダ」
パスが少し長い場合は機能しません。たとえば、次のようになります。
「C:\新規フォルダ\新規フォルダ1」
どうしたの? 誰か助けてください。 ありがとうございました。
以下は、フォルダーパスが短い場合にのみ正常に機能する私のコードです。

私が試したこと:

C#
private void addFolderToExclusion()
         {
             try
             {
                FolderBrowserDialog fbd = new FolderBrowserDialog();
                if (fbd.ShowDialog() == System.Windows.Forms.DialogResult.OK)              
                string path = openFileDialog1.FileName;
                startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
                startInfo.FileName = "powershell.exe";
                startInfo.Arguments = "-command \"Add-MpPreference -ExclusionPath " + path + "\"";
                process.StartInfo = startInfo;
                process.Start();
                process.WaitForExit();
             }
             catch
             {    
             }
         }

解決策 1

レジストリの LOCAL_MACHINE ブランチを編集するには管理者権限が必要ですか?

私はたった3時間前にあなたに言った: レジストリにフォルダ パスを設定します – 問題がありますか? C#[^] ――当時も状況は変わっていません。

どのアプリを使用しようとしても問題ありません。そのためには UAC と管理者権限が必要です。

解決策 2

フォルダーの名前にスペースが含まれている場合は、「パス」を使用する必要があります。
これを試して:

startInfo.Arguments = “-command \”Add-MpPreference -ExclusionPath ‘” + パス + “‘\””;

パスの前後に ‘ を追加

コメント

タイトルとURLをコピーしました