{"id":208400,"date":"2024-01-22T10:22:40","date_gmt":"2024-01-22T10:22:40","guid":{"rendered":"https:\/\/www.ninjaone.com\/script-hub\/supprimer-un-ordinateur-d-un-domaine-avec-powershell\/"},"modified":"2024-03-04T19:11:02","modified_gmt":"2024-03-04T19:11:02","slug":"supprimer-un-ordinateur-d-un-domaine-avec-powershell","status":"publish","type":"script_hub","link":"https:\/\/www.ninjaone.com\/fr\/script-hub\/supprimer-un-ordinateur-d-un-domaine-avec-powershell\/","title":{"rendered":"Comment supprimer un ordinateur d&rsquo;un domaine avec PowerShell"},"content":{"rendered":"<p>Dans le monde de la gestion informatique, il est fondamental de s&rsquo;assurer que les appareils sont correctement ajout\u00e9s ou retir\u00e9s d&rsquo;un domaine de r\u00e9seau. Pour les professionnels de l&rsquo;informatique, cette t\u00e2che est g\u00e9n\u00e9ralement r\u00e9p\u00e9titive, mais on ne saurait trop insister sur l&rsquo;importance d&rsquo;une ex\u00e9cution sans faille. Aujourd&rsquo;hui, nous allons nous plonger dans un script PowerShell con\u00e7u pour <strong>supprimer un ordinateur d&rsquo;un domaine<\/strong>, sans aucun effort.<\/p>\n<h2>Contexte<\/h2>\n<p>Le script fourni r\u00e9pond au besoin sp\u00e9cifique d&rsquo;automatiser les op\u00e9rations de sortie du domaine. Les domaines servent \u00e0 regrouper les comptes d&rsquo;utilisateurs, les ordinateurs et les strat\u00e9gies de groupe de fa\u00e7on centralis\u00e9e. Un professionnel de l&rsquo;informatique peut vouloir retirer un ordinateur d&rsquo;un domaine pour diverses raisons, qu&rsquo;il s&rsquo;agisse de s\u00e9curit\u00e9, de changements d&rsquo;infrastructure ou de mise hors service du mat\u00e9riel. L&rsquo;ex\u00e9cution manuelle de cette t\u00e2che n&rsquo;est pas seulement chronophage, elle est \u00e9galement sujette \u00e0 des erreurs humaines. C&rsquo;est pourquoi un script PowerShell performant comme celui pr\u00e9sent\u00e9 ci-dessus est inestimable pour 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>.<\/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    Removes the computer from the domain.\r\n.DESCRIPTION\r\n    Removes the computer from the domain.\r\n.EXAMPLE\r\n     -UserName \"MyDomainUser\" -Password \"Somepass1\" -LocalUserName \"Administrator\" -LocalPassword \"Somepass1\"\r\n    Removes the computer from the domain and restarts the computer.\r\n.EXAMPLE\r\n     -UserName \"MyDomainUser\" -Password \"Somepass1\" -LocalUserName \"Administrator\" -LocalPassword \"Somepass1\" -NoRestart\r\n    Removes the computer from the domain and does not restart the computer.\r\n.EXAMPLE\r\n    PS C:&gt; Leave-Domain.ps1 -UserName \"MyDomainUser\" -Password \"Somepass1\" -LocalUserName \"Administrator\" -LocalPassword \"Somepass1\" -NoRestart\r\n    Removes the computer from the domain and does not restart the computer.\r\n.OUTPUTS\r\n    String[]\r\n.NOTES\r\n    Minimum OS Architecture Supported: Windows 7, Windows Server 2012\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    ManageUsers\r\n#&gt;\r\n\r\n[CmdletBinding()]\r\nparam (\r\n    # Use a Domain UserName to remove this computer to a domain, this requires the Password parameter to be used as well\r\n    [Parameter(Mandatory = $true)]\r\n    [String]\r\n    $UserName,\r\n    # Use a Domain Password to remove a computer from a domain\r\n    [Parameter(Mandatory = $true)]\r\n    $Password,\r\n    # Use a local admin's UserName to remove this computer from a domain, this requires the Password parameter to be used as well\r\n    [Parameter(Mandatory = $true)]\r\n    [String]\r\n    $LocalUserName,\r\n    # Use a local admin's Password to remove this computer from a domain\r\n    [Parameter(Mandatory = $true)]\r\n    $LocalPassword,\r\n    # Do not restart computer after leaving to a domain\r\n    [Switch]\r\n    $NoRestart\r\n)\r\n    \r\nbegin {\r\n    Write-Output \"Starting Leave Domain\"\r\n    \r\n    # Converts username and password into a credential object\r\n    $LeaveCred = [PSCredential]::new($UserName, $(ConvertTo-SecureString -String $Password -AsPlainText -Force))\r\n    \r\n    # Converts username and password into a credential object\r\n    $LocalCred = [PSCredential]::new($LocalUserName, $(ConvertTo-SecureString -String $LocalPassword -AsPlainText -Force))\r\n}\r\n    \r\nprocess {\r\n    Write-Output \"Removing computer($env:COMPUTERNAME) from domain\"\r\n    $script:LeaveResult = $false\r\n    try {\r\n        $LeaveResult = if ($NoRestart) {\r\n            (Remove-Computer -UnjoinDomainCredential $LeaveCred -PassThru -Force -LocalCredential $LocalCred -Confirm:$false).HasSucceeded\r\n            # Do not restart after leaving\r\n        }\r\n        else {\r\n            # Restart after leaving\r\n            (Remove-Computer -UnjoinDomainCredential $LeaveCred -PassThru -Force -Restart -LocalCredential $LocalCred -Confirm:$false).HasSucceeded\r\n        }    \r\n    }\r\n    catch {\r\n        Write-Error \"Failed to Leave Domain\"\r\n    }\r\n    if ($LeaveResult) {\r\n        if ($NoRestart) {\r\n            Write-Output \"Removed computer($env:COMPUTERNAME) from domain and not restarting computer\"\r\n        }\r\n        else {\r\n            Write-Output \"Removed computer($env:COMPUTERNAME) from domain and restarting computer\"\r\n        }\r\n    }\r\n    else {\r\n        Write-Output \"Failed to remove computer($env:COMPUTERNAME) from domain\"\r\n        # Clean up credentials so that they don't leak outside this script\r\n        $LeaveCred = $null\r\n        $LocalCred = $null\r\n        exit 1\r\n    }\r\n}\r\n    \r\nend {\r\n    # Clean up credentials so that they don't leak outside this script\r\n    $LeaveCred = $null\r\n    $LocalCred = $null\r\n    Write-Output \"Completed Leave Domain\"\r\n}\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 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<p>Le texte suit une approche modulaire, comprenant trois sections principales : <strong>begin<\/strong>, <strong>process<\/strong> et <strong>end<\/strong>.<\/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\">Dans la section <strong>\u00ab\u00a0begin\u00a0\u00bb<\/strong>, il initialise le script, accepte des param\u00e8tres tels que le domaine et les noms d&rsquo;utilisateur\/mots de passe locaux, et construit des objets d&rsquo;authentification \u00e0 partir de ces param\u00e8tres.<\/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\">La section <strong>\u00ab\u00a0process\u00a0\u00bb<\/strong> \u00a0\u00bb est celle o\u00f9 se d\u00e9roule l&rsquo;op\u00e9ration proprement dite. Il utilise la cmdlet <strong>Remove-Computer<\/strong> de PowerShell, un outil puissant con\u00e7u pour supprimer l&rsquo;ordinateur de son domaine actuel. La flexibilit\u00e9 du script permet de red\u00e9marrer l&rsquo;ordinateur apr\u00e8s la suppression ou de le laisser en marche, selon les pr\u00e9f\u00e9rences de l&rsquo;utilisateur.<\/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\">La section <strong>\u00ab\u00a0end\u00a0\u00bb<\/strong> concerne le nettoyage, en veillant \u00e0 ce que les informations d&rsquo;identification utilis\u00e9es soient effac\u00e9es afin d&rsquo;\u00e9viter tout probl\u00e8me de s\u00e9curit\u00e9 potentiel.<\/li>\n<\/ul>\n<h2>Cas d&rsquo;utilisation potentiels<\/h2>\n<p>Imaginez un professionnel de l&rsquo;informatique, Alex, qui g\u00e8re l&rsquo;infrastructure du r\u00e9seau d&rsquo;une entreprise de taille moyenne. Ils viennent de mettre hors service plusieurs anciens postes de travail et les ont remplac\u00e9s par de nouveaux. Au lieu de s\u00e9parer manuellement chaque ordinateur du domaine, Alex utilise ce script, ce qui lui permet d&rsquo;\u00e9conomiser des heures de travail et de s&rsquo;assurer qu&rsquo;aucune information d&rsquo;identification r\u00e9siduelle n&rsquo;est laiss\u00e9e sur les machines mises hors service.<\/p>\n<h2>Comparaisons<\/h2>\n<p>Alors que la m\u00e9thode bas\u00e9e sur l&rsquo;interface graphique, via les \u00ab\u00a0Propri\u00e9t\u00e9s du syst\u00e8me\u00a0\u00bb, offre une approche plus visuelle, le <a href=\"https:\/\/www.ninjaone.com\/blog\/how-to-automate-tasks-with-powershell\/\">script PowerShell excelle en termes d&rsquo;automatisation<\/a>, d&rsquo;\u00e9volutivit\u00e9 et de pr\u00e9cision. Pour supprimer un seul ordinateur, l&rsquo;interface graphique peut suffire, mais pour les op\u00e9rations \u00e0 grande \u00e9chelle, PowerShell n&rsquo;a pas d&rsquo;\u00e9gal.<\/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>Ai-je besoin de droits d&rsquo;administrateur pour ex\u00e9cuter ce script ?<\/strong> Oui, la suppression d&rsquo;un ordinateur d&rsquo;un domaine n\u00e9cessite des droits d&rsquo;administrateur \u00e0 la fois sur la machine locale et sur le domaine.<\/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>Que se passe-t-il si je ne fournis pas le commutateur -NoRestart ?<\/strong> Par d\u00e9faut, l&rsquo;ordinateur red\u00e9marre apr\u00e8s avoir \u00e9t\u00e9 retir\u00e9 du domaine.<\/li>\n<\/ul>\n<h2>Implications<\/h2>\n<p>L&rsquo;utilisation de scripts de ce type pour g\u00e9rer les op\u00e9rations du domaine n&rsquo;est pas seulement une question de commodit\u00e9, mais aussi de s\u00e9curit\u00e9. Il est primordial de s&rsquo;assurer que les informations d&rsquo;identification ne fuient pas, comme le fait ce script. Une suppression de domaine mal g\u00e9r\u00e9e peut laisser des failles aux cyber-attaquants.<\/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 dans un sc\u00e9nario r\u00e9el.<\/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 des m\u00e9canismes de sauvegarde soient en place, en particulier lorsque vous effectuez des modifications importantes.<\/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 le script \u00e0 jour pour tenir compte des modifications apport\u00e9es au syst\u00e8me d&rsquo;exploitation ou aux commandes PowerShell.<\/li>\n<\/ul>\n<h2>Conclusion<\/h2>\n<p>Si les scripts PowerShell tels que celui pr\u00e9sent\u00e9 ici sont d&rsquo;une grande utilit\u00e9, l&rsquo;utilisation de plateformes telles que NinjaOne permet de rationaliser davantage les op\u00e9rations informatiques. NinjaOne fournit une <a href=\"https:\/\/www.ninjaone.com\/fr\/plateforme-de-gestion-de-terminaux\/\">plateforme unifi\u00e9e de surveillance et de gestion informatique<\/a>, int\u00e9grant de mani\u00e8re optimale les <a href=\"https:\/\/www.ninjaone.com\/fr\/blog\/category\/scripts-fr\/\">scripts<\/a>, l&rsquo;automatisation et une multitude de t\u00e2ches informatiques au m\u00eame endroit. Pour les professionnels qui cherchent \u00e0 optimiser leurs t\u00e2ches de gestion informatique, des outils comme ce script, lorsqu&rsquo;ils sont int\u00e9gr\u00e9s \u00e0 des plateformes comme NinjaOne, offrent un horizon prometteur.<\/p>\n","protected":false},"author":35,"featured_media":144230,"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-208400","script_hub","type-script_hub","status-publish","has-post-thumbnail","hentry","script_hub_category-windows","use_cases-configuration-generale"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/script_hub\/208400","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=208400"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/media\/144230"}],"wp:attachment":[{"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/media?parent=208400"}],"wp:term":[{"taxonomy":"script_hub_category","embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/operating_system?post=208400"},{"taxonomy":"use_cases","embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/use_cases?post=208400"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}