{"id":208364,"date":"2024-01-03T09:50:18","date_gmt":"2024-01-03T09:50:18","guid":{"rendered":"https:\/\/www.ninjaone.com\/script-hub\/desactiver-ou-activer-la-boite-de-dialogue-executer-de-windows-powershell\/"},"modified":"2024-03-04T18:40:52","modified_gmt":"2024-03-04T18:40:52","slug":"desactiver-ou-activer-la-boite-de-dialogue-executer-de-windows-powershell","status":"publish","type":"script_hub","link":"https:\/\/www.ninjaone.com\/fr\/script-hub\/desactiver-ou-activer-la-boite-de-dialogue-executer-de-windows-powershell\/","title":{"rendered":"Comment d\u00e9sactiver ou activer la bo\u00eete de dialogue Ex\u00e9cuter de Windows \u00e0 l&rsquo;aide de PowerShell ?"},"content":{"rendered":"<p>Dans le monde complexe de l&rsquo;informatique, la gestion de l&rsquo;acc\u00e8s des utilisateurs \u00e0 certaines fonctionnalit\u00e9s du syst\u00e8me est de la plus haute importance. L&rsquo;une de ces fonctions est la bo\u00eete de dialogue Ex\u00e9cuter de Windows. Mais pourquoi les professionnels de l&rsquo;informatique voudraient-ils en restreindre l&rsquo;acc\u00e8s ? Ce guide examine en profondeur le <strong>script PowerShell con\u00e7u pour contr\u00f4ler l&rsquo;accessibilit\u00e9 de la bo\u00eete de dialogue Ex\u00e9cuter<\/strong> et ce qu&rsquo;impliquent de telles actions.<\/p>\n<h2>Vue d&rsquo;ensemble de la bo\u00eete de dialogue Ex\u00e9cuter de Windows<\/h2>\n<ul>\n<li>\n<h3>Qu&rsquo;est-ce que la bo\u00eete de dialogue Ex\u00e9cuter de Windows ?<\/h3>\n<ul>\n<li>La bo\u00eete de dialogue Ex\u00e9cuter de Windows est une fonction qui offre aux utilisateurs un moyen rapide de lancer des programmes, d&rsquo;ouvrir des dossiers et d&rsquo;ex\u00e9cuter des commandes syst\u00e8me. En appuyant sur Windows + R, une petite bo\u00eete de dialogue appara\u00eet, permettant aux utilisateurs de saisir directement des commandes.<\/li>\n<\/ul>\n<\/li>\n<li>\n<h3>Comment la bo\u00eete de dialogue Ex\u00e9cuter de Windows est-elle utilis\u00e9e ?<\/h3>\n<ul>\n<li>Elle est principalement utilis\u00e9e pour un acc\u00e8s rapide. Au lieu de naviguer dans plusieurs menus ou dossiers, les utilisateurs peuvent simplement taper une commande ou un chemin dans la bo\u00eete de dialogue Ex\u00e9cuter pour lancer instantan\u00e9ment un programme ou ouvrir un r\u00e9pertoire.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2>Cons\u00e9quences de la d\u00e9sactivation de la bo\u00eete de dialogue Ex\u00e9cuter de Windows sur la s\u00e9curit\u00e9<\/h2>\n<h3>Quels sont les risques ?<\/h3>\n<p>En d\u00e9sactivant la bo\u00eete de dialogue Ex\u00e9cuter, vous risquez d&rsquo;entraver involontairement votre productivit\u00e9. Certains utilisateurs avanc\u00e9s utilisent la bo\u00eete de dialogue Ex\u00e9cuter pour effectuer des t\u00e2ches rapides et g\u00e9rer le syst\u00e8me. En outre, si elle n&rsquo;est pas effectu\u00e9e correctement, la manipulation des param\u00e8tres du syst\u00e8me peut entra\u00eener d&rsquo;autres probl\u00e8mes involontaires.<\/p>\n<h3>Quels sont les avantages ?<\/h3>\n<p>Le principal avantage est l&rsquo;am\u00e9lioration de la s\u00e9curit\u00e9. La d\u00e9sactivation de la bo\u00eete de dialogue Ex\u00e9cuter peut emp\u00eacher des actions non autoris\u00e9es ou malveillantes, en particulier de la part d&rsquo;utilisateurs qui ne connaissent pas bien le fonctionnement du syst\u00e8me. Il r\u00e9duit le risque de modifications accidentelles ou d&rsquo;ex\u00e9cution de commandes nuisibles.<\/p>\n<h3>Comment r\u00e9duire les risques ?<\/h3>\n<p>Avant de mettre en \u0153uvre tout changement, il est essentiel de :<\/p>\n<ul>\n<li>Communiquer avec les utilisateurs, en particulier avec ceux qui pourraient \u00eatre affect\u00e9s par le changement.<\/li>\n<li>Fournir des m\u00e9thodes ou des outils alternatifs pour les t\u00e2ches qui \u00e9taient auparavant effectu\u00e9es \u00e0 l&rsquo;aide de la bo\u00eete de dialogue Ex\u00e9cuter.<\/li>\n<li>Veillez \u00e0 ce qu&rsquo;il y ait un moyen de revenir rapidement sur les modifications si n\u00e9cessaire.<\/li>\n<\/ul>\n<h2>Contexte<\/h2>\n<p>Le script PowerShell fourni est un outil robuste permettant aux professionnels de l&rsquo;informatique et aux fournisseurs de services g\u00e9r\u00e9s (MSP) de contr\u00f4ler l&rsquo;accessibilit\u00e9 de la bo\u00eete de dialogue Ex\u00e9cuter. Dans les environnements o\u00f9 la s\u00e9curit\u00e9 est une priorit\u00e9 absolue, ces outils deviennent indispensables. La capacit\u00e9 du script \u00e0 exclure des utilisateurs sp\u00e9cifiques de ces restrictions ajoute une couche de flexibilit\u00e9, garantissant que l&rsquo;acc\u00e8s n\u00e9cessaire n&rsquo;est pas compl\u00e8tement supprim\u00e9.<\/p>\n<h2>Le script<\/h2>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"powershell\">#Requires -Version 2.0\r\n\r\n&lt;#\r\n.SYNOPSIS\r\n    Disables or enables the Run Dialog for all users and new users.\r\n.DESCRIPTION\r\n    Disables or enables the Run Dialog for all users and new users, and there is an option to exclude users.\r\n    Reboot is required to apply changes.\r\n.EXAMPLE\r\n    -Disable\r\n    Disables the Run Dialog for all users and new users.\r\n.EXAMPLE\r\n    -Disable -ExcludeUsers \"Test1\", \"Test2\"\r\n    Disables the Run Dialog for all users and new users, but excludes Test1 and Test2 users.\r\n.EXAMPLE\r\n    -Enable\r\n    Enables the Run Dialog for all users and new users.\r\n.EXAMPLE\r\n    -Enable -ExcludeUsers \"Test1\", \"Test2\"\r\n    Enables the Run Dialog for all users and new users, but excludes Test1 and Test2 users.\r\n.OUTPUTS\r\n    None\r\n.NOTES\r\n    General notes\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(Mandatory = $true, ParameterSetName = \"Disable\")]\r\n    [Switch]\r\n    $Disable,\r\n    [Parameter(Mandatory = $true, ParameterSetName = \"Enable\")]\r\n    [Switch]\r\n    $Enable,\r\n    [Parameter(Mandatory = $false, ParameterSetName = \"Disable\")]\r\n    [Parameter(Mandatory = $false, ParameterSetName = \"Enable\")]\r\n    [String[]]\r\n    $ExcludeUsers\r\n)\r\n\r\nbegin {\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        # Do not output errors and continue\r\n        $ErrorActionPreference = [System.Management.Automation.ActionPreference]::SilentlyContinue\r\n        if (-not $(Test-Path -Path $Path)) {\r\n            # Check if path does not exist and create the path\r\n            New-Item -Path $Path -Force | Out-Null\r\n        }\r\n        if ((Get-ItemProperty -Path $Path -Name $Name)) {\r\n            # Update property and print out what it was changed from and changed to\r\n            $CurrentValue = Get-ItemProperty -Path $Path -Name $Name\r\n            try {\r\n                Set-ItemProperty -Path $Path -Name $Name -Value $Value -Force -Confirm:$false -ErrorAction Stop | Out-Null\r\n            }\r\n            catch {\r\n                Write-Error $_\r\n            }\r\n            Write-Host \"$Path$Name changed from $CurrentValue to $(Get-ItemProperty -Path $Path -Name $Name)\"\r\n        }\r\n        else {\r\n            # Create property with value\r\n            try {\r\n                New-ItemProperty -Path $Path -Name $Name -Value $Value -PropertyType $PropertyType -Force -Confirm:$false -ErrorAction Stop | Out-Null\r\n            }\r\n            catch {\r\n                Write-Error $_\r\n            }\r\n            Write-Host \"Set $Path$Name to $(Get-ItemProperty -Path $Path -Name $Name)\"\r\n        }\r\n        $ErrorActionPreference = [System.Management.Automation.ActionPreference]::Continue\r\n    }\r\n}\r\nprocess {\r\n    $Path = \"SoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer\"\r\n    $Name = \"NoRun\"\r\n    $Value = if ($Disable) { 1 }elseif ($Enable) { 0 }else {\r\n        Write-Host \"Either -Enable or -Disable is required to function.\"\r\n        exit 0\r\n    }\r\n\r\n    # Get each user profile SID and Path to the profile\r\n    $UserProfiles = Get-ItemProperty \"HKLM:SOFTWAREMicrosoftWindows NTCurrentVersionProfileList*\" |\r\n        Where-Object { $_.PSChildName -match \"S-1-5-21-(d+-?){4}$\" } |\r\n        Select-Object @{Name = \"SID\"; Expression = { $_.PSChildName } }, @{Name = \"UserHive\"; Expression = { \"$($_.ProfileImagePath)NTuser.dat\" } }, @{Name = \"UserName\"; Expression = { \"$($_.ProfileImagePath | Split-Path -Leaf)\" } } |\r\n        Where-Object { $ExcludeUsers -notcontains $_.UserName }\r\n    \r\n    # Add in the .DEFAULT User Profile\r\n    $DefaultProfile = \"\" | Select-Object SID, UserHive, UserName\r\n    $DefaultProfile.SID = \".DEFAULT\"\r\n    $DefaultProfile.UserHive = \"C:UsersPublicNTuser.dat\"\r\n    try {\r\n        # Fix for edge case where PSObject is missing the add operator\r\n        $UserProfiles = {\r\n            $UserProfiles | ForEach-Object { $_ }\r\n            $DefaultProfile\r\n        }.Invoke()\r\n    }\r\n    catch {\r\n        Write-Host \"Failed to update default profile, skipping.\"\r\n    }\r\n    \r\n\r\n    # Loop through each profile on the machine\r\n    Foreach ($UserProfile in $UserProfiles) {\r\n        # Load User ntuser.dat if it's not already loaded\r\n        If (($ProfileWasLoaded = Test-Path -Path \"Registry::HKEY_USERS$($UserProfile.SID)\") -eq $false) {\r\n            Start-Process -FilePath \"cmd.exe\" -ArgumentList \"\/C reg.exe LOAD HKU$($UserProfile.SID) $($UserProfile.UserHive)\" -Wait -WindowStyle Hidden\r\n        }\r\n        # Manipulate the registry\r\n        $key = \"Registry::HKEY_USERS$($UserProfile.SID)$($Path)\"\r\n        Set-ItemProp -Path $key -Name $Name -Value $Value\r\n \r\n        # Unload NTuser.dat\r\n        If ($ProfileWasLoaded -eq $false) {\r\n            [gc]::Collect()\r\n            Start-Sleep 1\r\n            Start-Process -FilePath \"cmd.exe\" -ArgumentList \"\/C reg.exe UNLOAD HKU$($UserProfile.SID)\" -Wait -WindowStyle Hidden | Out-Null\r\n        }\r\n    }\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>Description d\u00e9taill\u00e9e<\/h2>\n<p>Le script commence par d\u00e9finir des param\u00e8tres, permettant aux utilisateurs de d\u00e9sactiver ou d&rsquo;activer la bo\u00eete de dialogue Ex\u00e9cuter et m\u00eame d&rsquo;exclure des utilisateurs sp\u00e9cifiques. Une fonction, Set-ItemProp, est ensuite d\u00e9finie pour g\u00e9rer la cr\u00e9ation ou la modification des cl\u00e9s de registre. Le processus principal consiste \u00e0 d\u00e9finir le chemin d&rsquo;acc\u00e8s au registre relatif \u00e0 la bo\u00eete de dialogue Ex\u00e9cuter, \u00e0 r\u00e9cup\u00e9rer tous les profils d&rsquo;utilisateur, puis \u00e0 parcourir en boucle chaque profil pour modifier le registre en cons\u00e9quence.<\/p>\n<h2>Cas d&rsquo;utilisation potentiels<\/h2>\n<p>Prenons l&rsquo;exemple d&rsquo;une professionnelle de l&rsquo;informatique, Sarah, qui travaille dans une universit\u00e9. Pour s&rsquo;assurer que les ordinateurs du laboratoire sont utilis\u00e9s uniquement \u00e0 des fins acad\u00e9miques, Sarah d\u00e9cide de d\u00e9sactiver la bo\u00eete de dialogue Ex\u00e9cuter, en excluant les profils des assistants du laboratoire. Ce script permet \u00e0 Sarah d&rsquo;atteindre cet \u00e9quilibre entre s\u00e9curit\u00e9 et accessibilit\u00e9.<\/p>\n<h2>Comparaisons<\/h2>\n<p>Bien que la strat\u00e9gie de groupe permette de d\u00e9sactiver la bo\u00eete de dialogue Ex\u00e9cuter, il se peut qu&rsquo;elle n&rsquo;offre pas la m\u00eame granularit\u00e9 que ce script. L&rsquo;approche directe de ce script offre plus de souplesse, en particulier dans les grandes entreprises.<\/p>\n<h2>FAQ<\/h2>\n<ul>\n<li>Puis-je utiliser ce script pour exclure plusieurs utilisateurs ?<br \/>\nOui, il est possible d&rsquo;exclure plusieurs utilisateurs \u00e0 l&rsquo;aide du param\u00e8tre -ExcludeUsers.<\/li>\n<li>Un red\u00e9marrage est-il n\u00e9cessaire apr\u00e8s l&rsquo;ex\u00e9cution du script ?<br \/>\nOui, un red\u00e9marrage garantit l&rsquo;application des modifications.<\/li>\n<\/ul>\n<h2>Recommandations<\/h2>\n<ul>\n<li>Sauvegarder l&rsquo;\u00e9tat actuel du registre avant d&rsquo;effectuer des modifications.<\/li>\n<li>Testez d&rsquo;abord le script dans un environnement contr\u00f4l\u00e9.<\/li>\n<li>Maintenez \u00e0 jour la liste des utilisateurs exclus.<\/li>\n<\/ul>\n<h2>Conclusions<\/h2>\n<p>Dans le monde dynamique de l&rsquo;informatique, des outils comme NinjaOne offrent une <a href=\"https:\/\/www.ninjaone.com\/fr\/\">plateforme centralis\u00e9e pour la gestion informatique<\/a>. L&rsquo;int\u00e9gration de scripts tels que celui pr\u00e9sent\u00e9 ici permet aux professionnels de l&rsquo;informatique de rester \u00e9quip\u00e9s pour relever tous les d\u00e9fis, en particulier lorsqu&rsquo;il s&rsquo;agit de g\u00e9rer des fonctions telles que la bo\u00eete de dialogue Ex\u00e9cuter de Windows.<\/p>\n","protected":false},"author":35,"featured_media":207083,"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-208364","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\/208364","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=208364"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/media\/207083"}],"wp:attachment":[{"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/media?parent=208364"}],"wp:term":[{"taxonomy":"script_hub_category","embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/operating_system?post=208364"},{"taxonomy":"use_cases","embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/use_cases?post=208364"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}