{"id":532817,"date":"2025-09-26T08:43:53","date_gmt":"2025-09-26T08:43:53","guid":{"rendered":"https:\/\/www.ninjaone.com\/?post_type=script_hub&#038;p=532817"},"modified":"2025-09-26T08:43:53","modified_gmt":"2025-09-26T08:43:53","slug":"verifier-vulnerabilites-pkfail-avec-powershell","status":"publish","type":"script_hub","link":"https:\/\/www.ninjaone.com\/fr\/script-hub\/verifier-vulnerabilites-pkfail-avec-powershell\/","title":{"rendered":"Comment v\u00e9rifier les vuln\u00e9rabilit\u00e9s de PKFail avec PowerShell"},"content":{"rendered":"<p>Les menaces au niveau des microprogrammes (firmware) attirent de plus en plus l&rsquo;attention des \u00e9quipes de s\u00e9curit\u00e9 en raison de leur capacit\u00e9 \u00e0 contourner les protections traditionnelles au niveau du syst\u00e8me d&rsquo;exploitation. L&rsquo;une de ces vuln\u00e9rabilit\u00e9s \u00e9mergentes est\u00a0<strong>PKFail<\/strong>, qui implique des cl\u00e9s de plateforme de d\u00e9marrage s\u00e9curis\u00e9 (PK) compromises ou mal sign\u00e9es. Dans ce contexte, les entreprises doivent s&rsquo;assurer que leurs syst\u00e8mes ne sont pas expos\u00e9s \u00e0 des configurations de microprogrammes non s\u00e9curis\u00e9es. Pour les professionnels de l&rsquo;informatique et les <a href=\"https:\/\/www.ninjaone.com\/fr\/quest-ce-quun-msp\/\">fournisseurs de services g\u00e9r\u00e9s (MSP)<\/a>, il est essentiel d&rsquo;automatiser la d\u00e9tection de ces vuln\u00e9rabilit\u00e9s. Dans cet article, vous apprendrez comment <strong>v\u00e9rifier les vuln\u00e9rabilit\u00e9s de PKFail avec PowerShell<\/strong>.<\/p>\n<h2>Contexte<\/h2>\n<p>La\u00a0<strong>vuln\u00e9rabilit\u00e9 PKFail<\/strong>\u00a0est centr\u00e9e sur Secure Boot, une fonction de s\u00e9curit\u00e9 UEFI essentielle qui garantit que seuls les micrologiciels et les chargeurs de syst\u00e8me d&rsquo;exploitation approuv\u00e9s sont ex\u00e9cut\u00e9s au cours du processus de d\u00e9marrage. Les syst\u00e8mes dont les cl\u00e9s de signature sont \u00e9tiquet\u00e9es avec des marqueurs tels que \u00ab\u00a0DO NOT TRUST\u00a0\u00bb ou \u00ab\u00a0DO NOT SHIP\u00a0\u00bb sont susceptibles de faire l&rsquo;objet d&rsquo;attaques dues \u00e0 des cl\u00e9s de signature non autoris\u00e9es ou ne faisant pas partie de la production, qui sont laiss\u00e9es dans des microprogrammes de production.<\/p>\n<p>Des fournisseurs tels qu&rsquo;Intel et Supermicro ont reconnu cette vuln\u00e9rabilit\u00e9, et des outils sont apparus pour faciliter la d\u00e9tection. Cependant, pour les \u00e9quipes informatiques qui g\u00e8rent des flottes d&rsquo;appareils Windows, une solution scriptable et \u00e9volutive est essentielle. Ceci est particuli\u00e8rement vrai pour les fournisseurs de services g\u00e9r\u00e9s (MSP) qui s&rsquo;appuient sur des plateformes telles que\u00a0<strong>NinjaOne<\/strong>\u00a0pour maintenir la conformit\u00e9 et la s\u00e9curit\u00e9 dans les diff\u00e9rents environnements de leurs clients.<\/p>\n<h2>Le script<\/h2>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"powershell\">&lt;#\r\n.SYNOPSIS\r\n    Checks for the PKFail vulnerability.\r\n.DESCRIPTION\r\n    Checks the PK(Platform Key) variable for 'DO NOT TRUST' or 'DO NOT SHIP'.\r\n    Can save a result of 'Trusted' or 'Not Trusted' to a custom field.\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\r\n.EXAMPLE\r\n    (No Parameters)\r\n\r\n    Secure Boot is Trusted\r\n\r\n.EXAMPLE\r\n    (No Parameters)\r\n\r\n    Secure Boot is Not Trusted\r\n\r\nPARAMETER: -CustomField \"ReplaceMeWithAnyMultilineCustomField\"\r\n    Name of a custom field to save the PKFail status to with either Trusted or Not Trusted.\r\n.EXAMPLE\r\n    -CustomField \"SecureBootPK\"\r\n\r\n    Attempting to set Custom Field 'SecureBootPK'.\r\n    Successfully set Custom Field 'SecureBootPK'!\r\n    Secure Boot is Trusted\r\n\r\n.NOTES\r\n    Minimum OS Supported: Windows 10, Windows Server 2016\r\n\r\n.LINK\r\n    https:\/\/github.com\/binarly-io\/Vulnerability-REsearch\/blob\/main\/PKfail\/BRLY-2024-005.md\r\n    https:\/\/www.intel.com\/content\/www\/us\/en\/security-center\/announcement\/intel-security-announcement-2024-07-25-001.html\r\n    https:\/\/www.supermicro.com\/en\/support\/security_PKFAIL_Jul_2024\r\n#&gt;\r\n\r\n[CmdletBinding()]\r\nparam (\r\n    [Parameter()]\r\n    [String]$CustomField\r\n)\r\n\r\nbegin {\r\n    function Set-NinjaProperty {\r\n        [CmdletBinding()]\r\n        Param(\r\n            [Parameter(Mandatory = $True)]\r\n            [String]$Name,\r\n            [Parameter()]\r\n            [String]$Type,\r\n            [Parameter(Mandatory = $True, ValueFromPipeline = $True)]\r\n            $Value,\r\n            [Parameter()]\r\n            [String]$DocumentName\r\n        )\r\n        \r\n        $Characters = $Value | Out-String | Measure-Object -Character | Select-Object -ExpandProperty Characters\r\n        if ($Characters -ge 200000) {\r\n            throw [System.ArgumentOutOfRangeException]::New(\"Character limit exceeded: the value is greater than or equal to 200,000 characters.\")\r\n        }\r\n            \r\n        # If requested to set the field value for a Ninja document, specify it here.\r\n        $DocumentationParams = @{}\r\n        if ($DocumentName) { $DocumentationParams[\"DocumentName\"] = $DocumentName }\r\n            \r\n        # This is a list of valid fields that can be set. If no type is specified, assume that the input does not need to be changed.\r\n        $ValidFields = \"Attachment\", \"Checkbox\", \"Date\", \"Date or Date Time\", \"Decimal\", \"Dropdown\", \"Email\", \"Integer\", \"IP Address\", \"MultiLine\", \"MultiSelect\", \"Phone\", \"Secure\", \"Text\", \"Time\", \"URL\", \"WYSIWYG\"\r\n        if ($Type -and $ValidFields -notcontains $Type) { Write-Warning \"$Type is an invalid type. Please check here for valid types: https:\/\/ninjarmm.zendesk.com\/hc\/en-us\/articles\/16973443979789-Command-Line-Interface-CLI-Supported-Fields-and-Functionality\" }\r\n            \r\n        # The field below requires additional information to set.\r\n        $NeedsOptions = \"Dropdown\"\r\n        if ($DocumentName) {\r\n            if ($NeedsOptions -contains $Type) {\r\n                # Redirect error output to the success stream to handle errors more easily if nothing is found or something else goes wrong.\r\n                $NinjaPropertyOptions = Ninja-Property-Docs-Options -AttributeName $Name @DocumentationParams 2&gt;&amp;1\r\n            }\r\n        }\r\n        else {\r\n            if ($NeedsOptions -contains $Type) {\r\n                $NinjaPropertyOptions = Ninja-Property-Options -Name $Name 2&gt;&amp;1\r\n            }\r\n        }\r\n            \r\n        # If an error is received with an exception property, exit the function with that error information.\r\n        if ($NinjaPropertyOptions.Exception) { throw $NinjaPropertyOptions }\r\n            \r\n        # The types below require values not typically given to be set. The code below will convert whatever we're given into a format ninjarmm-cli supports.\r\n        switch ($Type) {\r\n            \"Checkbox\" {\r\n                # Although it's highly likely we were given a value like \"True\" or a boolean data type, it's better to be safe than sorry.\r\n                $NinjaValue = [System.Convert]::ToBoolean($Value)\r\n            }\r\n            \"Date or Date Time\" {\r\n                # Ninjarmm-cli expects the GUID of the option to be selected. Therefore, match the given value with a GUID.\r\n                $Date = (Get-Date $Value).ToUniversalTime()\r\n                $TimeSpan = New-TimeSpan (Get-Date \"1970-01-01 00:00:00\") $Date\r\n                $NinjaValue = $TimeSpan.TotalSeconds\r\n            }\r\n            \"Dropdown\" {\r\n                # Ninjarmm-cli expects the GUID of the option we're trying to select, so match the value we were given with a GUID.\r\n                $Options = $NinjaPropertyOptions -replace '=', ',' | ConvertFrom-Csv -Header \"GUID\", \"Name\"\r\n                $Selection = $Options | Where-Object { $_.Name -eq $Value } | Select-Object -ExpandProperty GUID\r\n            \r\n                if (-not $Selection) {\r\n                    throw [System.ArgumentOutOfRangeException]::New(\"Value is not present in dropdown options.\")\r\n                }\r\n            \r\n                $NinjaValue = $Selection\r\n            }\r\n            default {\r\n                # All the other types shouldn't require additional work on the input.\r\n                $NinjaValue = $Value\r\n            }\r\n        }\r\n            \r\n        # Set the field differently depending on whether it's a field in a Ninja Document or not.\r\n        if ($DocumentName) {\r\n            $CustomField = Ninja-Property-Docs-Set -AttributeName $Name -AttributeValue $NinjaValue @DocumentationParams 2&gt;&amp;1\r\n        }\r\n        else {\r\n            $CustomField = $NinjaValue | Ninja-Property-Set-Piped -Name $Name 2&gt;&amp;1\r\n        }\r\n            \r\n        if ($CustomField.Exception) {\r\n            throw $CustomField\r\n        }\r\n    }\r\n\r\n    if ($env:customFieldName -and $env:customFieldName -notlike \"null\") {\r\n        $CustomField = $env:customFieldName\r\n    }\r\n\r\n    # Check if Secure Boot is supported on the system\r\n    try {\r\n        Get-SecureBootUEFI -Name PK -ErrorAction Stop | Out-Null\r\n    }\r\n    catch {\r\n        if ($_.Exception.Message -like \"*Cmdlet not supported on this platform*\") {\r\n            Write-Host \"[Error] System does not support Secure Boot or is a BIOS (Non-UEFI) system.\"\r\n            exit 1\r\n        }\r\n        elseif ($_.Exception.Message -like \"*Variable is currently undefined*\") {\r\n            Write-Host \"[Error] PK variable is not defined.\"\r\n            exit 1\r\n        }\r\n    }\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\n    if (-not (Test-IsElevated)) {\r\n        Write-Host \"[Error] Access Denied. Please run with Administrator privileges.\"\r\n        exit 1\r\n    }\r\n}\r\nprocess {\r\n\r\n    # Secure Boot PK cert status\r\n    try {\r\n        if ([System.Text.Encoding]::ASCII.GetString((Get-SecureBootUEFI -Name PK).bytes) -match \"DO NOT TRUST|DO NOT SHIP\") {\r\n            $SecureBootPK = \"Not Trusted\"\r\n            Write-Host \"[Alert] Secure Boot is $SecureBootPK\"\r\n        }\r\n        else {\r\n            $SecureBootPK = \"Trusted\"\r\n            Write-Host \"[Info] Secure Boot is $SecureBootPK\"\r\n        }\r\n    }\r\n    catch {\r\n        Write-Host \"[Error] Get-SecureBootUEFI return error: $($_.Exception.Message)\"\r\n        exit 1\r\n    }\r\n\r\n    if ($CustomField) {\r\n        try {\r\n            Write-Host \"[Info] Attempting to set Custom Field '$CustomField'.\"\r\n            Set-NinjaProperty -Name $CustomField -Value $SecureBootPK\r\n            Write-Host \"[Info] Successfully set Custom Field '$CustomField'!\"\r\n        }\r\n        catch {\r\n            Write-Host \"[Warn] Failed to set Custom Field '$CustomField'.\"\r\n            Write-Host \"[Warn] $($_.Exception.Message)\"\r\n        }\r\n    }\r\n}\r\nend {\r\n    \r\n    \r\n    \r\n}<\/pre>\n<p>&nbsp;<\/p>\n\n<h2>Description d\u00e9taill\u00e9e<\/h2>\n<p>Ce script <a href=\"https:\/\/www.ninjaone.com\/it-hub\/endpoint-management\/what-is-powershell\/\">PowerShell<\/a> automatise la d\u00e9tection de la vuln\u00e9rabilit\u00e9 PKFail et enregistre \u00e9ventuellement le r\u00e9sultat dans un champ personnalis\u00e9 NinjaOne. Voici comment\u00a0:<\/p>\n<ol>\n<li><strong>Initialisation et param\u00e8tres<\/strong>\n<ul>\n<li>Le script d\u00e9finit un param\u00e8tre -CustomField, qui permet aux utilisateurs de sp\u00e9cifier le nom d&rsquo;un champ personnalis\u00e9 NinjaOne dans lequel le r\u00e9sultat (\u00ab\u00a0Trusted\u00a0\u00bb ou \u00ab\u00a0Not Trusted\u00a0\u00bb) sera enregistr\u00e9.<\/li>\n<li>Il comprend une fonction d&rsquo;aide Set-NinjaProperty qui permet d&rsquo;interfacer avec l&rsquo;interface en ligne de commande (CLI) de NinjaOne pour d\u00e9finir les valeurs des champs en toute s\u00e9curit\u00e9.<\/li>\n<\/ul>\n<\/li>\n<li><strong>V\u00e9rifications d&rsquo;environnement et de compatibilit\u00e9<\/strong>\n<ul>\n<li>Le script v\u00e9rifie d&rsquo;abord si le syst\u00e8me prend en charge le d\u00e9marrage s\u00e9curis\u00e9 en interrogeant la variable UEFI PK \u00e0 l&rsquo;aide de Get-SecureBootUEFI.<\/li>\n<li>Si la commande \u00e9choue en raison d&rsquo;une incompatibilit\u00e9 de plateforme (par exemple, pour les syst\u00e8mes bas\u00e9s sur le BIOS), le script se termine de mani\u00e8re \u00e9l\u00e9gante avec un message d&rsquo;erreur d\u00e9taill\u00e9.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Validation des privil\u00e8ges<\/strong>\n<ul>\n<li>Les v\u00e9rifications de Secure Boot n\u00e9cessitent des privil\u00e8ges \u00e9lev\u00e9s. Le script v\u00e9rifie l&rsquo;acc\u00e8s administratif avant de poursuivre.<\/li>\n<\/ul>\n<\/li>\n<li><strong>\u00c9valuation des variables PK<\/strong>\n<ul>\n<li>Il r\u00e9cup\u00e8re le contenu en octets de la variable PK et le convertit en ASCII.<\/li>\n<li>Si le r\u00e9sultat contient des cha\u00eenes de caract\u00e8res suspectes telles que \u00ab\u00a0DO NOT TRUST\u00a0\u00bb ou \u00ab\u00a0DO NOT SHIP\u00a0\u00bb, le syst\u00e8me est signal\u00e9 comme\u00a0<strong>Not Trusted (non fiable)<\/strong>. Sinon, il est marqu\u00e9 comme\u00a0<strong>Trusted (fiable)<\/strong>.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Int\u00e9gration optionnelle de NinjaOne<\/strong>\n<ul>\n<li>Si un champ personnalis\u00e9 est sp\u00e9cifi\u00e9, le script tente d&rsquo;enregistrer l&rsquo;\u00e9tat de confiance directement dans la plateforme NinjaOne pour une visibilit\u00e9 centralis\u00e9e.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p><strong>Suggestion d&rsquo;aide visuelle<\/strong>:<br \/>\nUn diagramme montrant le flux de travail du script, de la validation des privil\u00e8ges \u00e0 l&rsquo;\u00e9valuation PK et \u00e0 l&rsquo;int\u00e9gration NinjaOne, peut constituer un compl\u00e9ment pr\u00e9cieux \u00e0 la documentation.<\/p>\n<h2>Cas d&rsquo;utilisation potentiels<\/h2>\n<h3>Cas de figure\u00a0: Une entreprise MSP de taille moyenne g\u00e9rant des terminaux pour un fournisseur de soins de sant\u00e9<\/h3>\n<p>Les politiques de s\u00e9curit\u00e9 exigent que tous les terminaux utilisent Secure Boot avec des microprogrammes sign\u00e9s par la production. L&rsquo;\u00e9quipe informatique int\u00e8gre ce script PowerShell dans son processus d&rsquo;audit de routine via NinjaOne. Le script s&rsquo;ex\u00e9cute en tant que t\u00e2che planifi\u00e9e et les r\u00e9sultats remplissent un champ personnalis\u00e9 nomm\u00e9 \u00ab\u00a0SecureBootPK\u00a0\u00bb. Les appareils marqu\u00e9s comme \u00ab\u00a0non fiables\u00a0\u00bb d\u00e9clenchent des alertes, ce qui permet aux techniciens d&rsquo;intervenir avant que ne surviennent des probl\u00e8mes de conformit\u00e9 en mati\u00e8re de s\u00e9curit\u00e9.<\/p>\n<h2>Comparaisons<\/h2>\n<p>Contrairement aux outils sp\u00e9cifiques aux fournisseurs ou \u00e0 l&rsquo;inspection manuelle du BIOS, ce script PowerShell offre :<\/p>\n<ul>\n<li><strong>Automatisation<\/strong>\u00a0: Peut \u00eatre ex\u00e9cut\u00e9 \u00e0 distance sur plusieurs appareils via des plateformes RMM.<\/li>\n<li><strong>\u00c9volutivit\u00e9<\/strong>\u00a0: Id\u00e9al pour les environnements comportant des centaines ou des milliers d&rsquo;appareils.<\/li>\n<li><strong>Flexibilit\u00e9<\/strong> : S&rsquo;int\u00e8gre facilement dans des flux de travail plus larges de mise en conformit\u00e9 ou de gestion des actifs gr\u00e2ce \u00e0 des champs personnalis\u00e9s.<\/li>\n<\/ul>\n<p>D&rsquo;autres approches, telles que l&rsquo;utilisation d&rsquo;outils de fournisseurs comme les analyseurs Intel Converged Security and Management Engine (CSME), sont souvent bas\u00e9es sur une interface graphique et moins propices \u00e0 l&rsquo;\u00e9criture de scripts dans des environnements g\u00e9r\u00e9s.<\/p>\n<h2>Questions fr\u00e9quentes<\/h2>\n<h3>Q\u00a0: Quels sont les syst\u00e8mes qui prennent en charge la fonction Secure Boot et la variable PK ?<\/h3>\n<p>R\u00a0: Seuls les syst\u00e8mes UEFI prenant en charge Secure Boot (d\u00e9marrage s\u00e9curis\u00e9) exposeront la variable PK. Les syst\u00e8mes bas\u00e9s sur le BIOS ne sont pas compatibles.<\/p>\n<h3>Q\u00a0: Quelles sont les autorisations requises pour ex\u00e9cuter ce script ?<\/h3>\n<p>R\u00a0: Le script doit \u00eatre ex\u00e9cut\u00e9 avec des privil\u00e8ges d&rsquo;administrateur en raison de l&rsquo;utilisation de Get-SecureBootUEFI.<\/p>\n<h3>Q\u00a0: Le script peut-il fonctionner sans NinjaOne ?<\/h3>\n<p>R\u00a0: Oui. Si aucun champ personnalis\u00e9 n&rsquo;est sp\u00e9cifi\u00e9, le statut est simplement affich\u00e9 sur la console.<\/p>\n<h3>Q\u00a0: Que se passe-t-il si la variable PK n&rsquo;est pas d\u00e9finie ?<\/h3>\n<p>R\u00a0: Le script se termine et informe l&rsquo;utilisateur que la variable PK n&rsquo;est pas d\u00e9finie, ce qui peut indiquer une mauvaise configuration ou une d\u00e9sactivation de Secure Boot.<\/p>\n<h2>Implications<\/h2>\n<p>La d\u00e9tection des syst\u00e8mes dot\u00e9s de PK non fiables est une \u00e9tape essentielle dans la s\u00e9curisation du processus de d\u00e9marrage et la pr\u00e9vention de l&rsquo;exploitation au niveau du microprogramme. Un seul appareil compromis peut devenir un point d&rsquo;entr\u00e9e pour des menaces persistantes avanc\u00e9es. Ce script permet de d\u00e9tecter rapidement les erreurs de configuration de l&rsquo;amor\u00e7age s\u00e9curis\u00e9 et d&rsquo;impl\u00e9menter des politiques de s\u00e9curit\u00e9 essentielles dans un environnement.<\/p>\n<p>Pour les entreprises MSP, cela permet de fournir des services proactifs en identifiant les vuln\u00e9rabilit\u00e9s potentielles avant qu&rsquo;elles ne se transforment en incidents.<\/p>\n<h2>Recommandations<\/h2>\n<ul>\n<li><strong>Ex\u00e9cuter p\u00e9riodiquement<\/strong> : Inclure ce script dans les audits r\u00e9guliers ou les contr\u00f4les de conformit\u00e9.<\/li>\n<li><strong>R\u00e9vision et rem\u00e9diation<\/strong> : Examinez et signez \u00e0 nouveau les microprogrammes de tous les syst\u00e8mes marqu\u00e9s comme \u00ab\u00a0Not Trusted\u00a0\u00bb (non fiables).<\/li>\n<li><strong>Int\u00e9grer avec la surveillance et gestion \u00e0 distance (RMM)<\/strong> : Utilisez NinjaOne pour stocker, surveiller et signaler l&rsquo;\u00e9tat des PK sur tous les terminaux.<\/li>\n<li><strong>Informer les clients<\/strong>: Aidez les clients finaux \u00e0 comprendre la valeur des microprogrammes s\u00e9curis\u00e9s et l&rsquo;impact des vuln\u00e9rabilit\u00e9s telles que PKFail sur leur posture de s\u00e9curit\u00e9.<\/li>\n<\/ul>\n<h2>Conclusion<\/h2>\n<p>Les vuln\u00e9rabilit\u00e9s des microprogrammes comme le PKFail soulignent l&rsquo;importance d&rsquo;\u00e9tendre la s\u00e9curit\u00e9 au-del\u00e0 du syst\u00e8me d&rsquo;exploitation. Gr\u00e2ce \u00e0 PowerShell et \u00e0 ce script, les professionnels de l&rsquo;informatique disposent d&rsquo;une m\u00e9thode fiable pour automatiser la d\u00e9tection et maintenir la conformit\u00e9. Utilis\u00e9 conjointement avec <a href=\"https:\/\/www.ninjaone.com\/fr\/\">NinjaOne<\/a>, le processus devient encore plus puissant, vous permettant de suivre l&rsquo;\u00e9tat de la confiance, de d\u00e9finir des alertes et de prendre des mesures pertinentes \u00e0 grande \u00e9chelle.<\/p>\n","protected":false},"author":35,"featured_media":0,"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-532817","script_hub","type-script_hub","status-publish","hentry","script_hub_category-windows"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/script_hub\/532817","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=532817"}],"wp:attachment":[{"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/media?parent=532817"}],"wp:term":[{"taxonomy":"script_hub_category","embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/operating_system?post=532817"},{"taxonomy":"use_cases","embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/use_cases?post=532817"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}