{"id":808448,"date":"2026-05-18T06:54:03","date_gmt":"2026-05-18T06:54:03","guid":{"rendered":"https:\/\/www.ninjaone.com\/?post_type=script_hub&#038;p=808448"},"modified":"2026-05-18T06:54:03","modified_gmt":"2026-05-18T06:54:03","slug":"monitor-changes-to-bootconfig-file-powershell","status":"publish","type":"script_hub","link":"https:\/\/www.ninjaone.com\/pt-br\/script-hub\/monitor-changes-to-bootconfig-file-powershell\/","title":{"rendered":"Como monitorar altera\u00e7\u00f5es no arquivo BootConfig no Windows [Script do PowerShell]"},"content":{"rendered":"<p>No intrincado mundo da TI, manter a integridade do sistema \u00e9 de extrema import\u00e2ncia. Um componente essencial do sistema operacional Windows \u00e9 o arquivo BootConfig. O monitoramento das altera\u00e7\u00f5es nesse arquivo \u00e9 fundamental para que os administradores de sistema e os profissionais de TI garantam a seguran\u00e7a e a estabilidade do sistema. Este guia se aprofunda em um <strong>script do PowerShell que verifica se h\u00e1 modifica\u00e7\u00f5es no arquivo BootConfig<\/strong>, oferecendo uma abordagem proativa para o gerenciamento do sistema.<\/p>\n<h2>Hist\u00f3rico<\/h2>\n<p>O arquivo BootConfig no Windows \u00e9 um elemento fundamental que cont\u00e9m dados de configura\u00e7\u00e3o de inicializa\u00e7\u00e3o. Ele determina como o sistema \u00e9 iniciado, quais vers\u00f5es do sistema operacional devem ser carregadas e outros par\u00e2metros de inicializa\u00e7\u00e3o. Devido \u00e0 sua fun\u00e7\u00e3o no processo de inicializa\u00e7\u00e3o, qualquer altera\u00e7\u00e3o n\u00e3o autorizada ou inesperada pode resultar em mau funcionamento ou vulnerabilidades do sistema. Isso o torna um alvo principal para agentes mal-intencionados ou <a href=\"https:\/\/www.ninjaone.com\/it-hub\/seguranca-de-endpoints\/what-is-malware\/\">malware<\/a>. Para os profissionais de TI e <a href=\"https:\/\/www.ninjaone.com\/what-is-an-msp\/\">os provedores de servi\u00e7os gerenciados (MSPs)<\/a>, ter uma ferramenta que possa detectar essas altera\u00e7\u00f5es \u00e9 inestim\u00e1vel. Ele ajuda no gerenciamento proativo do sistema e na an\u00e1lise forense em caso de viola\u00e7\u00f5es de seguran\u00e7a.<\/p>\n<h2>O roteiro<\/h2>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"powershell\">#Requires -Version 5.1\r\n\r\n&lt;#\r\n.SYNOPSIS\r\n    Checks if the BootConfig file was modified from last run.\r\n.DESCRIPTION\r\n    Checks if the BootConfig file was modified from last run.\r\n    On first run this will not produce an error, but will create a cache file for later comparison.\r\n.EXAMPLE\r\n    No parameters needed.\r\n.OUTPUTS\r\n    None\r\n.NOTES\r\n    Minimum OS Architecture Supported: Windows 10, Windows Server 2016\r\n    Release Notes:\r\n    Initial Release\r\nBy using this script, you indicate your acceptance of the following legal terms as well as our Terms of Use at https:\/\/www.ninjaone.com\/terms-of-use.\r\n    Ownership Rights: NinjaOne owns and will continue to own all right, title, and interest in and to the script (including the copyright). NinjaOne is giving you a limited license to use the script in accordance with these legal terms. \r\n    Use Limitation: You may only use the script for your legitimate personal or internal business purposes, and you may not share the script with another party. \r\n    Republication Prohibition: Under no circumstances are you permitted to re-publish the script in any script library or website belonging to or under the control of any other software provider. \r\n    Warranty Disclaimer: The script is provided \u201cas is\u201d and \u201cas available\u201d, without warranty of any kind. NinjaOne makes no promise or guarantee that the script will be free from defects or that it will meet your specific needs or expectations. \r\n    Assumption of Risk: Your use of the script is at your own risk. You acknowledge that there are certain inherent risks in using the script, and you understand and assume each of those risks. \r\n    Waiver and Release: You will not hold NinjaOne responsible for any adverse or unintended consequences resulting from your use of the script, and you waive any legal or equitable rights or remedies you may have against NinjaOne relating to your use of the script. \r\n    EULA: If you are a NinjaOne customer, your use of the script is subject to the End User License Agreement applicable to you (EULA).\r\n#&gt;\r\n\r\n[CmdletBinding()]\r\nparam (\r\n    # Path and file where the cache file will be saved for comparison\r\n    [string]\r\n    $CachePath = \"C:ProgramDataNinjaRMMAgentscriptingTest-BootConfig.clixml\"\r\n)\r\n\r\nbegin {\r\n    function Test-IsElevated {\r\n        $id = [System.Security.Principal.WindowsIdentity]::GetCurrent()\r\n        $p = New-Object System.Security.Principal.WindowsPrincipal($id)\r\n        $p.IsInRole([System.Security.Principal.WindowsBuiltInRole]::Administrator)\r\n    }\r\n}\r\nprocess {\r\n    if (-not (Test-IsElevated)) {\r\n        Write-Error -Message \"Access Denied. Please run with Administrator privileges.\"\r\n        exit 1\r\n    }\r\n\r\n    # Get content and create hash of BootConfig file\r\n    $BootConfigContent = bcdedit.exe \/enum\r\n    $Stream = [IO.MemoryStream]::new([byte[]][char[]]\"$BootConfigContent\")\r\n    $BootConfigHash = Get-FileHash -InputStream $Stream -Algorithm SHA256\r\n\r\n    $Current = [PSCustomObject]@{\r\n        Content = $BootConfigContent\r\n        Hash    = $BootConfigHash\r\n    }\r\n\r\n    # Check if this is first run or not\r\n    if ($(Test-Path -Path $CachePath)) {\r\n        # Compare last content and hash\r\n        $Cache = Import-Clixml -Path $CachePath\r\n        $ContentDifference = Compare-Object -ReferenceObject $Cache.Content -DifferenceObject $Current.Content -CaseSensitive\r\n        $HashDifference = $Cache.Hash -like $Current.Hash\r\n        $Current | Export-Clixml -Path $CachePath -Force -Confirm:$false\r\n        if (-not $HashDifference) {\r\n            Write-Host \"BootConfig file has changed since last run!\"\r\n            Write-Host \"\"\r\n            $ContentDifference | ForEach-Object {\r\n                if ($_.SideIndicator -like '=&gt;') {\r\n                    Write-Host \"Added: $($_.InputObject)\"\r\n                }\r\n                elseif ($_.SideIndicator -like '&lt;=') {\r\n                    Write-Host \"Removed: $($_.InputObject)\"\r\n                }\r\n            }\r\n            exit 1\r\n        }\r\n    }\r\n    else {\r\n        Write-Host \"First run, saving comparison cache file.\"\r\n        $Current | Export-Clixml -Path $CachePath -Force -Confirm:$false\r\n    }\r\n    exit 0\r\n}\r\nend {}<\/pre>\n<p>&nbsp;<\/p>\n\n<div class=\"in-context-cta\"><p>Acesse esse script e centenas de outros no NinjaOne Dojo<\/p>\n<p><a href=\"https:\/\/www.ninjaone.com\/freetrialform\/\">Obter acesso<\/a><\/p>\n<\/div>\n<h2>Detalhamento<\/h2>\n<p>O script fornecido \u00e9 um script do PowerShell meticulosamente criado para monitorar as modifica\u00e7\u00f5es no arquivo BootConfig desde sua \u00faltima execu\u00e7\u00e3o. Aqui est\u00e1 uma an\u00e1lise passo a passo mais detalhada:<\/p>\n<ol>\n<li><strong>Pr\u00e9-requisitos:<\/strong> O script requer a <a href=\"https:\/\/www.ninjaone.com\/pt-br\/script-hub\/atualizacao-do-powershell-para-a-versao-5-1\/\">vers\u00e3o 5.1 do PowerShell<\/a>.<\/li>\n<li><strong>Verifica\u00e7\u00e3o da eleva\u00e7\u00e3o:<\/strong> Antes de mergulhar em sua fun\u00e7\u00e3o principal, o script verifica se foi executado com privil\u00e9gios de administrador, essenciais para acessar determinados arquivos e comandos do sistema.<\/li>\n<li><strong>Hashing de BootConfig:<\/strong> Usando o comando <a href=\"https:\/\/www.ninjaone.com\/pt-br\/blog\/o-que-o-bcdedit-faz-e-como-usa-lo\/\">bcdedit<\/a>. exe \/enum, o script obt\u00e9m o conte\u00fado do BootConfig. Em seguida, ele cria um hash SHA256 desse conte\u00fado, que serve como um identificador exclusivo para esse conte\u00fado espec\u00edfico.<\/li>\n<li><strong>Compara\u00e7\u00e3o de cache:<\/strong> Em seguida, o script procura um arquivo de cache salvo anteriormente. Se existir, o script comparar\u00e1 o conte\u00fado e o hash do BootConfig atual com a vers\u00e3o em cache.<\/li>\n<li><strong>Sa\u00edda:<\/strong> Se forem detectadas diferen\u00e7as, o script fornecer\u00e1 uma sa\u00edda detalhada das altera\u00e7\u00f5es, especificando o que foi adicionado ou removido. Se for a primeira execu\u00e7\u00e3o do script, ele salvar\u00e1 os dados atuais do BootConfig para compara\u00e7\u00f5es futuras.<\/li>\n<\/ol>\n<h2>Casos de uso em potencial<\/h2>\n<ul>\n<li><strong>Verifica\u00e7\u00f5es de rotina do sistema:<\/strong> Os profissionais de TI, como Alex, podem implementar esse script em servidores corporativos para verifica\u00e7\u00f5es de rotina, garantindo que nenhuma altera\u00e7\u00e3o n\u00e3o autorizada tenha ocorrido.<\/li>\n<li><strong>Instala\u00e7\u00e3o p\u00f3s-software:<\/strong> Ap\u00f3s a instala\u00e7\u00e3o de novos softwares ou atualiza\u00e7\u00f5es, o script pode ser executado para verificar se o arquivo BootConfig permanece inalterado, garantindo que o software n\u00e3o tenha adulterado os dados cr\u00edticos de inicializa\u00e7\u00e3o.<\/li>\n<li><strong>Altera\u00e7\u00f5es na configura\u00e7\u00e3o do sistema:<\/strong> Antes e depois de fazer altera\u00e7\u00f5es significativas na configura\u00e7\u00e3o do sistema, o script pode ser usado para garantir que a integridade do arquivo BootConfig permane\u00e7a intacta.<\/li>\n<\/ul>\n<h2>Compara\u00e7\u00f5es<\/h2>\n<p>Embora existam ferramentas e softwares de terceiros que oferecem recursos de monitoramento do sistema, a vantagem desse script est\u00e1 em sua simplicidade e especificidade. Ele \u00e9 leve, f\u00e1cil de implantar e se concentra apenas no arquivo BootConfig, garantindo uma verifica\u00e7\u00e3o direcionada e eficiente.<\/p>\n<h2>Implica\u00e7\u00f5es de seguran\u00e7a<\/h2>\n<p>A detec\u00e7\u00e3o de altera\u00e7\u00f5es no arquivo BootConfig n\u00e3o se refere apenas \u00e0 estabilidade do sistema, mas tamb\u00e9m \u00e0 seguran\u00e7a. Altera\u00e7\u00f5es n\u00e3o autorizadas podem indicar uma poss\u00edvel viola\u00e7\u00e3o ou atividade de malware. Ao monitorar esse arquivo, os profissionais de TI podem adotar uma postura proativa contra poss\u00edveis amea\u00e7as.<\/p>\n<h2>Recomenda\u00e7\u00f5es<\/h2>\n<ul>\n<li>Sempre execute o script com privil\u00e9gios de administrador para garantir resultados precisos.<\/li>\n<li>Programe o script para ser executado em intervalos regulares para monitoramento cont\u00ednuo.<\/li>\n<li>Mantenha backups do arquivo BootConfig para restaur\u00e1-lo rapidamente em caso de altera\u00e7\u00f5es n\u00e3o autorizadas.<\/li>\n<\/ul>\n<h2>Considera\u00e7\u00f5es finais<\/h2>\n<p>No \u00e2mbito da seguran\u00e7a de TI e do gerenciamento de sistemas, ferramentas como o <a href=\"https:\/\/ninjaone.com\/\" target=\"_blank\" rel=\"noopener\">NinjaOne<\/a> oferecem solu\u00e7\u00f5es abrangentes para v\u00e1rios desafios. O monitoramento de arquivos cr\u00edticos do sistema, como o arquivo BootConfig no Windows, \u00e9 uma prova da import\u00e2ncia do gerenciamento proativo do sistema. Com scripts como o discutido, os profissionais de TI podem garantir a integridade do sistema, refor\u00e7ar a seguran\u00e7a e manter <a href=\"https:\/\/www.ninjaone.com\/it-hub\/seguranca-de-endpoints\/what-is-operational-efficiency\/\">a efici\u00eancia operacional<\/a>.<\/p>\n<p>Aqui est\u00e3o alguns recursos adicionais que podem lhe ser \u00fateis:<\/p>\n<ul>\n<li>O arquivo BootConfig no Windows: <a href=\"https:\/\/docs.microsoft.com\/en-us\/windows-server\/administration\/windows-commands\/bcdedit\" target=\"_blank\" rel=\"noopener\">https:\/\/docs.microsoft.com\/en-us\/windows-server\/administration\/windows-commands\/bcdedit<\/a><\/li>\n<li>Tutorial de scripts do PowerShell: <a href=\"https:\/\/docs.microsoft.com\/en-us\/powershell\/scripting\/\" target=\"_blank\" rel=\"noopener\">https:\/\/docs.microsoft.com\/en-us\/powershell\/scripting\/<\/a><\/li>\n<\/ul>\n","protected":false},"author":35,"featured_media":142428,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_relevanssi_hide_post":"","_relevanssi_hide_content":"","_relevanssi_pin_for_all":"","_relevanssi_pin_keywords":"","_relevanssi_unpin_keywords":"","_relevanssi_related_keywords":"","_relevanssi_related_include_ids":"","_relevanssi_related_exclude_ids":"","_relevanssi_related_no_append":"","_relevanssi_related_not_related":"","_relevanssi_related_posts":"","_relevanssi_noindex_reason":"","_lmt_disableupdate":"no","_lmt_disable":""},"operating_system":[4212],"use_cases":[12460],"class_list":["post-808448","script_hub","type-script_hub","status-publish","has-post-thumbnail","hentry","script_hub_category-windows"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.ninjaone.com\/pt-br\/wp-json\/wp\/v2\/script_hub\/808448","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ninjaone.com\/pt-br\/wp-json\/wp\/v2\/script_hub"}],"about":[{"href":"https:\/\/www.ninjaone.com\/pt-br\/wp-json\/wp\/v2\/types\/script_hub"}],"author":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/pt-br\/wp-json\/wp\/v2\/users\/35"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/pt-br\/wp-json\/wp\/v2\/comments?post=808448"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/pt-br\/wp-json\/wp\/v2\/media\/142428"}],"wp:attachment":[{"href":"https:\/\/www.ninjaone.com\/pt-br\/wp-json\/wp\/v2\/media?parent=808448"}],"wp:term":[{"taxonomy":"script_hub_category","embeddable":true,"href":"https:\/\/www.ninjaone.com\/pt-br\/wp-json\/wp\/v2\/operating_system?post=808448"},{"taxonomy":"use_cases","embeddable":true,"href":"https:\/\/www.ninjaone.com\/pt-br\/wp-json\/wp\/v2\/use_cases?post=808448"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}