問題タブ [windows-defender]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
excel - Windows 10 でのみ Windows Defender がマクロを極端に遅くする
簡単に言えば、建物のエネルギー需要を計算する大規模な VBA プログラムを作成しました。ここに投稿するには多くのコードが必要ですが、最初に各建物の構成ファイルを読み取り、次にディスクからいくつかの熱負荷プロファイルを読み込み、35040 15 時間、どの熱生産者がどの熱量を生成するかを動的に計算します。
Windows Defender を搭載した Windows 7 では、Excel のバージョン (2007、2010、2013、365 テスト済み) に関係なく、スムーズに動作します。
現在、Windows 10 と Windows Defender (Excel 365) を搭載したコンピューターで同じコードを実行すると、信じられないほど遅くなります (1000 倍程度に感じられます)。そして奇妙なことに、すべてがずっと遅く、特定の手順やイベントではありません。ディスクからのファイルとプロファイルの読み込みには永遠に時間がかかりますが、ループ (ドライブとの間で何も転送されない場所) で必要なエネルギーを計算するのも非常に遅くなります。GUI はまったく更新されず、アプリケーション全体がフリーズしているように見えます。
同時に MsMpEng.exe が完全にロードされ、Windows Defender に問題があることを示唆しています。そして驚いたことに、Windows Defender をオフにすると、すべてが正常に動作します。
さて、非常に多くのクラス/モジュール/などがあるためです。何が問題なのかはわかりませんが、コードをアップロードできません。しかし、少なくとも私は疑いを持っています。すべてのクラスには、ここに示すように実装された親プロパティがあり ます。親プロパティは非常に頻繁にコード全体で呼び出されるため、CopyMemory-API/関数に問題があった場合、極端な速度低下は理にかなっています。
更新 1 : CopyMemory-Function を削除し、すべての親を循環参照に置き換えました。これは長期的な解決策ではありませんが、問題の一部は解決しました。十分に長く待つと、ある時点で計算が開始され、想定どおりに高速になります。したがって、問題は一般的にAPI関数に関連している可能性があります。これは、GUIにかなりの量を使用しているためです。
Update 2(これにより、トピックが解決されます):
プログラムのロード部分に時間がかかった理由は、JSON-Converterを使用したためです。そして、同様の問題があったことが判明しました。モジュールを更新し、他のすべての API 呼び出しを削除したので、すべてが正常にスムーズに実行されます。したがって、API 呼び出しが原因であることは間違いありませんが、大きなパフォーマンスの問題について不平を言う人がそれほど多くない理由はわかりません。そして今、私が望んでいない方法で GUI を微調整することはできず、親プロパティを適切に実装する方法が本当にわかりません。
powershell - Powershell で Start-MpScan を使用して 1 つのファイルをスキャンすると、コンテキスト メニュー オプションを使用するよりも時間がかかるのはなぜですか?
現在、Windows Defender を使用してさまざまなファイルをスキャンするためのスクリプトを作成しています。Microsoft Docs のドキュメント - StartMpScanを読みましたが、単一のファイルまたはフォルダーをスキャンしようとすると問題が発生します。
ドキュメントで-ScanPath
は、選択的スキャンを示すために使用するように指示されているため、次のようになります。
Start-MpScan -ScanPath "C:\Path\To\File\or\Folder"
ただし、スキャンを実行すると、単一の 1kb ファイル、または内部にいくつかの 1kb ファイルを含むフォルダーをスキャンするのに 5 ~ 10 分以上かかる場合があります。これは、クイックスキャンを使用している場合でも当てはまります。これには何か問題があると考えたので、これらのファイルのいずれかで右クリックのコンテキスト オプションを使用して「Windows Defender でスキャン...」を試みたところ、ほぼ瞬時にスキャンされました。
これらは私の現在の仕様です:
OS: Windows 10 教育版
OS バージョン: 1903
OS ビルド: 18362.476
Powershell バージョン: 6.2.3
構文に何かが欠けているのでしょうか、それともそれほど賢くないのでしょうか?