{"id":208363,"date":"2024-01-03T09:48:34","date_gmt":"2024-01-03T09:48:34","guid":{"rendered":"https:\/\/www.ninjaone.com\/script-hub\/activer-ou-desactiver-la-collecte-de-donnees-de-windows-10-script-powershell\/"},"modified":"2024-03-04T18:48:20","modified_gmt":"2024-03-04T18:48:20","slug":"activer-ou-desactiver-la-collecte-de-donnees-de-windows-10-script-powershell","status":"publish","type":"script_hub","link":"https:\/\/www.ninjaone.com\/fr\/script-hub\/activer-ou-desactiver-la-collecte-de-donnees-de-windows-10-script-powershell\/","title":{"rendered":"Comment activer ou d\u00e9sactiver la collecte de donn\u00e9es de Windows 10 (script PowerShell)"},"content":{"rendered":"<p>Dans notre monde num\u00e9rique, la confidentialit\u00e9 et la s\u00e9curit\u00e9 des donn\u00e9es sont devenues primordiales. La popularit\u00e9 croissante de Windows 10 s&rsquo;accompagne d&rsquo;inqui\u00e9tudes quant \u00e0 ses fonctionnalit\u00e9s de collecte de donn\u00e9es. Pour les professionnels de l&rsquo;informatique et les fournisseurs de services g\u00e9r\u00e9s (MSP), il est essentiel de comprendre et de contr\u00f4ler ces fonctionnalit\u00e9s. Cet article pr\u00e9sente un <strong>script PowerShell con\u00e7u pour activer ou d\u00e9sactiver les capacit\u00e9s de collecte de donn\u00e9es de Windows 10<\/strong>.<\/p>\n<h2>Contexte<\/h2>\n<p>Windows 10, comme de nombreux syst\u00e8mes d&rsquo;exploitation modernes, int\u00e8gre des fonctions de t\u00e9l\u00e9m\u00e9trie et de collecte de donn\u00e9es. Elles visent \u00e0 am\u00e9liorer l&rsquo;exp\u00e9rience de l&rsquo;utilisateur en collectant des donn\u00e9es sur les habitudes d&rsquo;utilisation, les erreurs, et bien plus. Toutefois, pour diverses raisons, notamment les pr\u00e9occupations en mati\u00e8re de protection de la vie priv\u00e9e et de conformit\u00e9 r\u00e9glementaire, les professionnels de l&rsquo;informatique et les entreprises MSP doivent souvent contr\u00f4ler ces fonctions. Le script fourni permet de g\u00e9rer ces param\u00e8tres de mani\u00e8re simplifi\u00e9e.<\/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    Enables or Disabled Windows 10 Linguistic Data Collection, Advertising ID, and Telemetry\r\n.DESCRIPTION\r\n    Enables or Disabled Windows 10 Linguistic Data Collection, Advertising ID, and Telemetry\r\n.EXAMPLE\r\n    No Params needed to Disable Windows 10 Linguistic Data Collection, Advertising ID, and Telemetry\r\n.EXAMPLE\r\n     -Enable\r\n    Enables Linguistic Data Collection, Advertising ID, and Telemetry\r\n.EXAMPLE\r\n    PS C:&gt; Set-Windows10KeyLogger.ps1\r\n    Disables Windows 10 Linguistic Data Collection, Advertising ID, and Telemetry\r\n.EXAMPLE\r\n    PS C:&gt; Set-Windows10KeyLogger.ps1 -Enable\r\n    Enables Windows 10 Linguistic Data Collection, Advertising ID, and Telemetry\r\n.OUTPUTS\r\n    None\r\n.NOTES\r\n    Minimum OS Architecture Supported: Windows 10\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.COMPONENT\r\n    OSSecurity\r\n#&gt;\r\n\r\n[CmdletBinding()]\r\nparam (\r\n    [Parameter()]\r\n    [Switch]\r\n    $Enable\r\n)\r\n\r\nbegin {\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        if ($p.IsInRole([System.Security.Principal.WindowsBuiltInRole]::Administrator))\r\n        { Write-Output $true }\r\n        else\r\n        { Write-Output $false }\r\n    }\r\n    function Set-ItemProp {\r\n        param (\r\n            $Path,\r\n            $Name,\r\n            $Value,\r\n            [ValidateSet('DWord', 'QWord', 'String', 'ExpandedString', 'Binary', 'MultiString', 'Unknown')]\r\n            $PropertyType = 'DWord'\r\n        )\r\n        New-Item -Path $Path -Force | Out-Null\r\n        if ((Get-ItemProperty -Path $Path -Name $Name -ErrorAction SilentlyContinue)) {\r\n            Set-ItemProperty -Path $Path -Name $Name -Value $Value -Force -Confirm:$false | Out-Null\r\n        }\r\n        else {\r\n            New-ItemProperty -Path $Path -Name $Name -Value $Value -PropertyType $PropertyType -Force -Confirm:$false | Out-Null\r\n        }\r\n    }\r\n    $Type = \"DWORD\"\r\n}\r\nprocess {\r\n    if (-not (Test-IsElevated)) {\r\n        Write-Error -Message \"Access Denied. Please run with Administrator privileges.\"\r\n        exit 1\r\n    }\r\n\r\n    $Value = if ($PSBoundParameters.ContainsKey(\"Enable\") -and $Enable) { 1 }else { 0 }\r\n\r\n    try {\r\n        @(\r\n            # Linguistic Data Collection\r\n            [PSCustomObject]@{\r\n                Path = \"HKLM:SOFTWAREMicrosoftWindowsCurrentVersionPoliciesTextInput\"\r\n                Name = \"AllowLinguisticDataCollection\"\r\n            }\r\n            # Advertising ID\r\n            [PSCustomObject]@{\r\n                Path = \"HKLM:SOFTWAREMicrosoftWindowsCurrentVersionAdvertisingInfo\"\r\n                Name = \"Enabled\"\r\n            }\r\n            # Telemetry\r\n            [PSCustomObject]@{\r\n                Path = \"HKLM:SOFTWAREPoliciesMicrosoftWindowsDataCollection\"\r\n                Name = \"AllowTelemetry\"\r\n            }\r\n        ) | ForEach-Object {\r\n            Set-ItemProp -Path $_.Path -Name $_.Name -Value $Value -PropertyType $Type\r\n            Write-Host \"$($_.Path)$($_.Name) set to $(Get-ItemPropertyValue -Path $_.Path -Name $_.Name)\"\r\n        }\r\n\r\n        if ($PSBoundParameters.ContainsKey(\"Enable\") -and $Enable) {\r\n            Write-Host \"Enabling DiagTrack Services\"\r\n            Get-Service -Name DiagTrack | Set-Service -StartupType Automatic | Start-Service\r\n        }\r\n        else { \r\n            Write-Host \"Disabling DiagTrack Services\"\r\n            Get-Service -Name DiagTrack | Set-Service -StartupType Disabled | Stop-Service\r\n        }\r\n\r\n        Write-Host \"DiagTrack Service status: $(Get-Service -Name DiagTrack | Select-Object -Property Status -ExpandProperty Status)\"\r\n        Write-Host \"DiagTrack Service is set to: $(Get-Service -Name dmwappushservice | Select-Object -Property StartType -ExpandProperty StartType)\"\r\n\r\n        if ($PSBoundParameters.ContainsKey(\"Enable\") -and $Enable) {\r\n            Get-Service -Name dmwappushservice | Set-Service -StartupType Manual\r\n        }\r\n        else { \r\n            Get-Service -Name dmwappushservice | Set-Service -StartupType Disabled | Stop-Service\r\n        }\r\n\r\n        Write-Host \"dmwappushservice Service status: $(Get-Service -Name dmwappushservice | Select-Object -Property Status -ExpandProperty Status)\"\r\n        Write-Host \"dmwappushservice Service is set to: $(Get-Service -Name dmwappushservice | Select-Object -Property StartType -ExpandProperty StartType)\"\r\n\r\n        $tasks = \"SmartScreenSpecific\", \"ProgramDataUpdater\", \"Microsoft Compatibility Appraiser\", \"AitAgent\", \"Proxy\", \"Consolidator\",\r\n        \"KernelCeipTask\", \"BthSQM\", \"CreateObjectTask\", \"WinSAT\", #\"Microsoft-Windows-DiskDiagnosticDataCollector\", # This is disabled by default\r\n        \"GatherNetworkInfo\", \"FamilySafetyMonitor\", \"FamilySafetyRefresh\", \"SQM data sender\", \"OfficeTelemetryAgentFallBack\",\r\n        \"OfficeTelemetryAgentLogOn\"\r\n        \r\n        if ($PSBoundParameters.ContainsKey(\"Enable\") -and $Enable) {\r\n            Write-Host \"Enabling telemetry scheduled tasks\"\r\n            $tasks | ForEach-Object {\r\n                Write-Host \"Enabling $_ Scheduled Task\"\r\n                # Note: ErrorAction set to SilentlyContinue so as to skip over any missing tasks. Enable-ScheduledTask will still error if it can't be enabled.\r\n                Get-ScheduledTask -TaskName $_ -ErrorAction SilentlyContinue | Enable-ScheduledTask\r\n                $State = Get-ScheduledTask -TaskName $_ -ErrorAction SilentlyContinue | Select-Object State -ExpandProperty State\r\n                Write-Host \"Scheduled Task: $_ is $State\"\r\n            }\r\n        }\r\n        else { \r\n            Write-Host \"Disabling telemetry scheduled tasks\"\r\n            $tasks | ForEach-Object {\r\n                Write-Host \"Disabling $_ Scheduled Task\"\r\n                # Note: ErrorAction set to SilentlyContinue so as to skip over any missing tasks. Disable-ScheduledTask will still error if it can't be disabled.\r\n                Get-ScheduledTask -TaskName $_ -ErrorAction SilentlyContinue | Disable-ScheduledTask\r\n                $State = Get-ScheduledTask -TaskName $_ -ErrorAction SilentlyContinue | Select-Object State -ExpandProperty State\r\n                Write-Host \"Scheduled Task: $_ is $State\"\r\n            }\r\n        }\r\n    }\r\n    catch {\r\n        Write-Error $_\r\n        exit 1\r\n    }\r\n    \r\n    gpupdate.exe \/force\r\n    exit 0\r\n}\r\nend {}<\/pre>\n<p>&nbsp;<\/p>\n\n<div class=\"in-context-cta\"><p>Acc\u00e9dez \u00e0 plus de 700 scripts dans le Dojo NinjaOne<\/p>\n<p><a href=\"https:\/\/www.ninjaone.com\/fr\/phase-de-test-gratuit\/\">Obtenez l&rsquo;acc\u00e8s<\/a><\/p>\n<\/div>\n<h2>R\u00e9sum\u00e9 d\u00e9taill\u00e9<\/h2>\n<p>Le script est un cmdlet PowerShell qui permet d&rsquo;activer la collecte de donn\u00e9es linguistiques, l&rsquo;identification publicitaire et la t\u00e9l\u00e9m\u00e9trie de Windows 10. Voici une description \u00e9tape par \u00e9tape :<\/p>\n<ol>\n<li>Pr\u00e9requis\u00a0: Le script n\u00e9cessite la version 5.1 de PowerShell.<\/li>\n<li>Param\u00e8tres : Le script accepte un commutateur optionnel -Enable. S&rsquo;il est fourni, il active les fonctions de collecte de donn\u00e9es; sinon, il les d\u00e9sactive.<\/li>\n<li>Fonctions :\n<ol>\n<li>Test-IsElevated : V\u00e9rifie si le script est ex\u00e9cut\u00e9 avec des privil\u00e8ges d&rsquo;administrateur.<\/li>\n<li>Set-ItemProp : D\u00e9finit ou cr\u00e9e une valeur de cl\u00e9 de registre.<\/li>\n<\/ol>\n<\/li>\n<li>Processus :\n<ol>\n<li>Tout d&rsquo;abord, le script v\u00e9rifie l&rsquo;existence de privil\u00e8ges d&rsquo;administrateur. S&rsquo;il n&rsquo;y en a pas, il s&rsquo;arr\u00eate.<\/li>\n<li>Il d\u00e9termine ensuite s&rsquo;il faut activer ou d\u00e9sactiver les fonctionnalit\u00e9s en fonction du commutateur -Enable.<\/li>\n<li>Le script modifie des cl\u00e9s de registre sp\u00e9cifiques correspondant \u00e0 la collecte de donn\u00e9es linguistiques, \u00e0 l&rsquo;identifiant publicitaire et \u00e0 la t\u00e9l\u00e9m\u00e9trie.<\/li>\n<li>Il g\u00e8re \u00e9galement les services DiagTrack et dmwappushservice, qui sont li\u00e9s \u00e0 la t\u00e9l\u00e9m\u00e9trie.<\/li>\n<li>Enfin, il active diverses t\u00e2ches planifi\u00e9es li\u00e9es \u00e0 la t\u00e9l\u00e9m\u00e9trie.<\/li>\n<\/ol>\n<\/li>\n<li>Ex\u00e9cution : Le script se termine par une <a href=\"https:\/\/www.ninjaone.com\/blog\/gpupdate-how-to-force-a-group-policy-update\/\">mise \u00e0 jour forc\u00e9e de la strat\u00e9gie de groupe (GPO)<\/a>.<\/li>\n<\/ol>\n<h2>Cas d&rsquo;utilisation potentiels<\/h2>\n<p>Imaginez qu&rsquo;un fournisseur de services informatiques (MSP) g\u00e8re l&rsquo;informatique d&rsquo;un prestataire de soins de sant\u00e9. En raison de la r\u00e9glementation HIPAA, ils doivent veiller \u00e0 ce que les fuites de donn\u00e9es soient minimales. \u00c0 l&rsquo;aide de ce script, l&rsquo;entreprise MSP peut rapidement d\u00e9sactiver toutes les fonctions de collecte de donn\u00e9es sur toutes les machines Windows 10 du r\u00e9seau, garantissant ainsi la conformit\u00e9 et am\u00e9liorant la confidentialit\u00e9 des donn\u00e9es des patients.<\/p>\n<h2>Comparaisons<\/h2>\n<p>Bien qu&rsquo;il existe des outils bas\u00e9s sur une interface graphique et des m\u00e9thodes manuelles pour basculer ces param\u00e8tres, ce script offre une solution plus efficace, reproductible et \u00e9volutive. Les m\u00e9thodes manuelles peuvent prendre du temps et \u00eatre sujettes \u00e0 des erreurs, en particulier sur plusieurs machines. Les outils d&rsquo;interface graphique peuvent ne pas offrir la pr\u00e9cision ou les capacit\u00e9s d&rsquo;automatisation d&rsquo;un script PowerShell.<\/p>\n<h2>FAQ<\/h2>\n<ul>\n<li>Puis-je ex\u00e9cuter ce script sur d&rsquo;anciennes versions de Windows ?<br \/>\nNon, ce script est con\u00e7u sp\u00e9cifiquement pour Windows 10.<\/li>\n<li>Ai-je besoin de privil\u00e8ges d&rsquo;administrateur pour ex\u00e9cuter le script ?<br \/>\nOui, le script n\u00e9cessite des droits d&rsquo;administrateur pour modifier les cl\u00e9s de registre et g\u00e9rer les services.<\/li>\n<\/ul>\n<h2>Implications<\/h2>\n<p>L&rsquo;utilisation de ce script peut am\u00e9liorer consid\u00e9rablement la confidentialit\u00e9 des donn\u00e9es, en particulier dans les secteurs soumis \u00e0 des r\u00e9glementations strictes. Cependant, la d\u00e9sactivation de certaines caract\u00e9ristiques peut limiter certaines fonctionnalit\u00e9s ou m\u00e9canismes de retour d&rsquo;information dans Windows 10. Les professionnels de l&rsquo;informatique doivent \u00e9valuer les avantages par rapport aux limites potentielles.<\/p>\n<h2>Recommandations<\/h2>\n<ul>\n<li>Sauvegardez toujours les param\u00e8tres du registre avant de les modifier.<\/li>\n<li>Testez le script dans un environnement contr\u00f4l\u00e9 avant de le d\u00e9ployer \u00e0 grande \u00e9chelle.<\/li>\n<li>R\u00e9visez et mettez \u00e0 jour r\u00e9guli\u00e8rement les scripts afin de prendre en compte les changements apport\u00e9s par les futures mises \u00e0 jour de Windows 10.<\/li>\n<\/ul>\n<h2>Conclusions<\/h2>\n<p>Pour les professionnels de l&rsquo;informatique et les MSP, des outils tels que NinjaOne peuvent s&rsquo;av\u00e9rer inestimables pour la <a href=\"https:\/\/www.ninjaone.com\/fr\/plateforme-de-gestion-de-terminaux\/surveillance-a-distance-du-parc-informatique\">gestion et la surveillance des environnements informatiques<\/a>. Associ\u00e9s \u00e0 des scripts tels que celui pr\u00e9sent\u00e9 ici, ils peuvent garantir une infrastructure informatique s\u00fbre, conforme et efficace. Au fur et \u00e0 mesure que les fonctionnalit\u00e9s de collecte de donn\u00e9es de Windows 10 \u00e9voluent, il sera essentiel de disposer d&rsquo;un ensemble d&rsquo;outils et d&rsquo;une base de connaissances solides.<\/p>\n","protected":false},"author":35,"featured_media":207109,"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-208363","script_hub","type-script_hub","status-publish","has-post-thumbnail","hentry","script_hub_category-windows"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/script_hub\/208363","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=208363"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/media\/207109"}],"wp:attachment":[{"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/media?parent=208363"}],"wp:term":[{"taxonomy":"script_hub_category","embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/operating_system?post=208363"},{"taxonomy":"use_cases","embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/use_cases?post=208363"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}