{"id":208417,"date":"2024-01-22T10:53:52","date_gmt":"2024-01-22T10:53:52","guid":{"rendered":"https:\/\/www.ninjaone.com\/script-hub\/comment-utiliser-powershell-pour-comparer-l-heure-systeme\/"},"modified":"2024-03-04T20:29:38","modified_gmt":"2024-03-04T20:29:38","slug":"comment-utiliser-powershell-pour-comparer-l-heure-systeme","status":"publish","type":"script_hub","link":"https:\/\/www.ninjaone.com\/fr\/script-hub\/comment-utiliser-powershell-pour-comparer-l-heure-systeme\/","title":{"rendered":"Comment utiliser PowerShell pour comparer l&rsquo;heure syst\u00e8me avec celle des serveurs NTP ?"},"content":{"rendered":"<p>La synchronisation temporelle est un \u00e9l\u00e9ment essentiel de l&rsquo;informatique. Veiller \u00e0 ce que les appareils d&rsquo;un r\u00e9seau aient des temps congruents est vital pour diverses fonctionnalit\u00e9s et protocoles de s\u00e9curit\u00e9. Cet article pr\u00e9sente un script PowerShell con\u00e7u pour <strong>comparer l&rsquo;heure syst\u00e8me avec celle d&rsquo;un serveur NTP<\/strong>, en signalant si la diff\u00e9rence d\u00e9passe un certain seuil.<\/p>\n<h2>Contexte<\/h2>\n<p>Avec l&rsquo;\u00e9volution des infrastructures informatiques modernes, l&rsquo;importance de la pr\u00e9cision du temps s&rsquo;est amplifi\u00e9e. Des disparit\u00e9s, m\u00eame aussi minimes que quelques secondes, peuvent faire des ravages, en provoquant des anomalies dans les applications ou en compromettant la s\u00e9curit\u00e9. 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> doivent assurer une synchronisation pr\u00e9cise de l&rsquo;heure entre les appareils. Notre script sert d&rsquo;outil pour rep\u00e9rer les divergences.<\/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    Compares the local system time to an NTP server, returning an exit code of 0 if less than a 2 minute difference or 1 if more than 2 minute difference.\r\n.DESCRIPTION\r\n    Compares the local system time to an NTP server, returning an exit code of 0 if less than a 2 minute difference or 1 if more than 2 minute difference.\r\n.EXAMPLE\r\n    No parameters needed\r\n    The maximum acceptable time difference of 2 minute.\r\n.EXAMPLE\r\n    -Max 5\r\n    The maximum acceptable time difference of 5 minute.\r\n.EXAMPLE\r\n    -NtpServer \"pool.ntp.org\"\r\n    The maximum acceptable time difference of 2 minute, but uses the ntp.org's pool and use the time server pool \"pool.ntp.org\".\r\n    Alterative pools:\r\n    time.google.com\r\n    time.cloudflare.com\r\n    time.facebook.com\r\n    time.apple.com\r\n    time.nist.gov\r\n.OUTPUTS\r\n    None\r\n.NOTES\r\n    Minimum OS Architecture Supported: Windows 10, Windows Server 2016\r\n    Exit code 1: If the time is off more than Max\r\n    Exit code 0: If the time is off less than or equal to Max\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    [Parameter()]\r\n    [int]\r\n    $Max = 2,\r\n    [Parameter()]\r\n    [string]\r\n    $NtpServer = \"time.windows.com\"\r\n)\r\n\r\nbegin {}\r\nprocess {\r\n    Write-Host \"Using NTP server($NtpServer) to get time.\"\r\n    $TimeSample = w32tm.exe \/StripChart \/Computer:\"$NtpServer\" \/DataOnly \/Samples:1\r\n    $Diff = $($($TimeSample | Select-Object -Last 1) -split ', ' | Select-Object -Last 1) -replace '+' -replace '-'\r\n    $TimeScale = $Diff -split '' | Select-Object -Last 1 -Skip 1\r\n\r\n    # Convert to minutes\r\n    $Diff = switch ($TimeScale) {\r\n        \"s\" { [double]$($Diff -replace 's') \/ 60 }\r\n        \"m\" { [double]$($Diff -replace 'm') }\r\n        \"h\" { [double]$($Diff -replace 'h') * 60 * 60 }\r\n        \"d\" { [double]$($Diff -replace 'd') * 60 * 60 * 24 }\r\n        Default {}\r\n    }\r\n    Write-Host \"Time Difference between NTP server and local system: $($([Math]::Round($Diff,2))) minutes\"\r\n\r\n    if ($Max -lt 0) {\r\n        # If Max is negative then flip the sign to positive\r\n        $Max = 0 - $Max\r\n    }\r\n\r\n    # Only output this if -Verbose is used\r\n    Write-Verbose \"$($Diff) minutes &gt; $Max minutes = $($Diff -gt $Max)\"\r\n    # Assuming that $Max and $Diff are positive\r\n    if (\r\n        $Diff -gt $Max\r\n    ) {\r\n        # If time difference &gt; $Max then return exit code of 1\r\n        Write-Host \"Time is over the maximum minutes of $Max.\"\r\n        exit 1\r\n    }\r\n    else {\r\n        # If time difference &lt; $Max then return exit code of 0\r\n        Write-Host \"Time is under the maximum minutes of $Max.\"\r\n        exit 0\r\n    }\r\n}\r\nend {}<\/pre>\n<p>&nbsp;<\/p>\n\n<div class=\"in-context-cta\"><p style=\"text-align: center;\">Acc\u00e9dez \u00e0 plus de 700 scripts dans le Dojo NinjaOne<\/p>\n<p style=\"text-align: center;\"><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<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>Cmdlet Binding et param\u00e8tres<\/strong>: Le script utilise l&rsquo;attribut CmdletBinding, ce qui lui permet d&rsquo;\u00eatre utilis\u00e9 comme cmdlet et d&rsquo;exploiter les fonctionnalit\u00e9s int\u00e9gr\u00e9es de PowerShell. Deux param\u00e8tres sont d\u00e9clar\u00e9s : <strong>$Max<\/strong>, la diff\u00e9rence de temps maximale acceptable (2 minutes par d\u00e9faut), et <strong>$NtpServer<\/strong>, le serveur \u00e0 v\u00e9rifier (time.windows.com par d\u00e9faut).<\/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\"><strong>Bloc \u00ab\u00a0process\u00a0\u00bb<\/strong>: La logique principale est ex\u00e9cut\u00e9e ici.<\/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\">Il r\u00e9cup\u00e8re le d\u00e9calage horaire \u00e0 l&rsquo;aide de <strong>w32tm.exe<\/strong>, un outil de ligne de commande Windows.<\/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\">Il analyse le temps obtenu, en discernant la diff\u00e9rence et son \u00e9chelle (secondes, minutes, etc.).<\/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\">Il convertit le d\u00e9calage horaire en minutes.<\/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\">Compare la diff\u00e9rence calcul\u00e9e \u00e0 <strong>$Max<\/strong> et renvoie le code de sortie appropri\u00e9.<\/li>\n<\/ul>\n<h2>Cas d&rsquo;utilisation potentiels<\/h2>\n<p>Imaginez un professionnel de l&rsquo;informatique qui supervise un vaste r\u00e9seau d&rsquo;appareils au sein d&rsquo;une entreprise. Il a observ\u00e9 des anomalies dans les applications enregistrant des actions horodat\u00e9es. Pour \u00e9tablir un diagnostic, il d\u00e9ploie ce script afin de rep\u00e9rer les appareils pr\u00e9sentant des diff\u00e9rences de temps significatives. Les r\u00e9sultats obtenus leur permettent de proc\u00e9der aux ajustements n\u00e9cessaires.<\/p>\n<h2>Comparaisons<\/h2>\n<p>Bien qu&rsquo;il existe des outils bas\u00e9s sur une interface graphique et des applications tierces qui offrent des fonctions de synchronisation du temps, ce script se distingue par sa simplicit\u00e9 et son adaptabilit\u00e9. Il peut \u00eatre int\u00e9gr\u00e9 dans les flux de travail informatiques ou les outils d&rsquo;automatisation existants, ce qui en fait une option polyvalente.<\/p>\n<h2>FAQ<\/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>Puis-je utiliser diff\u00e9rents serveurs NTP ?<\/strong><br \/>\nOui, le script fournit un serveur par d\u00e9faut, mais avec le param\u00e8tre <strong>$NtpServer<\/strong>, vous pouvez sp\u00e9cifier un autre serveur.<\/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=\"1\" data-aria-level=\"1\"><strong>Que se passe-t-il si je souhaite d\u00e9finir un autre seuil ?<\/strong><br \/>\nModifiez le param\u00e8tre <strong>$Max<\/strong> pour qu&rsquo;il corresponde au nombre de minutes souhait\u00e9.<\/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=\"1\" data-aria-level=\"1\"><strong>Le script est-il seulement pour Windows ?<\/strong><br \/>\nLe script fourni est con\u00e7u pour Windows, en particulier les versions 10 et Server 2016.<\/li>\n<\/ul>\n<h2>Implications<\/h2>\n<p>Les d\u00e9calages horaires peuvent sembler anodins, mais ils peuvent avoir des cons\u00e9quences consid\u00e9rables. Des horodatages diff\u00e9rents peuvent compromettre l&rsquo;int\u00e9grit\u00e9 des donn\u00e9es, affecter les t\u00e2ches planifi\u00e9es et cr\u00e9er des vuln\u00e9rabilit\u00e9s. Les attaquants peuvent exploiter les lacunes temporelles, c&rsquo;est pourquoi des contr\u00f4les r\u00e9guliers \u00e0 l&rsquo;aide d&rsquo;outils tels que ce script sont essentiels pour la s\u00e9curit\u00e9 informatique.<\/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\">Ex\u00e9cutez le script \u00e0 intervalles r\u00e9guliers pour assurer une surveillance continue.<\/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\">V\u00e9rifiez toujours la validit\u00e9 du serveur NTP utilis\u00e9.<\/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\">En cas de divergences, il convient d&rsquo;en rechercher la cause initiale, car elles peuvent \u00eatre le signe de probl\u00e8mes sous-jacents plus importants.<\/li>\n<\/ul>\n<h2>Conclusion<\/h2>\n<p>Bien que ces scripts soient inestimables, une <a href=\"https:\/\/www.ninjaone.com\/fr\/\">plateforme compl\u00e8te comme NinjaOne<\/a> peut am\u00e9liorer votre gestion informatique. Int\u00e9grant des <a href=\"https:\/\/www.ninjaone.com\/fr\/rmm\/automatisation-informatique\/\">contr\u00f4les, une surveillance et une rem\u00e9diation automatis\u00e9s<\/a>, NinjaOne peut compl\u00e9ter des outils tels que notre script PowerShell, garantissant que votre infrastructure reste \u00e0 la fois fonctionnelle et s\u00e9curis\u00e9e.<\/p>\n","protected":false},"author":35,"featured_media":144308,"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-208417","script_hub","type-script_hub","status-publish","has-post-thumbnail","hentry","script_hub_category-windows","use_cases-configuration-de-systeme"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/script_hub\/208417","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=208417"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/media\/144308"}],"wp:attachment":[{"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/media?parent=208417"}],"wp:term":[{"taxonomy":"script_hub_category","embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/operating_system?post=208417"},{"taxonomy":"use_cases","embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/use_cases?post=208417"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}