Visão geral
Tivemos esse problema em alguns servidores virtuais migrados de um provedor de "nuvem" de volta para nosso data center interno. A causa raiz foi as permissões para a %SystemRoot%\System32\catroot2
pasta. Havia várias diferenças entre as permissões nessa pasta em um servidor íntegro e as do servidor migrado. Eu acredito que o principal era que TrustedInstaller
não tinha full access
.
Sintomas adicionais
Observando o log do aplicativo no visualizador de eventos, vimos vários erros:
Source: CAPI2
EventId: 257
Text: The Cryptographic Services service failed to initialize the Catalog Database. The ESENT error was: -1032.
Source: ESENT
EventId: 490
Text: Catalog Database (416) Catalog Database: An attempt to open the file "C:\Windows\system32\CatRoot2\{127D0A1D-4EF2-11D1-8608-00C04FC295EE}\catdb" for read / write access failed with system error 5 (0x00000005): "Access is denied. ". The open file operation will fail with error -1032 (0xfffffbf8).
A pista está no texto do erro ESENT; isto é, as permissões emitem para acessar um arquivo na pasta catroot2.
Resolução
Dê à conta do Trusted Installer controle total para a pasta catroot2 e seus filhos.
Caso isso não seja suficiente, para comparação, a execução icacls %systemroot%\system32\catroot2
em um servidor íntegro fornece:
C:\Windows\system32\catroot2 NT SERVICE\CryptSvc:(F)
NT SERVICE\CryptSvc:(OI)(CI)(IO)(F)
NT SERVICE\TrustedInstaller:(I)(F)
NT SERVICE\TrustedInstaller:(I)(CI)(IO)(F)
NT AUTHORITY\SYSTEM:(I)(F)
NT AUTHORITY\SYSTEM:(I)(OI)(CI)(IO)(F)
BUILTIN\Administrators:(I)(F)
BUILTIN\Administrators:(I)(OI)(CI)(IO)(F)
BUILTIN\Users:(I)(RX)
BUILTIN\Users:(I)(OI)(CI)(IO)(GR,GE)
CREATOR OWNER:(I)(OI)(CI)(IO)(F)
APPLICATION PACKAGE AUTHORITY\ALL APPLICATION PACKAGES:(I)(RX)
APPLICATION PACKAGE AUTHORITY\ALL APPLICATION PACKAGES:(I)(OI)(CI)(IO)(GR,GE)
Nota: para adicionar o Trusted Installer, você deve procurar nas contas do computador local nt service\trustedinstaller
.
Depois de substituir as permissões catroot2
, certifique-se de clicar na replace permissions on child objects & containers
caixa de seleção para garantir que os itens filhos também tenham suas permissões resolvidas.
Nenhuma reinicialização é necessária para a correção em si (embora, obviamente, quando as atualizações começarem a funcionar novamente, você provavelmente precisará reinicializá-las).