{"id":353687,"date":"2024-09-22T16:52:05","date_gmt":"2024-09-22T16:52:05","guid":{"rendered":"https:\/\/www.ninjaone.com\/script-hub\/surveiller-les-fichiers-texte-powershell\/"},"modified":"2024-10-13T19:04:28","modified_gmt":"2024-10-13T19:04:28","slug":"surveiller-les-fichiers-texte-powershell","status":"publish","type":"script_hub","link":"https:\/\/www.ninjaone.com\/fr\/script-hub\/surveiller-les-fichiers-texte-powershell\/","title":{"rendered":"Comment utiliser PowerShell pour surveiller les fichiers texte et d\u00e9clencher des alertes pour les professionnels de l&rsquo;informatique"},"content":{"rendered":"<p>Dans le monde informatique actuel, l&rsquo;automatisation est la cl\u00e9 d&rsquo;une gestion et d&rsquo;une surveillance efficaces des syst\u00e8mes. PowerShell, avec ses puissantes capacit\u00e9s de script, est un outil de choix pour les professionnels de l&rsquo;informatique et les <a href=\"https:\/\/www.ninjaone.com\/fr\/quest-ce-quun-msp\" target=\"_blank\" rel=\"noopener\">fournisseurs de services g\u00e9r\u00e9s (MSP)<\/a> qui cherchent \u00e0 optimiser leurs flux de travail. L&rsquo;une des t\u00e2ches les plus courantes consiste \u00e0 surveiller les fichiers texte \u00e0 la recherche d&rsquo;un contenu sp\u00e9cifique, que ce soit pour suivre les journaux, d\u00e9tecter les erreurs ou alerter sur des informations critiques.<\/p>\n<p>Le script <a href=\"https:\/\/www.ninjaone.com\/fr\/it-hub\/endpoint-management\/qu-est-ce-que-powershell\" target=\"_blank\" rel=\"noopener\">PowerShell<\/a> que nous pr\u00e9sentons aujourd&rsquo;hui vous alerte lorsqu&rsquo;un texte sp\u00e9cifi\u00e9 est trouv\u00e9 dans un fichier texte, ce qui en fait un outil pr\u00e9cieux pour les personnes charg\u00e9es de maintenir l&rsquo;int\u00e9grit\u00e9 et la s\u00e9curit\u00e9 des syst\u00e8mes informatiques.<\/p>\n<h2>Contexte<\/h2>\n<p>Les fichiers texte sont souvent utilis\u00e9s dans les environnements informatiques pour enregistrer des activit\u00e9s, stocker des donn\u00e9es de configuration ou conserver des informations cruciales. La surveillance de ces fichiers \u00e0 l&rsquo;aide de mots-cl\u00e9s ou de phrases sp\u00e9cifiques est cruciale pour diverses raisons, telles que la <a href=\"https:\/\/www.ninjaone.com\/fr\/it-hub\/endpoint-security\/qu-est-ce-qu-une-fuite-de-donnees\" target=\"_blank\" rel=\"noopener\">d\u00e9tection des failles de s\u00e9curit\u00e9<\/a>, la garantie de la conformit\u00e9 ou l&rsquo;identification des d\u00e9faillances du syst\u00e8me.<\/p>\n<p>Traditionnellement, les professionnels de l&rsquo;informatique peuvent inspecter manuellement ces fichiers ou utiliser des solutions logicielles complexes pour les contr\u00f4ler. Cependant, gr\u00e2ce \u00e0 PowerShell, vous pouvez automatiser ce processus \u00e0 l&rsquo;aide d&rsquo;un script simple mais efficace. Ce script est particuli\u00e8rement utile pour les MSP qui g\u00e8rent plusieurs clients et qui ont besoin d&rsquo;un moyen fiable de surveiller les fichiers texte dans diff\u00e9rents environnements.<\/p>\n<h2>Le script\u00a0:<\/h2>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"powershell\">#Requires -Version 4\r\n\r\n&lt;#\r\n.SYNOPSIS\r\n    Alert when the specified text is found in a text file.\r\n.DESCRIPTION\r\n    Alert when the specified text is found in a text file.\r\n.EXAMPLE\r\n    (No Parameters)\r\n    ## EXAMPLE OUTPUT WITHOUT PARAMS ##\r\n\r\nPARAMETER: -Path \"C:\\ReplaceMe\\WithPath\\To\\Text.txt\"\r\n    File path to the text file you would like to monitor.\r\n\r\nPARAMETER: -TextToMatch \"ReplaceMeWithTextToFind\"\r\n   Text to alert on when found.\r\n\r\n.EXAMPLE\r\n    -Path \"C:\\Test-FileMonitor.txt\" -TextToMatch \"bat\"\r\n    \r\n    [Alert] Found Text!\r\n\r\n.EXAMPLE\r\n    -Path \"C:\\Test-FileMonitor.txt\" -TextToMatch \"man\" -MatchOnlyOnWholeWord\r\n    \r\n    Text Not Found!\r\n\r\nPARAMETER: -MatchOnlyOnWholeWord\r\n    Alert only when your given 'Text To Match' is not contained in another word.\r\n\r\nPARAMETER: -CaseSensitive\r\n    Alert only when the casing of your specified 'Text To Match' is identical; for example, alert on 'BAT' but not 'bat'.\r\n.OUTPUTS\r\n    None\r\n.NOTES\r\n    Minimum OS Architecture Supported: Windows 10, Windows Server 2012\r\n    Release Notes: 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    [Parameter()]\r\n    [String]$Path,\r\n    [Parameter()]\r\n    [String]$TextToMatch,\r\n    [Parameter()]\r\n    [Switch]$WholeWordOnly = [System.Convert]::ToBoolean($env:matchOnlyOnWholeWord),\r\n    [Parameter()]\r\n    [Switch]$CaseSensitive = [System.Convert]::ToBoolean($env:caseSensitive)\r\n)\r\n\r\nbegin {\r\n    # Set Dynamic Script Variables\r\n    if($env:textToMatch -and $env:textToMatch -notlike \"null\"){\r\n        $TextToMatch = $env:textToMatch\r\n    }\r\n    if($env:textFilePath -and $env:textFilePath -notlike \"null\"){\r\n        $Path = $env:textFilePath\r\n    }\r\n\r\n    # Check for local administrator rights.\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    # Check that a path was given and if not error out.\r\n    if (-not $Path) {\r\n        Write-Host \"[Error] A filepath is required!\"\r\n        exit 1\r\n    }\r\n\r\n    # If not given text to match error out.\r\n    if (-not $TextToMatch){\r\n        Write-Host \"[Error] Text to match is required!\"\r\n        exit 1\r\n    }\r\n\r\n    # Error out if script is running without local administrator rights.\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\n    # Check that the path given exists.\r\n    if (-not (Test-Path -Path $Path)) {\r\n        Write-Host \"[Error] File does not exist!\"\r\n        exit 1\r\n    }\r\n\r\n    # Check that we're given a file and not a folder.\r\n    $File = Get-Item -Path $Path\r\n    if ($File.PSIsContainer) {\r\n        Write-Host \"[Error] Please provide a file path, not a directory.\"\r\n        exit 1\r\n    }\r\n\r\n    $ExitCode = 0\r\n}\r\nprocess {\r\n    # Check if we were given a binary file and if so error out.\r\n    $ByteCount = 1024\r\n    $ByteArray = Get-Content -Path $Path -Encoding Byte -TotalCount $ByteCount\r\n    if ($ByteArray -contains 0 ) {\r\n        Write-Host \"[Error] This script does not support searching binary files!\"\r\n        exit 1\r\n    }\r\n\r\n    # Retrieve file contents.\r\n    $File = Get-Content -Path $Path\r\n\r\n    # If file is empty error out.\r\n    if (-not $File) {\r\n        Write-Host \"[Error] reading file, file is either empty or you do not have permission to read it.\"\r\n        exit 1\r\n    }\r\n\r\n    # Scan through each-line checking for our text.\r\n    $File | ForEach-Object {\r\n        # Based on the parameters given match the text.  \r\n        if (-not $CaseSensitive -and -not $WholeWordOnly -and $_ -like \"*$TextToMatch*\") {\r\n            $Match = $True\r\n        }\r\n\r\n        if ($CaseSensitive -and -not $WholeWordOnly -and $_ -clike \"*$TextToMatch*\") {\r\n            $Match = $True\r\n        }\r\n\r\n        if ($WholeWordOnly -and -not $CaseSensitive -and $_ -match \"\\b$TextToMatch\\b\") {\r\n            $Match = $True\r\n        }\r\n\r\n        if ($WholeWordOnly -and $CaseSensitive -and $_ -cmatch \"\\b$TextToMatch\\b\") {\r\n            $Match = $True\r\n        }\r\n    }\r\n\r\n    # If our text matched alert.\r\n    if ($Match) {\r\n        Write-Host \"[Alert] Found Text!\"\r\n    }\r\n    else {\r\n        Write-Host \"Text Not Found!\"\r\n    }\r\n\r\n    exit $ExitCode\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>Le script fourni est con\u00e7u pour surveiller un fichier texte \u00e0 la recherche d&rsquo;un contenu sp\u00e9cifique et alerter l&rsquo;utilisateur lorsque le texte est trouv\u00e9. Voici une description \u00e9tape par \u00e9tape du fonctionnement du script :<\/p>\n<h3>1.<strong>\u00a0Param\u00e9trage<\/strong> :<\/h3>\n<ul>\n<li>Le script commence par d\u00e9finir des param\u00e8tres tels que -Path (le chemin d&rsquo;acc\u00e8s au fichier texte que vous souhaitez surveiller) et -TextToMatch (le texte que vous souhaitez trouver). Les param\u00e8tres facultatifs comprennent -WholeWordOnly pour s&rsquo;assurer que le texte n&rsquo;est pris en compte que lorsqu&rsquo;il appara\u00eet sous la forme d&rsquo;un mot entier, et -CaseSensitive pour diff\u00e9rencier les majuscules et les minuscules.<\/li>\n<\/ul>\n<h3>2.<strong>\u00a0Variables d&rsquo;environnement<\/strong>:<\/h3>\n<ul>\n<li>Le script v\u00e9rifie si des variables d&rsquo;environnement sont d\u00e9finies pour textToMatch et textFilePath. Si c&rsquo;est le cas, ces valeurs remplacent les param\u00e8tres fournis par l&rsquo;utilisateur.<\/li>\n<\/ul>\n<h3>3.<strong>\u00a0Validation des privil\u00e8ges et des chemins d&rsquo;acc\u00e8s :<\/strong><\/h3>\n<ul>\n<li>Le script comprend une fonction permettant de v\u00e9rifier s&rsquo;il s&rsquo;ex\u00e9cute avec des privil\u00e8ges d&rsquo;administrateur, ce qui est n\u00e9cessaire pour acc\u00e9der \u00e0 certains fichiers ou chemins d&rsquo;acc\u00e8s au syst\u00e8me. Il v\u00e9rifie \u00e9galement que le chemin d&rsquo;acc\u00e8s fourni existe et qu&rsquo;il pointe sur un fichier valide plut\u00f4t que sur un r\u00e9pertoire.<\/li>\n<\/ul>\n<h3>4.<strong>\u00a0Recherche de contenu de fichier<\/strong>:<\/h3>\n<ul>\n<li>Le script lit le contenu du fichier sp\u00e9cifi\u00e9. Si le fichier est vide ou si l&rsquo;utilisateur n&rsquo;a pas le droit de le lire, le script est interrompu, ce qui emp\u00eache toute ex\u00e9cution ult\u00e9rieure.<\/li>\n<\/ul>\n<h3>5.<strong>\u00a0Logique de correspondance des textes<\/strong>:<\/h3>\n<ul>\n<li>Le script parcourt chaque ligne du fichier en appliquant les crit\u00e8res de correspondance de texte sp\u00e9cifi\u00e9s. Il v\u00e9rifie si les options -CaseSensitive ou -WholeWordOnly sont activ\u00e9es et ajuste la logique de correspondance en cons\u00e9quence. Si le texte est trouv\u00e9, le script avertit l&rsquo;utilisateur en affichant \u00ab\u00a0[Alert] Found Text!\u00a0\u00bb ; sinon, il affiche \u00ab\u00a0Text Not Found!\u00a0\u00bb.<\/li>\n<\/ul>\n<h3>6.<strong> Gestion des erreurs<\/strong>:<\/h3>\n<ul>\n<li>Tout au long de son ex\u00e9cution, le script inclut une gestion performante des erreurs afin de garantir qu&rsquo;il se termine de mani\u00e8re utile avec des messages d&rsquo;erreur appropri\u00e9s en cas de probl\u00e8mes, tels que des param\u00e8tres manquants, l&rsquo;absence de privil\u00e8ges ou des chemins d&rsquo;acc\u00e8s aux fichiers invalides.<\/li>\n<\/ul>\n<p>Ce script offre un moyen puissant et simple de surveiller les fichiers texte, ce qui en fait un outil essentiel dans la bo\u00eete \u00e0 outils des professionnels de l&rsquo;informatique.<\/p>\n<h2>Cas d&rsquo;utilisation potentiels<\/h2>\n<p>Imaginez un professionnel de l&rsquo;informatique charg\u00e9 de contr\u00f4ler les journaux de s\u00e9curit\u00e9 de plusieurs serveurs. Il doit d\u00e9tecter les messages d&rsquo;erreur sp\u00e9cifiques ou les tentatives d&rsquo;acc\u00e8s non autoris\u00e9 d\u00e8s qu&rsquo;elles se produisent.<\/p>\n<p>En d\u00e9ployant ce script, il peut automatiser le processus d&rsquo;analyse de ces fichiers journaux \u00e0 la recherche de mots-cl\u00e9s critiques, tels que \u00ab\u00a0unauthorized access\u00a0\u00bb ou \u00ab\u00a0erreur 503\u00a0\u00bb. Chaque fois que ces mots-cl\u00e9s sont trouv\u00e9s, le script les alerte imm\u00e9diatement, ce qui permet de <a href=\"https:\/\/www.ninjaone.com\/blog\/defeat-cyber-security-threats\/\" target=\"_blank\" rel=\"noopener\">r\u00e9agir rapidement aux menaces potentielles pour la s\u00e9curit\u00e9<\/a>. Cette approche proactive renforce la posture de s\u00e9curit\u00e9 de l&rsquo;entreprise et r\u00e9duit le risque de n\u00e9gliger des probl\u00e8mes critiques.<\/p>\n<h2>Comparaisons<\/h2>\n<p>Par rapport \u00e0 d&rsquo;autres m\u00e9thodes, telles que l&rsquo;utilisation d&rsquo;un logiciel tiers de gestion des journaux ou l&rsquo;inspection manuelle des journaux, ce script PowerShell offre une solution l\u00e9g\u00e8re et personnalisable. Si les outils tiers peuvent offrir davantage de fonctionnalit\u00e9s, ils ont souvent un co\u00fbt et n\u00e9cessitent une configuration suppl\u00e9mentaire.<\/p>\n<p>D&rsquo;autre part, l&rsquo;inspection manuelle prend beaucoup de temps et <a href=\"https:\/\/www.ninjaone.com\/blog\/how-human-error-relates-to-cybersecurity-risks\/\" target=\"_blank\" rel=\"noopener\">est sujette \u00e0 des erreurs humaines<\/a>. Ce texte trouve un \u00e9quilibre en fournissant une solution automatis\u00e9e et rentable qui s&rsquo;int\u00e8gre parfaitement dans les flux de travail existants.<\/p>\n<h2>FAQ<\/h2>\n<h3>1.\u00a0<strong>Ce script peut-il \u00eatre utilis\u00e9 pour surveiller plusieurs fichiers simultan\u00e9ment ?<\/strong><\/h3>\n<p>Non, ce script est con\u00e7u pour surveiller un seul fichier \u00e0 la fois. Toutefois, vous pouvez modifier le script ou l&rsquo;ex\u00e9cuter en parall\u00e8le pour plusieurs fichiers.<\/p>\n<h3>2.\u00a0<strong>Que se passe-t-il si le fichier surveill\u00e9 est mis \u00e0 jour apr\u00e8s l&rsquo;ex\u00e9cution du script ?<\/strong><\/h3>\n<p>Le script lit le contenu du fichier au moment de l&rsquo;ex\u00e9cution. Si le fichier est mis \u00e0 jour apr\u00e8s le d\u00e9marrage du script, ces modifications ne seront pas d\u00e9tect\u00e9es \u00e0 moins que le script ne soit r\u00e9ex\u00e9cut\u00e9.<\/p>\n<h3>3.<strong>\u00a0Est-il possible d&rsquo;enregistrer les alertes dans un fichier au lieu de les afficher sur la console ?<\/strong><\/h3>\n<p>Oui, vous pouvez modifier le script pour enregistrer les alertes dans un fichier en rempla\u00e7ant Write-Host par Add-Content ou Out-File.<\/p>\n<h2>Implications<\/h2>\n<p>L&rsquo;utilisation de ce script pour surveiller les fichiers critiques peut avoir des cons\u00e9quences importantes pour la <a href=\"https:\/\/www.ninjaone.com\/fr\/top-5-des-principes-fondamentaux-de-securite-informatique\" target=\"_blank\" rel=\"noopener\">s\u00e9curit\u00e9 informatique<\/a>. En automatisant la d\u00e9tection des phrases cl\u00e9s ou des messages d&rsquo;erreur, les professionnels de l&rsquo;informatique peuvent r\u00e9agir plus rapidement aux probl\u00e8mes potentiels, ce qui <a href=\"https:\/\/www.ninjaone.com\/it-hub\/it-service-management\/what-is-network-downtime\/\" target=\"_blank\" rel=\"noopener\">r\u00e9duit les temps d&rsquo;arr\u00eat<\/a> et <a href=\"https:\/\/www.ninjaone.com\/fr\/blog\/check-list-de-securite-informatique-pour-proteger-votre-entreprise\" target=\"_blank\" rel=\"noopener\">att\u00e9nue les risques de s\u00e9curit\u00e9<\/a>.<\/p>\n<p>Cependant, il est important de se rappeler que ce script op\u00e8re dans les limites du fichier texte sp\u00e9cifi\u00e9 et qu&rsquo;il n&rsquo;est aussi efficace que les mots-cl\u00e9s qu&rsquo;il est configur\u00e9 pour surveiller. S&rsquo;il est utilis\u00e9 correctement, il peut \u00eatre un outil puissant dans la strat\u00e9gie plus large de surveillance informatique et de r\u00e9ponse aux incidents.<\/p>\n<h2>Recommandations<\/h2>\n<p>Lors de l&rsquo;utilisation de ce script, il est pr\u00e9f\u00e9rable de suivre les pratiques suivantes :<\/p>\n<ul>\n<li><strong>Test dans un environnement contr\u00f4l\u00e9<\/strong>: Avant de d\u00e9ployer le script dans un environnement de production, testez-le dans un environnement contr\u00f4l\u00e9 pour vous assurer qu&rsquo;il se comporte comme pr\u00e9vu.<\/li>\n<li><strong>Mettre r\u00e9guli\u00e8rement \u00e0 jour les mots-cl\u00e9s<\/strong>: Examinez et mettez \u00e0 jour les mots-cl\u00e9s que vous surveillez pour vous assurer qu&rsquo;ils correspondent \u00e0 l&rsquo;\u00e9volution des menaces et des besoins op\u00e9rationnels.<\/li>\n<li><strong>Int\u00e9gration avec d&rsquo;autres outils<\/strong>: Envisagez d&rsquo;int\u00e9grer le script \u00e0 d&rsquo;autres outils de surveillance ou syst\u00e8mes d&rsquo;alerte pour cr\u00e9er une solution de surveillance plus compl\u00e8te.<\/li>\n<\/ul>\n<h2>Conclusion<\/h2>\n<p>Pour les professionnels de l&rsquo;informatique, en particulier ceux qui g\u00e8rent plusieurs environnements, l&rsquo;automatisation est cruciale. Ce script PowerShell offre un moyen simple mais efficace de surveiller les fichiers texte \u00e0 la recherche d&rsquo;informations critiques, ce qui permet de r\u00e9agir rapidement aux probl\u00e8mes potentiels.<\/p>\n<p>Bien que ce script soit un outil puissant en soi, il convient de noter que des solutions compl\u00e8tes de gestion informatique telles que <a href=\"https:\/\/www.ninjaone.com\/fr\/\" target=\"_blank\" rel=\"noopener\">NinjaOne<\/a> peuvent encore am\u00e9liorer votre capacit\u00e9 \u00e0 <a href=\"https:\/\/www.ninjaone.com\/fr\/plateforme-de-gestion-de-terminaux\/surveillance-a-distance-du-parc-informatique\/\" target=\"_blank\" rel=\"noopener\">surveiller<\/a>, g\u00e9rer et s\u00e9curiser vos syst\u00e8mes. En combinant ces scripts avec une plateforme de gestion informatique plus \u00e9tendue, vous pouvez vous assurer que l&rsquo;infrastructure informatique de votre entreprise reste solide et r\u00e9siliente.<\/p>\n","protected":false},"author":35,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"open","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":"","_lmt_disable":""},"operating_system":[4212],"use_cases":[4285],"class_list":["post-353687","script_hub","type-script_hub","status-publish","hentry","script_hub_category-windows","use_cases-surveillance"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/script_hub\/353687","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=353687"}],"wp:attachment":[{"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/media?parent=353687"}],"wp:term":[{"taxonomy":"script_hub_category","embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/operating_system?post=353687"},{"taxonomy":"use_cases","embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/use_cases?post=353687"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}