{"id":208371,"date":"2024-01-03T11:08:30","date_gmt":"2024-01-03T11:08:30","guid":{"rendered":"https:\/\/www.ninjaone.com\/script-hub\/surveiller-les-modifications-du-fichier-bootconfig-windows-powershell\/"},"modified":"2024-03-04T18:33:32","modified_gmt":"2024-03-04T18:33:32","slug":"surveiller-les-modifications-du-fichier-bootconfig-windows-powershell","status":"publish","type":"script_hub","link":"https:\/\/www.ninjaone.com\/fr\/script-hub\/surveiller-les-modifications-du-fichier-bootconfig-windows-powershell\/","title":{"rendered":"Comment surveiller les modifications du fichier BootConfig sur Windows [PowerShell Script]"},"content":{"rendered":"<p>Dans le monde complexe de l&rsquo;informatique, le maintien de l&rsquo;int\u00e9grit\u00e9 des syst\u00e8mes est de la plus haute importance. Le fichier BootConfig est un \u00e9l\u00e9ment essentiel du syst\u00e8me d&rsquo;exploitation Windows. Le contr\u00f4le des modifications apport\u00e9es \u00e0 ce fichier est essentiel pour les administrateurs syst\u00e8me et les professionnels de l&rsquo;informatique afin de garantir la s\u00e9curit\u00e9 et la stabilit\u00e9 du syst\u00e8me. Ce guide pr\u00e9sente un <strong>script PowerShell qui v\u00e9rifie les modifications apport\u00e9es au fichier BootConfig<\/strong>, offrant ainsi une approche proactive de la gestion du syst\u00e8me.<\/p>\n<h2>Contexte<\/h2>\n<p>Le fichier BootConfig de Windows est un \u00e9l\u00e9ment fondamental qui contient les donn\u00e9es de configuration du d\u00e9marrage. Il d\u00e9termine la mani\u00e8re dont le syst\u00e8me d\u00e9marre, les versions du syst\u00e8me d&rsquo;exploitation \u00e0 charger et d&rsquo;autres param\u00e8tres de d\u00e9marrage. Compte tenu de son r\u00f4le dans le processus de d\u00e9marrage, toute modification non autoris\u00e9e ou inattendue peut entra\u00eener des dysfonctionnements ou des vuln\u00e9rabilit\u00e9s du syst\u00e8me. Cela en fait une cible de choix pour les personnes et les logiciels malveillants. Pour les professionnels de l&rsquo;informatique et les fournisseurs de services g\u00e9r\u00e9s (MSP), disposer d&rsquo;un outil capable de d\u00e9tecter ces changements est d&rsquo;une valeur inestimable. Il aide \u00e0 la gestion proactive du syst\u00e8me et \u00e0 l&rsquo;analyse criminalistique en cas de violation de la s\u00e9curit\u00e9.<\/p>\n<h2>Le script<\/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>Acc\u00e9dez \u00e0 ce script et \u00e0 des centaines d&rsquo;autres dans le Dojo NinjaOne<\/p>\n<p><a href=\"https:\/\/www.ninjaone.com\/fr\/phase-de-test-gratuit\/\">Obtenez l&rsquo;acc\u00e8s<\/a><\/p>\n<\/div>\n<h2>R\u00e9sum\u00e9 d\u00e9taill\u00e9<\/h2>\n<p>Le script fourni est un script PowerShell m\u00e9ticuleusement con\u00e7u pour surveiller les modifications apport\u00e9es au fichier BootConfig depuis sa derni\u00e8re ex\u00e9cution. Voici une description plus d\u00e9taill\u00e9e, \u00e9tape par \u00e9tape :<\/p>\n<ol>\n<li><strong>Pr\u00e9requis\u00a0:<\/strong> Le script n\u00e9cessite la version 5.1 de PowerShell.<\/li>\n<li><strong>V\u00e9rification de l&rsquo;\u00e9l\u00e9vation :<\/strong> Avant de se lancer dans sa fonction principale, le script v\u00e9rifie s&rsquo;il est ex\u00e9cut\u00e9 avec les privil\u00e8ges d&rsquo;administrateur, indispensables pour acc\u00e9der \u00e0 certains fichiers et commandes du syst\u00e8me.<\/li>\n<li><strong>Hachage de BootConfig :<\/strong> En utilisant la commande <a href=\"https:\/\/www.ninjaone.com\/blog\/what-bcdedit-does-and-how-to-use-it\/\">bcdedit<\/a>.exe \/enum, le script r\u00e9cup\u00e8re le contenu de BootConfig. Il cr\u00e9e ensuite un hachage SHA256 de ce contenu, qui sert d&rsquo;identifiant unique et sp\u00e9cifique \u00e0 ce contenu.<\/li>\n<li><strong>Comparaison des caches :<\/strong> Le script recherche alors un fichier cache pr\u00e9c\u00e9demment enregistr\u00e9. S&rsquo;il existe, le script compare le contenu et le hachage actuels de BootConfig avec la version mise en cache.<\/li>\n<li><strong>R\u00e9sultat :<\/strong> Si des diff\u00e9rences sont d\u00e9tect\u00e9es, le script fournit un rapport d\u00e9taill\u00e9 des modifications, en pr\u00e9cisant ce qui a \u00e9t\u00e9 ajout\u00e9 ou supprim\u00e9. Si le script est ex\u00e9cut\u00e9 pour la premi\u00e8re fois, il enregistre les donn\u00e9es BootConfig actuelles en vue de comparaisons ult\u00e9rieures.<\/li>\n<\/ol>\n<h2>Cas d&rsquo;utilisation potentiels<\/h2>\n<ul>\n<li><strong>Contr\u00f4les de routine du syst\u00e8me :<\/strong> Les professionnels de l&rsquo;informatique comme Alex peuvent d\u00e9ployer ce script sur les serveurs de l&rsquo;entreprise pour effectuer des contr\u00f4les de routine et s&rsquo;assurer qu&rsquo;aucune modification non autoris\u00e9e n&rsquo;a \u00e9t\u00e9 effectu\u00e9e.<\/li>\n<li><strong>Apr\u00e8s l&rsquo;installation d&rsquo;un logiciel :<\/strong> Apr\u00e8s l&rsquo;installation d&rsquo;un nouveau logiciel ou d&rsquo;une mise \u00e0 jour, le script peut \u00eatre ex\u00e9cut\u00e9 pour v\u00e9rifier que le fichier BootConfig reste inchang\u00e9, afin de s&rsquo;assurer que le logiciel n&rsquo;a pas alt\u00e9r\u00e9 les donn\u00e9es de d\u00e9marrage essentielles.<\/li>\n<li><strong>Modifications de la configuration du syst\u00e8me :<\/strong> Avant et apr\u00e8s des modifications importantes de la configuration du syst\u00e8me, le script peut \u00eatre utilis\u00e9 pour s&rsquo;assurer que l&rsquo;int\u00e9grit\u00e9 du fichier BootConfig reste intacte.<\/li>\n<\/ul>\n<h2>Comparaisons<\/h2>\n<p>Bien qu&rsquo;il existe des outils et des logiciels tiers qui offrent des capacit\u00e9s de surveillance du syst\u00e8me, l&rsquo;avantage de ce script r\u00e9side dans sa simplicit\u00e9 et sa sp\u00e9cificit\u00e9. Il est l\u00e9ger, facile \u00e0 d\u00e9ployer et se concentre uniquement sur le fichier BootConfig, ce qui garantit une v\u00e9rification cibl\u00e9e et efficace.<\/p>\n<h2><strong>FAQ<\/strong><\/h2>\n<ul>\n<li><strong>Q\u00a0:<\/strong> Ce script peut-il fonctionner sur d&rsquo;anciennes versions de Windows ?<br \/>\nR\u00a0: Le script prend en charge Windows 10 et Windows Server 2016 et les versions plus r\u00e9centes.<\/li>\n<li><strong>Q\u00a0:<\/strong> Que se passe-t-il si le fichier BootConfig est inchang\u00e9 ?<br \/>\nR\u00a0: Le script se termine simplement sans aucune alerte, indiquant qu&rsquo;il n&rsquo;y a pas eu de changement depuis la derni\u00e8re ex\u00e9cution.<\/li>\n<\/ul>\n<h2>Implications en mati\u00e8re de s\u00e9curit\u00e9<\/h2>\n<p>La d\u00e9tection des changements dans le fichier BootConfig n&rsquo;est pas seulement une question de stabilit\u00e9 du syst\u00e8me, mais aussi de s\u00e9curit\u00e9. Des modifications non autoris\u00e9es peuvent \u00eatre le signe d&rsquo;une intrusion ou d&rsquo;une activit\u00e9 malveillante. En surveillant ce fichier, les professionnels de l&rsquo;informatique peuvent adopter une attitude proactive face aux menaces.<\/p>\n<h2>Recommandations<\/h2>\n<ul>\n<li>Ex\u00e9cutez toujours le script avec des privil\u00e8ges d&rsquo;administrateur pour garantir des r\u00e9sultats pr\u00e9cis.<\/li>\n<li>Programmez l&rsquo;ex\u00e9cution du script \u00e0 intervalles r\u00e9guliers pour effectuer une surveillance continue.<\/li>\n<li>Conservez des copies de sauvegarde du fichier BootConfig afin de pouvoir le restaurer rapidement en cas de modifications non autoris\u00e9es.<\/li>\n<\/ul>\n<h2>Conclusions<\/h2>\n<p>Dans le domaine de la s\u00e9curit\u00e9 informatique et de la gestion des syst\u00e8mes, des outils tels que NinjaOne offrent des solutions compl\u00e8tes pour relever diff\u00e9rents d\u00e9fis. La surveillance des fichiers syst\u00e8me cruciaux, tels que le fichier BootConfig de Windows, t\u00e9moigne de l&rsquo;importance d&rsquo;une gestion proactive du syst\u00e8me. Gr\u00e2ce \u00e0 des scripts tels que celui pr\u00e9sent\u00e9 ici, les professionnels de l&rsquo;informatique peuvent garantir l&rsquo;int\u00e9grit\u00e9 du syst\u00e8me, renforcer la s\u00e9curit\u00e9 et maintenir l&rsquo;efficacit\u00e9 op\u00e9rationnelle.<\/p>\n<p>Voici quelques ressources suppl\u00e9mentaires qui pourraient vous \u00eatre utiles :<\/p>\n<ul>\n<li>Le fichier BootConfig sur 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>Tutoriel de scripting 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":207057,"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":[4281],"class_list":["post-208371","script_hub","type-script_hub","status-publish","has-post-thumbnail","hentry","script_hub_category-windows"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/script_hub\/208371","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/script_hub"}],"about":[{"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/types\/script_hub"}],"author":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/users\/35"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/comments?post=208371"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/media\/207057"}],"wp:attachment":[{"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/media?parent=208371"}],"wp:term":[{"taxonomy":"script_hub_category","embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/operating_system?post=208371"},{"taxonomy":"use_cases","embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/use_cases?post=208371"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}