{"id":208362,"date":"2024-01-03T09:46:31","date_gmt":"2024-01-03T09:46:31","guid":{"rendered":"https:\/\/www.ninjaone.com\/script-hub\/activer-minidumps-sur-windows-powershell\/"},"modified":"2024-03-04T20:29:21","modified_gmt":"2024-03-04T20:29:21","slug":"activer-minidumps-sur-windows-powershell","status":"publish","type":"script_hub","link":"https:\/\/www.ninjaone.com\/fr\/script-hub\/activer-minidumps-sur-windows-powershell\/","title":{"rendered":"Comment activer les fichiers Minidump sur Windows \u00e0 l&rsquo;aide de PowerShell"},"content":{"rendered":"<p>La pratique du d\u00e9bogage et du d\u00e9pannage des syst\u00e8mes informatiques fait souvent appel \u00e0 des outils et \u00e0 des scripts sp\u00e9cialis\u00e9s. L&rsquo;une de ces m\u00e9thodes, essentielle pour de nombreux experts en informatique, est l&rsquo;utilisation de fichiers minidump. Ces fichiers offrent un instantan\u00e9 (snapshot) de la m\u00e9moire active lorsqu&rsquo;un ordinateur plante, ce qui fournit des donn\u00e9es inestimables pour l&rsquo;analyse apr\u00e8s la panne. Cet article examine un <strong>script PowerShell con\u00e7u pour automatiser l&rsquo;activation des fichiers minidump sur Windows<\/strong>.<\/p>\n<h2>Contexte<\/h2>\n<p>Pour les professionnels de l&rsquo;informatique et les fournisseurs de services g\u00e9r\u00e9s (MSP), la capacit\u00e9 \u00e0 capturer et \u00e0 analyser les donn\u00e9es de plantage est vitale. Cela leur permet de comprendre pourquoi un syst\u00e8me est tomb\u00e9 en panne et d&rsquo;\u00e9viter que cela ne se reproduise. Les <a href=\"https:\/\/www.ninjaone.com\/blog\/what-is-a-windows-minidump-file\/\">fichiers Minidump<\/a>, en particulier, fournissent assez de donn\u00e9es sans consommer beaucoup d&rsquo;espace disque, ce qui en fait un choix privil\u00e9gi\u00e9 pour de nombreux experts. Cependant, la configuration manuelle de la g\u00e9n\u00e9ration de fichiers minidump peut s&rsquo;av\u00e9rer fastidieuse, et c&rsquo;est l\u00e0 que l&rsquo;automatisation entre en jeu. En utilisant des scripts tels que celui que nous allons \u00e9tudier, les professionnels peuvent configurer efficacement leurs syst\u00e8mes pour g\u00e9n\u00e9rer des fichiers minidump lorsque cela est n\u00e9cessaire.<\/p>\n<h2>Le script<\/h2>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"powershell\">&lt;#\r\n.SYNOPSIS\r\n    Turn on mini dumps if they are off, if other dumps are already enabled do not change the configuration.\r\n.DESCRIPTION\r\n    Turn on mini dumps if they are off, if other dumps are already enabled do not change the configuration.\r\n    This will enable the creation of the pagefile, but set to automatically manage by Windows.\r\n    Reboot might be 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[CmdletBinding()]\r\nparam ()\r\n\r\nbegin {\r\n    function Set-ItemProp {\r\n        param (\r\n            $Path,\r\n            $Name,\r\n            $Value,\r\n            [ValidateSet(\"DWord\", \"QWord\", \"String\", \"ExpandedString\", \"Binary\", \"MultiString\", \"Unknown\")]\r\n            $PropertyType = \"DWord\"\r\n        )\r\n        # Do not output errors and continue\r\n        $ErrorActionPreference = [System.Management.Automation.ActionPreference]::SilentlyContinue\r\n        if (-not $(Test-Path -Path $Path)) {\r\n            # Check if path does not exist and create the path\r\n            New-Item -Path $Path -Force | Out-Null\r\n        }\r\n        if ((Get-ItemProperty -Path $Path -Name $Name)) {\r\n            # Update property and print out what it was changed from and changed to\r\n            $CurrentValue = Get-ItemProperty -Path $Path -Name $Name\r\n            try {\r\n                Set-ItemProperty -Path $Path -Name $Name -Value $Value -Force -Confirm:$false -ErrorAction Stop | Out-Null\r\n            }\r\n            catch {\r\n                Write-Error $_\r\n            }\r\n            Write-Host \"$Path$Name changed from $CurrentValue to $(Get-ItemProperty -Path $Path -Name $Name)\"\r\n        }\r\n        else {\r\n            # Create property with value\r\n            try {\r\n                New-ItemProperty -Path $Path -Name $Name -Value $Value -PropertyType $PropertyType -Force -Confirm:$false -ErrorAction Stop | Out-Null\r\n            }\r\n            catch {\r\n                Write-Error $_\r\n            }\r\n            Write-Host \"Set $Path$Name to $(Get-ItemProperty -Path $Path -Name $Name)\"\r\n        }\r\n        $ErrorActionPreference = [System.Management.Automation.ActionPreference]::Continue\r\n    }\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    # Reference: https:\/\/learn.microsoft.com\/en-US\/troubleshoot\/windows-server\/performance\/memory-dump-file-options\r\n    $Path = \"HKLM:SystemCurrentControlSetControlCrashControl\"\r\n    $Name = \"CrashDumpEnabled\"\r\n    $CurrentValue = Get-ItemPropertyValue -Path $Path -Name $Name -ErrorAction SilentlyContinue\r\n    $Value = 3\r\n\r\n    # If CrashDumpEnabled is set to 0 or doesn't exist then enable mini crash dump\r\n    if ($CurrentValue -eq 0 -and $null -ne $CurrentValue) {\r\n        $PageFile = Get-ItemPropertyValue -Path \"HKLM:SYSTEMCurrentControlSetControlSession ManagerMemory Management\" -Name PagingFiles -ErrorAction SilentlyContinue\r\n        if (-not $PageFile) {\r\n            # If the pagefile was not setup, create the registry entry needed to create the pagefile\r\n            try {\r\n                # Enable automatic page management file if disabled to allow mini dump to function\r\n                Set-ItemProp -Path \"HKLM:SYSTEMCurrentControlSetControlSession ManagerMemory Management\" -Name PagingFiles -Value \"?:pagefile.sys\" -PropertyType MultiString\r\n            }\r\n            catch {\r\n                Write-Error \"Could not create pagefile.\"\r\n                exit 1\r\n            }\r\n        }\r\n        Set-ItemProp -Path $Path -Name $Name -Value 3\r\n        Write-Host \"Reboot might be needed to enable mini crash dump.\"\r\n    }\r\n    else {\r\n        Write-Host \"Crash dumps are already enabled.\"\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 plus de 700 scripts 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>Description d\u00e9taill\u00e9e<\/h2>\n<p>Le script PowerShell en question commence par v\u00e9rifier si le syst\u00e8me dispose de droits d&rsquo;administrateur. Ceci est crucial car les modifications du registre du syst\u00e8me par ce script n\u00e9cessitent ces autorisations.<\/p>\n<p>Le principal chemin d&rsquo;acc\u00e8s au registre qui nous int\u00e9resse est <strong>HKLM:SystemCurrentControlSetControlCrashControl<\/strong>. Dans ce chemin, il existe une cl\u00e9 de registre sp\u00e9cifique, <strong>CrashDumpEnabled<\/strong>, qui r\u00e9git l&rsquo;\u00e9tat de la g\u00e9n\u00e9ration du crash dump.<\/p>\n<p>Si cette cl\u00e9 est d\u00e9finie sur <strong>0<\/strong> ou n&rsquo;existe pas, cela signifie que les dumps de crash ne sont pas activ\u00e9s. Le script prendra alors des mesures pour activer la cr\u00e9ation de fichiers minidump. De plus, le script v\u00e9rifie la pr\u00e9sence d&rsquo;un fichier de pages et en cr\u00e9e un s&rsquo;il est manquant, car il s&rsquo;agit d&rsquo;une condition pr\u00e9alable \u00e0 la cr\u00e9ation de fichier minidump.<\/p>\n<h2>Cas d&rsquo;utilisation potentiels<\/h2>\n<p>Prenons l&rsquo;exemple d&rsquo;un professionnel de l&rsquo;informatique, Bob, qui travaille dans une entreprise de taille moyenne. Suite \u00e0 plusieurs pannes inexpliqu\u00e9es du syst\u00e8me, Bob est contraint de trouver la cause initiale. Au lieu de proc\u00e9der machine par machine, Bob\u00a0d\u00e9ploie ce script sur tous les ordinateurs de l&rsquo;entreprise. Cette approche proactive garantit que la prochaine fois qu&rsquo;un plantage se produira, Bob disposera d&rsquo;un fichier minidump pr\u00eat \u00e0 \u00eatre analys\u00e9. Bon travail, Bob !<\/p>\n<h2>Approche alternative<\/h2>\n<p>Traditionnellement, l&rsquo;activation de la g\u00e9n\u00e9ration de fichiers minidump implique de naviguer dans plusieurs menus Windows ou de modifier manuellement le registre, deux t\u00e2ches qui prennent du temps et sont sources d&rsquo;erreurs. Ce script se distingue par l&rsquo;automatisation du processus, ce qui r\u00e9duit le risque d&rsquo;erreur humaine et garantit une configuration homog\u00e8ne sur plusieurs machines.<\/p>\n<h2>FAQ<\/h2>\n<ul>\n<li>Quelles sont les conditions pr\u00e9alables \u00e0 l&rsquo;utilisation de ce script ?<br \/>\nLe script prend en charge Windows 10 et Windows Server 2016 ou une version plus r\u00e9cente.<\/li>\n<li>Un red\u00e9marrage est-il n\u00e9cessaire apr\u00e8s l&rsquo;ex\u00e9cution du script ?<br \/>\nUn red\u00e9marrage peut \u00eatre n\u00e9cessaire pour finaliser l&rsquo;activation des mini-crash dumps.<\/li>\n<li>Que se passe-t-il si les crash dumps sont d\u00e9j\u00e0 activ\u00e9s sur mon syst\u00e8me ?<br \/>\nLe script s&rsquo;en rendra compte et s&rsquo;abstiendra d&rsquo;apporter des modifications.<\/li>\n<\/ul>\n<h2>Implications<\/h2>\n<p>L&rsquo;activation de la g\u00e9n\u00e9ration de fichiers minidump est une arme \u00e0 double tranchant. Bien qu&rsquo;il offre des donn\u00e9es pr\u00e9cieuses pour le d\u00e9bogage, il peut contenir des informations sensibles. Les professionnels de l&rsquo;informatique devraient envisager de chiffrer ces fichiers ou de s&rsquo;assurer qu&rsquo;ils sont stock\u00e9s dans des endroits s\u00e9curis\u00e9s.<\/p>\n<h2>Recommandations<\/h2>\n<ul>\n<li>Testez toujours le script dans un environnement contr\u00f4l\u00e9 avant de le d\u00e9ployer.<\/li>\n<li>Examinez et effacez r\u00e9guli\u00e8rement les fichiers minidump afin d&rsquo;\u00e9conomiser de l&rsquo;espace disque et de pr\u00e9server la confidentialit\u00e9.<\/li>\n<\/ul>\n<h2>Conclusions<\/h2>\n<p>L&rsquo;int\u00e9gration de solutions automatis\u00e9es, telles que le script \u00e9voqu\u00e9, simplifie les <a href=\"https:\/\/www.ninjaone.com\/fr\/gestion-des-tickets-ticketing\/\">t\u00e2ches de gestion informatique<\/a>. Des plateformes telles que NinjaOne renforcent encore cette approche en offrant un contr\u00f4le centralis\u00e9 et une suite d&rsquo;outils adapt\u00e9s aux besoins des professionnels de l&rsquo;informatique, garantissant ainsi que les syst\u00e8mes restent optimis\u00e9s et s\u00e9curis\u00e9s.<\/p>\n","protected":false},"author":35,"featured_media":207148,"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":[4287],"class_list":["post-208362","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\/208362","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=208362"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/media\/207148"}],"wp:attachment":[{"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/media?parent=208362"}],"wp:term":[{"taxonomy":"script_hub_category","embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/operating_system?post=208362"},{"taxonomy":"use_cases","embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/use_cases?post=208362"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}