{"id":208427,"date":"2024-01-31T13:41:48","date_gmt":"2024-01-31T13:41:48","guid":{"rendered":"https:\/\/www.ninjaone.com\/script-hub\/powershell-comment-verifier-existence-chemin-acces\/"},"modified":"2024-03-04T18:45:24","modified_gmt":"2024-03-04T18:45:24","slug":"powershell-comment-verifier-existence-chemin-acces","status":"publish","type":"script_hub","link":"https:\/\/www.ninjaonesandbox.dev\/fr\/script-hub\/powershell-comment-verifier-existence-chemin-acces\/","title":{"rendered":"PowerShell\u00a0: comment v\u00e9rifier l&rsquo;existence d&rsquo;un chemin d&rsquo;acc\u00e8s"},"content":{"rendered":"<p>Dans le domaine de l&rsquo;administration des syst\u00e8mes et de la gestion informatique, l&rsquo;automatisation des contr\u00f4les de routine est essentielle. L&rsquo;un de ces contr\u00f4les de routine consiste \u00e0 <strong>v\u00e9rifier l&rsquo;existence d&rsquo;un chemin d\u2019acc\u00e8s ou d&rsquo;un dossier sp\u00e9cifique<\/strong>, une action souvent effectu\u00e9e pour s&rsquo;assurer qu&rsquo;un logiciel particulier ou des fichiers critiques sont en place. PowerShell s&rsquo;est impos\u00e9 comme un puissant langage de script qui facilite ces t\u00e2ches et permet aux professionnels de l&rsquo;informatique de rationaliser les op\u00e9rations avec pr\u00e9cision.<\/p>\n<h2>Contexte<\/h2>\n<p>Le script en question vise \u00e0 simplifier le processus de v\u00e9rification des chemins en v\u00e9rifiant non seulement si un chemin sp\u00e9cifi\u00e9 existe, mais aussi en mettant \u00e0 jour un champ personnalis\u00e9 en fonction de ce r\u00e9sultat. Cette double fonctionnalit\u00e9 est inestimable pour les professionnels de l&rsquo;informatique et les <a href=\"https:\/\/www.ninjaonesandbox.dev\/fr\/quest-ce-quun-msp\">fournisseurs de services g\u00e9r\u00e9s (MSP)<\/a> qui s&rsquo;appuient sur des donn\u00e9es en temps r\u00e9el pour surveiller les installations, les mises \u00e0 jour ou l&rsquo;\u00e9tat des logiciels sur plusieurs syst\u00e8mes. En int\u00e9grant un m\u00e9canisme de feedback personnalis\u00e9, le script permet aux utilisateurs de l&rsquo;adapter \u00e0 leurs outils de surveillance et tableaux de bord sp\u00e9cifiques.<\/p>\n<h2>Le script<\/h2>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"powershell\">&lt;#\r\n.SYNOPSIS\r\n    Updates a custom field with Yes or No, depending if the path exists or not.\r\n.DESCRIPTION\r\n    Updates a custom field with Yes or No, depending if the path exists or not.\r\n.EXAMPLE\r\n     -Path \"$env:APPDATAZoombin\" -CustomField \"Zoom\"\r\n    Check if Zoom is installed for the current user. Set custom field \"Zoom\" to \"Yes\" if the folder exists or \"No\" if it doesn't.\r\n.EXAMPLE\r\n    PS C:&gt; Set-IfPathExists.ps1 -Path \"$env:APPDATAZoombin\" -CustomField \"Zoom\"\r\n    Check if Zoom is installed for the current user. Set custom field \"Zoom\" to \"Yes\" if the folder exists or \"No\" if it doesn't.\r\n.OUTPUTS\r\n    None\r\n.NOTES\r\n    Minimum OS Architecture Supported: Windows 7, Windows Server 2008\r\n    Release Notes:\r\n    Initial Release\r\n By using this script, you indicate your acceptance of the following legal terms as well as our Terms of Use at https:\/\/www.ninjaonesandbox.dev\/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    # Path to file or folder\r\n    [Parameter(Mandatory = $true)][String]$Path,\r\n    # THe custom field that we will be updating\r\n    [Parameter(Mandatory = $true)][String]$CustomField,\r\n    # Text that will be saved to the custom field when file\/folder exists\r\n    [Parameter(Mandatory = $false)][String]$Exists = \"Yes\",\r\n    # Text that will be saved to the custom field when file\/folder does not exist\r\n    [Parameter(Mandatory = $false)][String]$NotExist = \"No\"\r\n)\r\n\r\nbegin {}\r\nprocess {\r\n    $CustomFieldValue = $(\r\n        if ($(Test-Path -Path $Path -ErrorAction SilentlyContinue)) {\r\n            $Exists\r\n        }\r\n        else {\r\n            $NotExist\r\n        }\r\n    )\r\n    Ninja-Property-Set -Name $CustomField -Value $CustomFieldValue\r\n}\r\nend {}\r\n<\/pre>\n<p>&nbsp;<\/p>\n\n<div class=\"in-context-cta\"><p style=\"text-align: center;\">Acc\u00e9dez \u00e0 plus de 700\u00a0scripts dans le Dojo NinjaOne<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.ninjaonesandbox.dev\/fr\/phase-de-test-gratuit\/\">Obtenir l&rsquo;acc\u00e8s<\/a><\/p>\n<\/div>\n<h2>Description d\u00e9taill\u00e9e<\/h2>\n<p>D\u00e9composons les \u00e9l\u00e9ments du script\u00a0:<\/p>\n<h3><strong>Param\u00e8tres<\/strong>\u00a0:<\/h3>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"2\" data-aria-level=\"1\"><strong>$Path<\/strong>\u00a0: Sp\u00e9cifie l&#8217;emplacement du fichier ou du dossier.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"3\" data-aria-level=\"1\"><strong>$CustomField<\/strong>\u00a0: Renvoie au champ personnalis\u00e9 \u00e0 mettre \u00e0 jour en fonction du r\u00e9sultat.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"4\" data-aria-level=\"1\"><strong>$Exists<\/strong>\u00a0: Champ de texte indiquant la pr\u00e9sence d&rsquo;un chemin d\u2019acc\u00e8s.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"5\" data-aria-level=\"1\"><strong>$NotExist<\/strong>\u00a0: Champ de texte indiquant l&rsquo;absence de chemin d\u2019acc\u00e8s.<\/li>\n<\/ul>\n<h3><strong>Bloc \u00ab\u00a0process\u00a0\u00bb<\/strong>\u00a0:<\/h3>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"5\" data-aria-level=\"1\">La cmdlet <strong>Test-Path<\/strong> v\u00e9rifie si le <strong>$Path<\/strong> sp\u00e9cifi\u00e9 existe.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"5\" data-aria-level=\"1\">En fonction du r\u00e9sultat, la variable <strong>$CustomFieldValue<\/strong> se voit attribuer la valeur <strong>$Exists<\/strong> ou <strong>$NotExist<\/strong>.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"5\" data-aria-level=\"1\"><strong>Ninja-Property-Set<\/strong> met \u00e0 jour le <strong>champ $CustomField<\/strong> avec la <strong>valeur $CustomFieldValue<\/strong>.<\/li>\n<\/ul>\n<h2>Cas d&rsquo;utilisation potentiels<\/h2>\n<p>Prenons l&rsquo;exemple d&rsquo;un responsable informatique qui supervise le d\u00e9ploiement de logiciels au sein d&rsquo;une entreprise. Il veut s&rsquo;assurer que Zoom est install\u00e9 sur le poste de travail de chaque employ\u00e9. Au lieu de naviguer manuellement sur chaque poste de travail, il d\u00e9ploie ce script \u00e0 l&rsquo;\u00e9chelle du r\u00e9seau. Il v\u00e9rifie l&rsquo;existence du chemin d&rsquo;installation de Zoom et met \u00e0 jour un tableau de bord centralis\u00e9, permettant au gestionnaire de voir, en un coup d&rsquo;\u0153il, quelles machines ont Zoom d\u2019install\u00e9.<\/p>\n<h2>Comparaisons<\/h2>\n<p>Bien qu&rsquo;il existe des m\u00e9thodes manuelles pour v\u00e9rifier l&rsquo;existence d&rsquo;un chemin, telles que la navigation dans les dossiers ou l&rsquo;utilisation de l&rsquo;option Propri\u00e9t\u00e9s de l&rsquo;interface graphique, la fonction <strong>Test-Path<\/strong> de PowerShell est efficace et \u00e9volutive. En outre, l&rsquo;int\u00e9gration du test de cheminement avec un m\u00e9canisme de feedback personnalis\u00e9, comme le montre ce script, offre un degr\u00e9 suppl\u00e9mentaire de personnalisation que l&rsquo;on ne trouve g\u00e9n\u00e9ralement pas dans les solutions pr\u00eates \u00e0 l&#8217;emploi.<\/p>\n<h2>FAQ scripts et chemin d&rsquo;acc\u00e8s<\/h2>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><strong>Que se passe-t-il si le chemin d&rsquo;acc\u00e8s sp\u00e9cifi\u00e9 ($Path) est incorrect\u00a0?<\/strong><br \/>\nLe script renvoie la valeur <strong>$NotExist<\/strong> s&rsquo;il ne trouve pas le chemin.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"3\" data-aria-level=\"1\"><strong>Comment Ninja-Property-Set est-il utilis\u00e9 ici\u00a0?<\/strong><br \/>\nIl s&rsquo;agit d&rsquo;un espace r\u00e9serv\u00e9 pour une fonction hypoth\u00e9tique qui met les propri\u00e9t\u00e9s \u00e0 jour. Dans une application r\u00e9elle, vous le remplaceriez par une fonction r\u00e9elle compatible avec votre outil de surveillance.<\/li>\n<\/ul>\n<h2>Implications<\/h2>\n<p>Bien que le script facilite l&rsquo;automatisation, il a une incidence sur la s\u00e9curit\u00e9 informatique. Si des entit\u00e9s malveillantes acc\u00e8dent au tableau de bord, elles peuvent d\u00e9tecter les vuln\u00e9rabilit\u00e9s des logiciels en fonction des installations. Il est essentiel de veiller \u00e0 ce que les r\u00e9sultats de ce script soient conserv\u00e9s dans un environnement s\u00e9curis\u00e9.<\/p>\n<h2>Recommandations<\/h2>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\">Testez toujours le script dans un environnement contr\u00f4l\u00e9 avant de le d\u00e9ployer.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"2\" data-aria-level=\"1\">Mettez r\u00e9guli\u00e8rement \u00e0 jour la liste des chemins d\u2019acc\u00e8s \u00e0 v\u00e9rifier, en veillant \u00e0 ce qu&rsquo;elle reste pertinente.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"2\" data-aria-level=\"1\">Veillez \u00e0 ce que les donn\u00e9es g\u00e9n\u00e9r\u00e9es par le script soient stock\u00e9es et transmises en toute s\u00e9curit\u00e9.<\/li>\n<\/ul>\n<h2>Conclusion<\/h2>\n<p>NinjaOne, en tant que <a href=\"https:\/\/www.ninjaonesandbox.dev\/fr\/\">solution de gestion informatique int\u00e9gr\u00e9e<\/a>, peut exploiter encore davantage les capacit\u00e9s du script. En int\u00e9grant des scripts de ce type, NinjaOne peut offrir des informations plus pr\u00e9cises en temps r\u00e9el, ce qui permet aux professionnels de l&rsquo;informatique de <a href=\"https:\/\/www.ninjaonesandbox.dev\/fr\/efficacite\/\">g\u00e9rer et de surveiller les syst\u00e8mes de mani\u00e8re efficace<\/a>. Associer la polyvalence de PowerShell \u00e0 la plateforme compl\u00e8te de NinjaOne garantit des op\u00e9rations informatiques performantes et rationalis\u00e9es.<\/p>\n","protected":false},"author":35,"featured_media":144805,"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-208427","script_hub","type-script_hub","status-publish","has-post-thumbnail","hentry","script_hub_category-windows"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.ninjaonesandbox.dev\/fr\/wp-json\/wp\/v2\/script_hub\/208427","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ninjaonesandbox.dev\/fr\/wp-json\/wp\/v2\/script_hub"}],"about":[{"href":"https:\/\/www.ninjaonesandbox.dev\/fr\/wp-json\/wp\/v2\/types\/script_hub"}],"author":[{"embeddable":true,"href":"https:\/\/www.ninjaonesandbox.dev\/fr\/wp-json\/wp\/v2\/users\/35"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ninjaonesandbox.dev\/fr\/wp-json\/wp\/v2\/comments?post=208427"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ninjaonesandbox.dev\/fr\/wp-json\/wp\/v2\/media\/144805"}],"wp:attachment":[{"href":"https:\/\/www.ninjaonesandbox.dev\/fr\/wp-json\/wp\/v2\/media?parent=208427"}],"wp:term":[{"taxonomy":"script_hub_category","embeddable":true,"href":"https:\/\/www.ninjaonesandbox.dev\/fr\/wp-json\/wp\/v2\/operating_system?post=208427"},{"taxonomy":"use_cases","embeddable":true,"href":"https:\/\/www.ninjaonesandbox.dev\/fr\/wp-json\/wp\/v2\/use_cases?post=208427"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}