質問: 's answer は、私がこれまで行ってきたことを正確に説明しています。再起動するたびにチェックボックスが再度マークされるので、永久に無効にする方法を探しています。[〜#〜] edit [〜#〜]:読んだ後 synetech の answer 、次のように設定を変更すると、変更されたレジストリエントリを追跡できました。hkey_local_machine\system\currentcontrolset\enum\flusb\root_hub_fl30\5&f0b5d82&1\device parameters\wdf\idleinworkingstate (dword) このキーは、チェックボックスをオフにしたとき、およびプロセスシステムによってデバイスを非アクティブ化および再アクティブ化したときに、管理コンソールによって変更されます。残念ながら、承認の設定は不思議に無視されており、すべての特権をすべてのユーザーに拒否しても、キーは常に1に設定されています。オンラインで検索してみたところ、 このmicrosoftガイド が見つかりました。彼らが説明したすべてのキーを設定しようとしても役に立たず、これらのキーは無視されているようです。オンラインで見つかった既存の。infからキーの正しいパスをコピーしようとしました(どのキーを/wdfに置き、どのキーを親に置きます)。 this のようですが、何も得られませんでした。その他の役立つ情報: hkey_local_machine\system\currentcontrolset\enum\flusb\root_hub_fl30\の下には、5&f0b5d82&0と5&21f33a01&0という2つの声があります。これは、上記のキーの構成を反映しているようです。ただし、idleinworkingstateの唯一の変更点は、上記のものです。 レジスタを手動で編集しても、デバイスマネージャのチェックボックスの値は変更されず、どこかにキャッシュする必要があります。
回答: 他の解決策はどれも機能していないため、次の回避策で解決しました。設定を無効にするpowershellスクリプトインターネットで見つけたスクリプトを編集して、私はこれを作成しました:c:\ powermgmt.ps1$hubs = get-wmiobject win32_usbhub $powermgmt = get-wmiobject mspower_deviceenable -namespace root\wmi | where {$_.instancename.contains($hubs.pnpdeviceid)} foreach ($p in $powermgmt) { $p.enable = $false $p.psbase.put() } 昇格した特権で起動時に実行する上記のスクリプトには昇格された特権が必要なため、windows 7のタスクスケジューラでタスクを作成し、ユーザーとしてログインしたときに次のスクリプトを(ユーザーadministratorとして)実行しました。c:\ powermgmt.cmdpowershell -file c:\powermgmt.ps1 この全体は少しハックです。エレガントではなく、問題を理解するのに役立ちませんが、解決します。