{"id":208146,"date":"2023-12-04T13:10:53","date_gmt":"2023-12-04T13:10:53","guid":{"rendered":"https:\/\/www.ninjaone.com\/script-hub\/rimuovere-un-computer-da-un-dominio-con-powershell-2\/"},"modified":"2024-03-04T19:11:08","modified_gmt":"2024-03-04T19:11:08","slug":"rimuovere-un-computer-da-un-dominio-con-powershell-2","status":"publish","type":"script_hub","link":"https:\/\/www.ninjaone.com\/it\/script-hub\/rimuovere-un-computer-da-un-dominio-con-powershell-2\/","title":{"rendered":"Come rimuovere un computer da un dominio utilizzando PowerShell"},"content":{"rendered":"<p>Nel sofisticato ecosistema della gestione IT, garantire che i dispositivi siano correttamente aggiunti o rimossi da un dominio di rete \u00e8 fondamentale. Per i professionisti dell&#8217;IT, questo compito \u00e8 solitamente ripetitivo, ma l&#8217;importanza di eseguirlo in modo corretto non pu\u00f2 essere sottovalutata. Oggi analizzeremo uno script PowerShell progettato per <strong>rimuovere un computer da un dominio<\/strong> in modo rapido e semplice.<\/p>\n<h2>Background<\/h2>\n<p>Lo script per rimuovere un computer da un dominio fornito risponde all&#8217;esigenza specifica di automatizzare le operazioni di rimozione da un dominio. I domini servono a raggruppare gli account utente, i computer e i criteri di gruppo in un\u2019unica posizione centralizzata. I motivi per cui un professionista IT potrebbe voler rimuovere un computer da un dominio sono diversi: sicurezza, modifiche all&#8217;infrastruttura o smaltimento dell&#8217;hardware. L&#8217;esecuzione manuale di questa operazione non solo richiede molto tempo, ma \u00e8 anche soggetta a errori umani. Pertanto, un solido script PowerShell per rimuovere un computer da un dominio, come quello descritto qui, \u00e8 prezioso per i professionisti IT e i fornitori di <a href=\"https:\/\/www.ninjaone.com\/what-is-an-msp\/\">servizi gestiti (MSP)<\/a>.<\/p>\n<h2>Lo script per rimuovere un computer da un dominio<\/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;\">Accedi a oltre 700 script nel Dojo di NinjaOne<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.ninjaone.com\/it\/prova-gratuita\/\">Ottieni l&#8217;accesso<\/a><\/p>\n<\/div>\n<h2>Analisi dettagliata<\/h2>\n<p>Lo script per rimuovere un computer da un dominio segue un approccio modulare che comprende tre sezioni principali: <strong>inizio<\/strong>, <strong>processo<\/strong> e <strong>fine<\/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\">Nella sezione <strong>iniziale<\/strong> viene inizializzato lo script per rimuovere un computer da un dominio, vengono validati parametri come il dominio e nomi utente\/password locali e, a partire da questi parametri, vengono creati dei \u201ccredential object\u201d.<\/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 sezione del <strong>processo<\/strong> \u00e8 quella in cui avviene l&#8217;operazione vera e propria. Utilizza il cmdlet <strong>Remove-Computer<\/strong> di PowerShell, un potente strumento progettato per rimuovere un computer da un dominio corrente. La flessibilit\u00e0 dello script consente di riavviare il computer dopo la rimozione o di lasciarlo in esecuzione, a seconda delle preferenze dell&#8217;utente.<\/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 sezione <strong>finale<\/strong> riguarda la pulizia, e assicura che le credenziali utilizzate vengano cancellate per evitare potenziali problemi di sicurezza.<\/li>\n<\/ul>\n<h2>Casi d&#8217;uso potenziali<\/h2>\n<p>Immagina un professionista IT, Alex, che gestisce l&#8217;infrastruttura di rete di un&#8217;organizzazione di medie dimensioni. Ha appena smantellato diverse vecchie postazioni di lavoro, sostituendole con altre nuove. Invece di scollegare manualmente ogni computer dal dominio, Alex utilizza questo script per rimuovere un computer da un dominio, risparmiandosi ore di lavoro e garantendo che non rimangano credenziali residue sui computer dismessi.<\/p>\n<h2>Confronti<\/h2>\n<p>Mentre il metodo basato sull&#8217;interfaccia grafica, eseguito tramite &#8220;Propriet\u00e0 del sistema&#8221;, offre un approccio pi\u00f9 visivo, lo <a href=\"https:\/\/www.ninjaone.com\/blog\/how-to-automate-tasks-with-powershell\/\">script PowerShell eccelle per automazione<\/a>, scalabilit\u00e0 e precisione. Per rimuovere un computer da un dominio, la GUI pu\u00f2 essere sufficiente, ma per le operazioni in blocco PowerShell non ha rivali.<\/p>\n<h2>Domande frequenti<\/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>Ho bisogno di privilegi amministrativi per eseguire questo script per rimuovere un computer da un dominio?<\/strong> S\u00ec, rimuovere un computer da un dominio con questo script richiede privilegi amministrativi sia sul computer locale che sul dominio.<\/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>Cosa succede se non si fornisce lo switch -NoRestart?<\/strong> Per impostazione predefinita, il computer si riavvia dopo essere stato rimosso dal dominio.<\/li>\n<\/ul>\n<h2>Implicazioni<\/h2>\n<p>L&#8217;uso di script come questo per gestire le operazioni di dominio non \u00e8 solo una questione di comodit\u00e0, ma anche di sicurezza. Assicurarsi che le credenziali non vengano esposte, come giustamente fa lo script per rimuovere un computer da un dominio, \u00e8 di fondamentale importanza. Una rimozione del dominio mal gestita pu\u00f2 lasciare delle porte aperte per i criminali informatici.<\/p>\n<h2>Raccomandazioni<\/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\">Testa sempre lo script per rimuovere un computer da un dominio in un ambiente controllato prima di distribuirlo su larga scala.<\/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\">Assicurati che esistano sistemi di backup, soprattutto quando si effettuano modifiche in blocco.<\/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\">Aggiorna regolarmente lo script per rimuovere un computer da un dominio per tenere conto delle modifiche apportate al sistema operativo o ai cmdlet PowerShell.<\/li>\n<\/ul>\n<h2>Considerazioni finali<\/h2>\n<p>Gli script PowerShell come quello fornito per rimuovere un computer da un dominio sono di grandissima utilit\u00e0, ma l&#8217;utilizzo di piattaforme come NinjaOne pu\u00f2 semplificare ulteriormente le operazioni IT. NinjaOne offre una <a href=\"https:\/\/www.ninjaone.com\/it\/gestione-endpoint\/\">piattaforma unificata per il monitoraggio e la gestione dell&#8217;IT<\/a>, integrando perfettamente <a href=\"https:\/\/www.ninjaone.com\/it\/blog\/category\/scripts-it\/\">script<\/a>, automazione e una vasta gamma di attivit\u00e0 IT in un unico strumento. Per i professionisti che desiderano ottimizzare le attivit\u00e0 di gestione IT, strumenti come questo script, se integrati con piattaforme come NinjaOne, offrono prospettive molto interessanti.<\/p>\n","protected":false},"author":35,"featured_media":144232,"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":[4269],"class_list":["post-208146","script_hub","type-script_hub","status-publish","has-post-thumbnail","hentry","script_hub_category-windows"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/script_hub\/208146","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/script_hub"}],"about":[{"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/types\/script_hub"}],"author":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/users\/35"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/comments?post=208146"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/media\/144232"}],"wp:attachment":[{"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/media?parent=208146"}],"wp:term":[{"taxonomy":"script_hub_category","embeddable":true,"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/operating_system?post=208146"},{"taxonomy":"use_cases","embeddable":true,"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/use_cases?post=208146"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}