2
私はWin32_Processで特定のアプリケーションを探す小さなVBScriptを持っています。これはどんな遅れでも動作していましたが、最近の2017年の1GB + Windows 7のアップデート以降、このプロセスは数秒で数行を返すようになりました。Win32_ProcessがWindows 7(2017)のアップデートから遅いです。
私はコードをスクリプトに分解しました。このスクリプトはクエリを実行し、Win32_Processへの呼び出しのどちらかの側にMsgBoxを含めました。これは間違いなく問題です。
テストスクリプトは共有場所にあり、Windows 10およびWindows 8.1環境からテストスクリプトを実行しています。最初のMsgBoxを確認するとすぐに、両方とも遅れなくすぐに戻ります。
ここでは、コードI'meランニングです:
strProcessSQLQuery = "SELECT * FROM Win32_Process WHERE " & _
"Name = 'WScript.exe' OR Name = 'CScript.exe'" & _
" OR " & _
"Name = 'mshta.exe'" & _
" OR " & _
"Name = 'mstsc.exe'" & _
" OR " & _
"Name = 'prowin32.exe' OR Name = 'prowc.exe'"
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Msgbox "Query Starting"
Set objProcessElements = objWMIService.ExecQuery (strProcessSQLQuery)
Msgbox "Query Completed: " & objProcessElements.Count
これは1つの特定のシステムにのみ存在するのですか?これは複数のシステム間で発生していますか? –
私はこれも、Windows 7を実行している別のPCでテストしました。また、このアップデートにもこの遅れが発生しています。もともとは私のADログインのセキュリティ上の問題かもしれないと思っていましたが、自分自身や他のユーザーとしてWindows 8.1とWindows 10 PCにログインしていて、どちらも期待どおりに動作します。このプロセスはServer 2012環境でも実行されており、上記のスクリプトを使用してもラグは発生していません。 – DuaneRRR
私はまだ最新のパッチで更新されていないWindows 7 PCを探し出し、同じスクリプトを実行しています。レスポンスはゼロラグで瞬間的です。 Win32_Processがどのようにクエリを処理しているのかに影響を与えていますが、そのコードを回避する方法や代替方法を見つける方法がないので、何かが変化していると私は確信しています。 – DuaneRRR