PS> .enable-msi.ps1 <vendor-id>:<device-id> [<vendor-id>:<device-id> ...]
PS> .enable-msi.ps1 10DE:1D01 8086:A348
Processing device 10DE:1D01.
└ Found instance: VEN_10DE&DEV_1D01&SUBSYS_8C981462&REV_A14&3335b6e8&0&00E0
MSI is currently disabled; turning it on.
Processing device 8086:A348.
└ Found instance: VEN_8086&DEV_A348&SUBSYS_1A1D15D9&REV_105&226b9205&0&E008F0
MSI is already enabled; skipping instance.
Como o sinalizador MSI de um dispositivo é redefinido sempre que o driver é atualizado, definir o script para ser executado automaticamente no desligamento/inicialização garante que o MSI permaneça ativado.
Decida se deve implantar como um script de desligamento ou inicialização. O desligamento é recomendado, pois o MSI é ativado na próxima inicialização, enquanto isso leva uma reinicialização extra com um script de inicialização.
Instale enable-msi.ps1
a \<domain>SYSVOL<domain>Policies<policy-guid>MACHINEScripts<Shutdown|Startup>
.
No editor de gerenciamento de políticas de grupo ( gpedit.msc
):
Configuração do computador ➡ Políticas ➡ Configurações do Windows ➡ Scripts (startup/desligamento) ➡ < Shutdown | Startup > ➡ PowerShell Scripts ➡ Adicionar ...
enable-msi.ps1
<vendor-id>:<device-id> [<vendor-id>:<device-id> ...]
(por exemplo 10DE:1D01 8086:A348
) O script encontra dispositivos com os IDs PCI fornecidos no registro e define sua propriedade MSISupported
como 1
, criando teclas intermediárias conforme necessário.
HKLMSYSTEMCurrentControlSetEnumPCI<device-instance-path>Device ParametersInterrupt ManagementMessageSignaledInterruptProperties
MSISupported
(dword): 0
➡ 1