Pular para o conteúdo principal

Entendendo e Corrigindo Erros de Message Queuing (MSMQ) Causados pelo Update KB5071543 de Dezembro de 2025

Entendendo e Corrigindo Erros de Message Queuing (MSMQ) Causados pelo Update KB5071543 de Dezembro de 2025

Recentemente, administradores de sistemas Windows ao redor do mundo encontraram um problema inesperado após a aplicação do update de segurança KB5071543 (e patches relacionados, como KB5071544 e KB5071546), lançado em dezembro de 2025.
Este update, projetado para fortalecer a segurança do sistema, acabou introduzindo um efeito colateral que afeta diretamente o serviço de Enfileiramento de Mensagens (MSMQ), vital para muitas aplicações empresariais.
Neste artigo, detalho o que está acontecendo e forneço uma solução prática em PowerShell para mitigar o problema imediatamente.

O Problema: Permissões de Segurança e o MSMQ
A causa raiz do problema reside em uma alteração sutil, porém crítica, nas permissões de segurança. O update KB5071543 parece restringir o acesso à pasta onde o MSMQ armazena fisicamente suas mensagens em trânsito: C:\Windows\System32\MSMQ\storage.
Antes do update, muitas aplicações rodavam sob contas de serviço padrão (como IIS_IUSRS ou NetworkService) e conseguiam gravar dados nessa pasta sem problemas. Após o update, essas contas perdem o privilégio de "gravação" ou "modificação", resultando em falhas operacionais imediatas.
Sintomas e Erros Comuns
Se a sua aplicação depende do MSMQ, você pode notar:
  • Filas (Queues) inativas: As mensagens não estão sendo processadas.
  • Erros de Aplicação: Mensagens de erro no log da sua aplicação como "Acesso negado" ou "Access is denied".
  • Logs Enganosos: Eventos no visualizador de eventos do Windows que sugerem "espaço em disco insuficiente" ou "memória insuficiente", mesmo que haja recursos de sobra.
  • Falhas no IIS: Sites hospedados no IIS que dependem do MSMQ podem falhar com erros de "recursos insuficientes".
A Solução Temporária (Workaround)
A Microsoft ainda não lançou um hotfix oficial, mas a solução imediata é simples: restaurar manualmente as permissões de gravação para contas de serviço afetadas na pasta de armazenamento do MSMQ.
A conta de serviço mais comum a ser afetada, especialmente em ambientes web com IIS, é a IIS_IUSRS.
Automação com PowerShell
Para agilizar o processo e garantir que o serviço seja reiniciado corretamente após a mudança de permissões, criei um script PowerShell robusto.
Atenção: Você deve executar este script em uma janela do PowerShell com privilégios de Administrador.
PowerShell
# --- Script PowerShell para corrigir permissões do MSMQ ---

# Definir o caminho da pasta e o nome do grupo
$folderPath = "C:\Windows\System32\msmq\storage"
$userGroup = "BUILTIN\IIS_IUSRS"

Write-Host "Concedendo permissões de 'Modificação' para $userGroup em $folderPath..." -ForegroundColor Cyan

if (Test-Path $folderPath) {
    try {
        # Usamos icacls para aplicar permissões de Modificação (M) recursivamente (/t)
        icacls $folderPath /grant $userGroup`:M /t /c
        Write-Host "Permissões concedidas com sucesso." -ForegroundColor Green
    }
    catch {
        Write-Host "Erro ao aplicar permissões: $_. Execute como Administrador." -ForegroundColor Red
    }
} else {
    Write-Host "A pasta $folderPath não foi encontrada." -ForegroundColor Red
}

Write-Host "`nReiniciando o serviço 'Message Queuing' e dependentes..." -ForegroundColor Cyan

$serviceName = "MSMQ" 

# Parar e Iniciar o serviço principal e seus dependentes
try {
    Stop-Service -Name $serviceName -Force -ErrorAction Stop
    Write-Host "Serviço $serviceName parado." -ForegroundColor Yellow

    Start-Service -Name $serviceName -ErrorAction Stop
    Write-Host "Serviço $serviceName iniciado com sucesso." -ForegroundColor Green
}
catch {
    # Usamos ${serviceName} para evitar erro de sintaxe do PowerShell com os dois pontos
    Write-Host "Erro ao reiniciar o serviço ${serviceName}: $_" -ForegroundColor Red
}

Write-Host "`nScript concluído. Verifique o status das suas filas MSMQ." -ForegroundColor Blue
Use o código com cuidado.
Próximos Passos
  1. Copie o código acima para um arquivo de texto e salve-o com a extensão .ps1 (ex: Fix_MSMQ_Permissions.ps1).
  2. Execute o arquivo como Administrador.
  3. Monitore seus sistemas: Após a execução, verifique os logs de eventos e as filas do MSMQ para confirmar se o fluxo de mensagens foi normalizado.
Este workaround deve resolver o problema de forma imediata até que a Microsoft lance um patch definitivo. Fique de olho no Windows Release Health dashboard oficial para atualizações sobre o status deste known issue.
Espero que este artigo ajude a manter seus sistemas funcionando sem interrupções!

Comentários

Postagens mais visitadas deste blog

O que são FSMO - Flexible Single-Master Operation.

O Active Directory ou apenas AD é  o repositório central no qual todos os objetos de uma rede de computadores empresarial e seus respectivos atributos são armazenados. É um banco de dados hierárquico que pode armazenar milhões de objetos e as alterações nestes objetos podem ser processadas por qualquer servidor do AD, chamados de  controladores de domínio* . *No dia a dia de trabalho, muitas vezes nos referimos aos controladores de domínio, pelo termo em inglês, Domain Controller ou a sua sigla, DC. Leia também:  Active Directory e Microsoft Entra ID: A base do gerenciamento de identidade e acesso. As funções FSMO desempenham um papel fundamental na integridade do AD.  O Active Directory  fornece a flexibilidade de permitir que as alterações ocorram em qualquer controlador de domínio e a maneira que o AD lida com atualizações conflitantes é ter um algoritmo de resolução de conflitos, no qual as últimas alterações gravadas prevalecem.   Embora esse méto...

Como transferir as FSMO no Windows Server

Um dos maiores medos de um administrador é perder os controladores de domínio que tem as FSMO - Flexible Single-Master Operation, m as não se preocupe tanto, porque há como transferi-las, mesmo perdendo definitivamente o servidor. Neste tutorial vamos abordar exclusivamente a transferência das FSMO com o utilitário Ntdsutil.exe pelo prompt de comando. Antes de transferir as FSMO, lembre-se que: A possibilidade de transferência não exclui a necessidade de backup dos Windows Servers do Active Directory. Recomenda-se manter as funções Domain Naming Master e Schema Master no mesmo DC, que deve ser um  servidor  de Catálogo Global (GC) simultaneamente; Se você perdeu o servidor com a função Schema Master, poderá   atribuir essa função a qualquer outro controlador de domínio   .  Mas tenha em mente que o Schema Master original não deverá aparecer na rede depois disso; Se você chegou aqui e não sabe o que são FSMO e a importância de cada uma das funções, leia o artig...

Como obter sua chave do produto do Windows com o prompt de comando.

Se quiser obter sua chave do produto do Windows 10 ou do Windows 11, a maneira mais fácil de fazer é com o prompt de comando do Windows. O que é a chave do produto do Windows? Uma chave do produto ou licença do Windows é um código de 25 caracteres,   formatada como "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX", que a Microsoft fornece para ativar uma única cópia do Windows em um computador. A chave do produto de ativação do Windows 10 é essencial se você deseja atualizar ou instalar o sistema de forma limpa. No entanto, muitos usuários não têm ideia de onde a chave está armazenada. Esse artigo vai ajudar a encontra-la. Vamos lá !! Primeiro, pressione a tecla Windows, procure por "cmd" e clique em "Run as administrator" (Executar como administrador, em português): Em seguida, execute o comando abaixo: wmic path softwarelicensingservice get OA3xOriginalProductKey Ou execute o comando em powershell: powershell "(Get-WmiObject -query ‘select * from SoftwareLicensingSer...