{"id":208420,"date":"2024-01-19T07:02:29","date_gmt":"2024-01-19T07:02:29","guid":{"rendered":"https:\/\/www.ninjaone.com\/script-hub\/powershell-rechercher-emplacement-appareil\/"},"modified":"2024-03-04T18:26:56","modified_gmt":"2024-03-04T18:26:56","slug":"powershell-rechercher-emplacement-appareil","status":"publish","type":"script_hub","link":"https:\/\/www.ninjaone.com\/fr\/script-hub\/powershell-rechercher-emplacement-appareil\/","title":{"rendered":"PowerShell\u00a0: r\u00e9cup\u00e9rer l&#8217;emplacement d&rsquo;un appareil \u00e0 l&rsquo;aide de l&rsquo;API GeoLocation de Google"},"content":{"rendered":"<h2>Principaux points \u00e0 retenir<\/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\">Le script r\u00e9cup\u00e8re l&#8217;emplacement g\u00e9ographique d&rsquo;un appareil \u00e0 l&rsquo;aide de l&rsquo;API GeoLocation de Google.<\/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\">Le script est con\u00e7u pour mettre \u00e0 jour les champs personnalis\u00e9s de NinjaOne avec des donn\u00e9es de localisation.<\/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\">Le script n\u00e9cessite une connexion internet active et est optimis\u00e9 pour les appareils Windows\u00a010.<\/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\">L&rsquo;API GeoLocation de Google offre une pr\u00e9cision et une couverture plus vaste que les autres m\u00e9thodes de g\u00e9olocalisation.<\/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\">L&rsquo;utilisation du script pour le suivi de la localisation soul\u00e8ve des questions d&rsquo;\u00e9thique et de respect de la vie priv\u00e9e.<\/li>\n<li>Il est essentiel d&rsquo;obtenir des autorisations explicites avant de d\u00e9ployer cet outil afin d&rsquo;\u00e9viter toute violation de la vie priv\u00e9e.<\/li>\n<li>Il est essentiel de conna\u00eetre le nombre limite de demandes et les co\u00fbts associ\u00e9s \u00e0 l&rsquo;API de Google.<\/li>\n<li>La plateforme NinjaOne, associ\u00e9e \u00e0 de tels scripts, offre de solides capacit\u00e9s pour les op\u00e9rations informatiques et la gestion des actifs.<\/li>\n<\/ul>\n<p>Dans l&rsquo;\u00e9cosyst\u00e8me informatique interconnect\u00e9 d&rsquo;aujourd&rsquo;hui, l&rsquo;une des informations les plus pr\u00e9cieuses est la \u00ab\u00a0localisation\u00a0\u00bb. La possibilit\u00e9 de suivre l&#8217;emplacement g\u00e9ographique des appareils peut s&rsquo;av\u00e9rer cruciale pour de nombreuses op\u00e9rations informatiques, de la gestion des actifs \u00e0 la surveillance de la s\u00e9curit\u00e9. Cet article examine un script PowerShell qui permet aux professionnels de l&rsquo;informatique et aux fournisseurs de services g\u00e9r\u00e9s (MSP) d&rsquo;<strong>obtenir l&#8217;emplacement d&rsquo;un appareil Windows<\/strong> et de le stocker en utilisant les champs personnalis\u00e9s de NinjaOne.<\/p>\n<h2>Contexte<\/h2>\n<p>Le script en question met \u00e0 jour les champs personnalis\u00e9s avec les coordonn\u00e9es g\u00e9ographiques et l&rsquo;adresse d&rsquo;un appareil \u00e0 l&rsquo;aide de l&rsquo;<a href=\"https:\/\/developers.google.com\/maps\/documentation\/geolocation\/overview\" target=\"_blank\" rel=\"noopener\">API GeoLocation de Google<\/a>. Pour les professionnels de l&rsquo;informatique et les entreprises MSP, il est essentiel de conna\u00eetre l&#8217;emplacement physique d&rsquo;un appareil. Qu&rsquo;il s&rsquo;agisse de retrouver du mat\u00e9riel vol\u00e9, d&rsquo;auditer des appareils ou de v\u00e9rifier la r\u00e9partition g\u00e9ographique des actifs informatiques, les applications d&rsquo;un tel script peuvent \u00eatre diverses et complexes.<\/p>\n<h2>Le script PowerShell<\/h2>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"powershell\">#Requires -Version 5.1\r\n\r\n&lt;#\r\n.SYNOPSIS\r\n    Updates Custom Fields with the location of a device based on the Google GeoLocation API.\r\n.DESCRIPTION\r\n    Updates Custom Fields with the location of a device based on the Google GeoLocation API.\r\n\r\n    The CustomFieldName parameter can be used to specify which custom field to save the Latitude and Longitude coordinates to.\r\n    The AddressCustomFieldName parameter can be used to specify which custom field to save the address to.\r\n\r\n    This script requires a custom field to save location data in NinjaRMM.\r\n    The default for CustomFieldName is \"Location\".\r\n    The default for AddressCustomFieldName is \"Address\".\r\n    You can use any text custom field that you wish.\r\n.EXAMPLE\r\n    -GoogleApiKey \"&lt;GeoLocation API key here&gt;\"\r\n    Saves the Latitude and Longitude coordinates to the custom field named Location.\r\n.EXAMPLE\r\n    -GoogleApiKey \"&lt;GeoLocation API key here&gt;\" -CustomFieldName \"Location\" -AddressCustomFieldName \"Address\"\r\n    Saves the Latitude and Longitude coordinates to the custom field named Location as well as the address to Address.\r\n.INPUTS\r\n    None\r\n.OUTPUTS\r\n    None\r\n.NOTES\r\n    Minimum OS Architecture Supported: Windows 10\r\n    Release Notes:\r\n    Updated to work with either Parameters or Script Variables\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]\r\n    $GoogleApiKey,\r\n    [Parameter()]\r\n    [String]\r\n    $CustomFieldName = \"Location\",\r\n    [Parameter()]\r\n    [String]\r\n    $AddressCustomFieldName = \"Address\"\r\n)\r\n\r\nbegin {\r\n    function Test-StringEmpty {\r\n        param([string]$Text)\r\n        # Returns true if string is empty, null, or whitespace\r\n        process { [string]::IsNullOrEmpty($Text) -or [string]::IsNullOrWhiteSpace($Text) }\r\n    }\r\n    function Get-NearestCity {\r\n        param (\r\n            [double]$lat,\r\n            [double]$lon,\r\n            [string]$GoogleApi\r\n        )\r\n        try {\r\n            $Response = Invoke-RestMethod -Uri \"http:\/\/maps.googleapis.com\/maps\/api\/geocode\/json?latlng=$lat,$lon&amp;key=$GoogleApi\"\r\n        }\r\n        catch {\r\n            throw $Error[0]\r\n        }\r\n        return $Response.results[0].formatted_address\r\n    }\r\n    function Get-WifiNetwork {\r\n        end {\r\n            try {\r\n                netsh.exe wlan sh net mode=bssid | ForEach-Object -Process {\r\n                    if ($_ -match '^SSID (d+) : (.*)$') {\r\n                        $current = @{}\r\n                        $networks += $current\r\n                        $current.Index = $matches[1].trim()\r\n                        $current.SSID = $matches[2].trim()\r\n                    }\r\n                    else {\r\n                        if ($_ -match '^s+(.*)s+:s+(.*)s*$') {\r\n                            $current[$matches[1].trim()] = $matches[2].trim()\r\n                        }\r\n                    }\r\n                } -Begin { $networks = @() } -End { $networks | ForEach-Object { New-Object -TypeName \"PSObject\" -Property $_ } }    \r\n            }\r\n            catch {\r\n                # return nothing\r\n            }\r\n        }\r\n    }\r\n\r\n    # Check if Script Variables are being used\r\n    if (-not $(Test-StringEmpty -Text $env:GoogleApiKey)) {\r\n        $GoogleApiKey = $env:GoogleApiKey\r\n    }\r\n    if (-not $(Test-StringEmpty -Text $env:CustomFieldName)) {\r\n        $CustomFieldName = $env:CustomFieldName\r\n    }\r\n    if (-not $(Test-StringEmpty -Text $env:AddressCustomFieldName)) {\r\n        $AddressCustomFieldName = $env:AddressCustomFieldName\r\n    }\r\n    # Check if api key is set, error if not set\r\n    if ($(Test-StringEmpty -Text $GoogleApiKey)) {\r\n        # Both Parameter and Script Variable are empty\r\n        # Can not combine Parameter \"[Parameter(Mandatory)]\" and Script Variable Required\r\n        Write-Error \"GoogleApiKey is required.\"\r\n        exit 1\r\n    }\r\n\r\n    # Use the system's new line\r\n    $NewLine = $([System.Environment]::NewLine)\r\n\r\n    # Build URL with API key\r\n    $Url = \"https:\/\/www.googleapis.com\/geolocation\/v1\/geolocate?key=$GoogleApiKey\"\r\n}\r\nprocess {\r\n    # Get WIFI network data nearby\r\n    $WiFiData = Get-WifiNetwork |\r\n        Select-Object @{name = 'age'; expression = { 0 } },\r\n        @{name = 'macAddress'; expression = { $_.'BSSID 1' } },\r\n        @{name = 'channel'; expression = { $_.Channel } },\r\n        @{name = 'signalStrength'; expression = { (($_.Signal -replace \"%\") \/ 2) - 100 } }\r\n\r\n    # Check if we got any number access points\r\n    $Body = if ($WiFiData -and $WiFiData.Count -gt 0) {\r\n        @{\r\n            considerIp       = $true\r\n            wifiAccessPoints = $WiFiData\r\n        } | ConvertTo-Json\r\n    }\r\n    else {\r\n        @{\r\n            considerIp = $true\r\n        } | ConvertTo-Json\r\n    }\r\n\r\n    # Get our lat,lng position\r\n    try {\r\n        $Response = Invoke-RestMethod -Method Post -Uri $Url -Body $Body -ContentType \"application\/json\" -ErrorVariable Err\r\n    }\r\n    catch {\r\n        Write-Error $_\r\n        exit 1\r\n    }\r\n\r\n    # Save the relevant results to variable that have shorter names\r\n    $Lat = $Response.location.lat\r\n    $Lon = $Response.location.lng\r\n\r\n    try {\r\n        # Save Latitude, Longitude to the custom field from the CustomFieldName parameter\r\n        Ninja-Property-Set -Name $CustomFieldName -Value \"$Lat,$Lon\"\r\n    }\r\n    catch {\r\n        Write-Error \"Failed to save to CustomFieldName($CustomFieldName)\"\r\n        exit 1\r\n    }\r\n\r\n    if ( $(Test-StringEmpty -Text $AddressCustomFieldName) -and $(Test-StringEmpty -Text $env:AddressCustomFieldName)) {\r\n        # Both Parameter and Variable are empty\r\n        Write-Output \"$($NewLine)Location: $Lat,$Lon\"\r\n    }\r\n    else {\r\n        if ($(Test-StringEmpty -Text $AddressCustomFieldName)) {\r\n            # Parameter was not used\r\n            $AddressCustomFieldName = $env:AddressCustomFieldName\r\n        }\r\n\r\n        try {\r\n            # Get City from Google API's\r\n            # Google API: https:\/\/developers.google.com\/maps\/documentation\/geocoding\/requests-reverse-geocoding\r\n            $Address = Get-NearestCity -lat $Lat -lon $Lon -GoogleApi $GoogleApiKey\r\n        }\r\n        catch {\r\n            Write-Error \"Failed to save to get nearest city.\"\r\n            exit 1\r\n        }\r\n\r\n        try {\r\n            # Save Lat and Lon to custom field\r\n            Ninja-Property-Set -Name $AddressCustomFieldName -Value \"$Address\"\r\n            Write-Output \"$($NewLine)Location: $Address`: $Lat,$Lon\"\r\n        }\r\n        catch {\r\n            Write-Error \"Failed to save to AddressCustomFieldName($AddressCustomFieldName)\"\r\n            exit 1\r\n        }\r\n    }\r\n    exit 0\r\n}\r\nend {\r\n    $ScriptVariables = @(\r\n        [PSCustomObject]@{\r\n            name           = \"GoogleApiKey\"\r\n            calculatedName = \"GoogleApiKey\"\r\n            required       = $true\r\n            defaultValue   = $null\r\n            valueType      = \"TEXT\"\r\n            valueList      = $null\r\n            description    = \"\"\r\n        }\r\n        [PSCustomObject]@{\r\n            name           = \"CustomFieldName\"\r\n            calculatedName = \"CustomFieldName\"\r\n            required       = $false\r\n            defaultValue   = [PSCustomObject]@{\r\n                type  = \"TEXT\"\r\n                value = \"Location\"\r\n            }\r\n            valueType      = \"TEXT\"\r\n            valueList      = $null\r\n            description    = \"\"\r\n        }\r\n    )\r\n}<\/pre>\n<p>&nbsp;<\/p>\n\n<div class=\"in-context-cta\"><p>Acc\u00e9dez \u00e0 plus de 700\u00a0scripts dans le Dojo NinjaOne<\/p>\n<p><a href=\"https:\/\/www.ninjaone.com\/fr\/phase-de-test-gratuit\/\">Obtenir l&rsquo;acc\u00e8s<\/a><\/p>\n<\/div>\n<h2>Description d\u00e9taill\u00e9e<\/h2>\n<p>Le texte peut \u00eatre divis\u00e9 en trois grandes parties\u00a0:<\/p>\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>Initialisation<\/strong>\u00a0:\u00a0Le script commence par d\u00e9finir des param\u00e8tres tels que GoogleApiKey, CustomFieldName et AddressCustomFieldName. Ces param\u00e8tres servent d&rsquo;entr\u00e9es pour personnaliser le comportement du script.<\/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>Op\u00e9rations principales<\/strong> :\u00a0 la partie principale du script implique de :<\/li>\n<li>V\u00e9rifier les r\u00e9seaux WiFi disponibles autour de l&rsquo;appareil.<\/li>\n<li>Construire une charge utile avec des donn\u00e9es WiFi et l&rsquo;envoyer au service de g\u00e9olocalisation de Google pour obtenir la latitude et la longitude.<\/li>\n<li>Rechercher la ville ou l&rsquo;adresse la plus proche \u00e0 l&rsquo;aide des coordonn\u00e9es obtenues.<\/li>\n<li>Mettre \u00e0 jour des champs personnalis\u00e9s dans NinjaOne avec les donn\u00e9es de localisation.<\/li>\n<li><strong>Op\u00e9rations finales<\/strong> :\u00a0 des variables de script (ScriptVariables) sont initialis\u00e9es pour stocker les donn\u00e9es et faciliter les op\u00e9rations ult\u00e9rieures.<\/li>\n<\/ul>\n<h2>Cas d&rsquo;utilisation potentiels<\/h2>\n<p>Prenons l&rsquo;exemple d&rsquo;un professionnel de l&rsquo;informatique, Alex, qui travaille pour une grande entreprise. Il a \u00e9t\u00e9 charg\u00e9 d&rsquo;auditer tous les ordinateurs portables dans plusieurs bureaux. \u00c0 l&rsquo;aide de ce script, Alex peut rapidement obtenir l&#8217;emplacement g\u00e9ographique de chaque ordinateur portable gr\u00e2ce \u00e0 l&rsquo;API GeoLocation de Google et s&rsquo;assurer qu&rsquo;ils se trouvent bien \u00e0 l&rsquo;endroit o\u00f9 ils ont \u00e9t\u00e9 d\u00e9clar\u00e9s.<\/p>\n<h2>Comparaisons<\/h2>\n<p>L&rsquo;approche du script s&rsquo;appuie sur l&rsquo;API GeoLocation de Google, qui fournit des informations pr\u00e9cises sur l&#8217;emplacement. D&rsquo;autres solutions peuvent consister \u00e0 utiliser les services de localisation natifs de Windows ou d&rsquo;autres API tierces. Cependant, la vaste quantit\u00e9 de donn\u00e9es et l&rsquo;infrastructure performante de Google en font un choix tout d\u00e9sign\u00e9 pour ce type d&rsquo;applications, car elles offrent une meilleure pr\u00e9cision et une couverture plus large.<\/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>Ce script PowerShell fonctionne-t-il hors ligne ?<\/strong><br \/>\nLe script n\u00e9cessite une connexion internet active pour communiquer avec les services de Google.<\/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>Le nombre de demandes de localisation est-il limit\u00e9\u00a0?<\/strong><br \/>\nL&rsquo;API GeoLocation de Google a des limites bas\u00e9es sur votre type de compte et votre statut de facturation.<\/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>Le script PowerShell ne fonctionne-t-il que sous Windows 10 ?<\/strong><br \/>\nLe syst\u00e8me d&rsquo;exploitation minimum requis pour le script est Windows\u00a010.<\/li>\n<\/ul>\n<h2>Implications<\/h2>\n<p>Si la possibilit\u00e9 de localiser un appareil constitue un excellent outil pour la gestion des actifs et la s\u00e9curit\u00e9, elle pose \u00e9galement des probl\u00e8mes de protection de la vie priv\u00e9e. Il est essentiel que les \u00e9quipes informatiques veillent \u00e0 ce que cet outil soit utilis\u00e9 de mani\u00e8re \u00e9thique, avec les autorisations et les informations n\u00e9cessaires. Le suivi non autoris\u00e9 peut entra\u00eener des violations des lois et r\u00e9glementations en mati\u00e8re de protection de la vie priv\u00e9e.<\/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\">Obtenez toujours une autorisation explicite avant d&rsquo;ex\u00e9cuter ce script PowerShell sur un appareil.<\/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\">Assurez-vous de bien conna\u00eetre le nombre limite de demandes et les co\u00fbts associ\u00e9s \u00e0 l&rsquo;API GeoLocation de Google.<\/li>\n<li>Examinez et auditez r\u00e9guli\u00e8rement vos journaux afin de pr\u00e9venir toute utilisation abusive.<\/li>\n<\/ul>\n<h2>Conclusion<\/h2>\n<p>Pour les entreprises MSP et les professionnels de l&rsquo;informatique, NinjaOne constitue une plateforme pr\u00e9cieuse pour <a href=\"https:\/\/www.ninjaone.com\/fr\/operations-informatiques-unifiees\/\">centraliser et rationaliser les op\u00e9rations informatiques<\/a>. L&rsquo;int\u00e9gration de tels scripts pour r\u00e9cup\u00e9rer l&#8217;emplacement des appareils amplifie encore les capacit\u00e9s de NinjaOne, ce qui en fait un outil indispensable pour les environnements informatiques modernes. Les scripts PowerShell, en particulier celui pr\u00e9sent\u00e9 ci-dessus, offrent aux utilisateurs de NinjaOne un niveau suppl\u00e9mentaire de flexibilit\u00e9 et de puissance, les aidant \u00e0 suivre le rythme d&rsquo;un monde informatique dynamique.<\/p>\n","protected":false},"author":35,"featured_media":145000,"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":[4289],"class_list":["post-208420","script_hub","type-script_hub","status-publish","has-post-thumbnail","hentry","script_hub_category-windows","use_cases-gestion-des-utilisateurs-et-des-acces"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/script_hub\/208420","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=208420"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/media\/145000"}],"wp:attachment":[{"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/media?parent=208420"}],"wp:term":[{"taxonomy":"script_hub_category","embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/operating_system?post=208420"},{"taxonomy":"use_cases","embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/use_cases?post=208420"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}