{"id":208135,"date":"2023-11-28T10:25:41","date_gmt":"2023-11-28T10:25:41","guid":{"rendered":"https:\/\/www.ninjaone.com\/script-hub\/reimpostare-le-password-degli-utenti-con-powershell-2\/"},"modified":"2024-03-04T18:56:10","modified_gmt":"2024-03-04T18:56:10","slug":"reimpostare-le-password-degli-utenti-con-powershell-2","status":"publish","type":"script_hub","link":"https:\/\/www.ninjaone.com\/it\/script-hub\/reimpostare-le-password-degli-utenti-con-powershell-2\/","title":{"rendered":"Come reimpostare le password degli utenti con PowerShell"},"content":{"rendered":"<p>La capacit\u00e0 di gestire l&#8217;accesso e le credenziali degli utenti \u00e8 una componente essenziale dell&#8217;amministrazione IT. Che si tratti di una grande organizzazione con esigenze IT complesse o di un&#8217;azienda pi\u00f9 piccola con requisiti semplici, un\u2019attivit\u00e0 comune \u00e8 la gestione delle password. Lo script fornito offre un metodo per <strong>reimpostare le password degli utenti con PowerShell<\/strong>, sia per gli utenti Windows locali che in un ambiente Active Directory.<\/p>\n<h2>Background<\/h2>\n<p>Lo script \u00e8 stato progettato principalmente per offrire ai professionisti IT e ai fornitori di <a href=\"https:\/\/www.ninjaone.com\/what-is-an-msp\/\">servizi gestiti (MSP)<\/a> un approccio semplificato per reimpostare le password degli utenti senza dover navigare nelle interfacce utente del sistema. Con il numero sempre crescente di utenti e la costante richiesta di applicare le pratiche di sicurezza, disporre di uno strumento che permetta di reimpostare le password degli utenti in modo rapido e affidabile \u00e8 di valore inestimabile. Questo script, in particolare se combinato con strumenti come NinjaOne, offre <a href=\"https:\/\/www.ninjaone.com\/it\/rmm\/automazione-it\/\">automazione ed efficienza<\/a> per queste attivit\u00e0.<\/p>\n<h2>Lo script per reimpostare le password degli utenti<\/h2>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"powershell\">#Requires -Version 5.1\r\n\r\n&lt;#\r\n.SYNOPSIS\r\n    Resets a users password.\r\n.DESCRIPTION\r\n    Resets a users password. Either a local user that this script runs on, or in Active directory.\r\n.EXAMPLE\r\n     -UserName \"Fred\" -Password \"Somepass1\"\r\n    Resets Fred's password to Somepass1 .\r\n.EXAMPLE\r\n     -UserName \"Fred\" -Password \"Somepass1\" -IsDomainUser\r\n    Resets Fred's password to Somepass1 in Active Directory.\r\n.EXAMPLE\r\n    PS C:&gt; .Reset-User-Password.ps1 -UserName \"Fred\" -Password \"Somepass1\" -IsDomainUser\r\n    Resets Fred's password to Somepass1 in Active Directory.\r\n.OUTPUTS\r\n    None\r\n.NOTES\r\n    Minimum OS Architecture Supported: Windows 10, Windows Server 2012\r\n    The RSAT feature for Active Directory needs to be installed on the computer this runs on.\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    [Parameter(Mandatory = $true)]\r\n    [String]\r\n    $UserName,\r\n    [Parameter(Mandatory = $true)]\r\n    [String]\r\n    $Password,\r\n    [Switch]\r\n    $IsDomainUser\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}\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    if ($IsDomainUser) {\r\n        # Active Directory\r\n        # Check if the ActiveDirectory module is installed\r\n        if ((Get-Module -Name ActiveDirectory -ListAvailable -ErrorAction SilentlyContinue)) {\r\n            try {\r\n                # Try to import the ActiveDirectory module\r\n                Import-Module -Name ActiveDirectory\r\n            }\r\n            catch {\r\n                Write-Error -Message \"Ninja Agent could not access AD, either RSAT was not installed or that the agent does not have permissions to add and remove users from groups.\"\r\n                exit 5 # Access Denied exit code\r\n            }\r\n            try {\r\n                $User = Get-ADUser -Identity $UserName\r\n                Set-ADAccountPassword -Identity $User -Reset -NewPassword $(ConvertTo-SecureString -String $Password -AsPlainText -Force)    \r\n                Write-Host \"Reset Password for user: $UserName\"\r\n                exit 0\r\n            }\r\n            catch {\r\n                Write-Host \"Failed to Reset Password for user: $UserName\"\r\n                exit 1\r\n            }\r\n        }\r\n        else {\r\n            Write-Host \"User ($UserName) does not exist.\"\r\n            exit 1\r\n        }\r\n    }\r\n    else {\r\n        $User = Get-LocalUser -Name $UserName -ErrorAction SilentlyContinue\r\n        if ($User) {\r\n            try {\r\n                Set-LocalUser -Name $UserName -Password $(ConvertTo-SecureString -String $Password -AsPlainText -Force) -Confirm:$false\r\n                Write-Host \"Reset Password for user: $UserName\"\r\n                exit 0\r\n            }\r\n            catch {\r\n                Write-Host \"Failed to Reset Password for user: $UserName\"\r\n                exit 1\r\n            }\r\n        }\r\n        else {\r\n            Write-Host \"User ($UserName) does not exist.\"\r\n            exit 1\r\n        }    \r\n    }\r\n}\r\n    \r\nend {}<\/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>Parametri: Lo script per reimpostare le password degli utenti inizia con la definizione dei parametri richiesti, ovvero UserName e Password. Esiste anche un selettore opzionale, IsDomainUser, che, se utilizzato, specifica che l&#8217;operazione \u00e8 destinata a un utente di Active Directory.<\/p>\n<h3>Inizializzazione:<\/h3>\n<p>Prima di reimpostare le password degli utenti, lo script controlla se viene eseguito con privilegi di amministratore. Ci\u00f2 avviene tramite la funzione Test-IsElevated, che verifica il ruolo di chi sta eseguendo lo script.<\/p>\n<h3>Processo:<\/h3>\n<p>A seconda del valore dell\u2019opzione IsDomainUser, lo script procede con due operazioni distinte:<\/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>Active Directory:<\/strong> Se il selettore IsDomainUser \u00e8 impostato, lo script verifica la presenza del modulo ActiveDirectory, lo importa e quindi tenta di reimpostare la password dell&#8217;utente in Active Directory.<\/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>Utente locale:<\/strong> Senza l&#8217;opzione IsDomainUser, lo script cerca un utente locale, verificandone l&#8217;esistenza e tentando di reimpostare la password.<\/li>\n<\/ul>\n<h2>Casi d&#8217;uso potenziali<\/h2>\n<p>Immagina un amministratore IT, John, che gestisce l&#8217;infrastruttura di rete di un&#8217;azienda di medie dimensioni. Ha ricevuto diverse richieste da parte di dipendenti che hanno dimenticato le loro password. Invece di reimpostare le password degli utenti manualmente tramite l&#8217;interfaccia grafica, John utilizza questo script. Con un solo comando, ora pu\u00f2 reimpostare le password degli utenti in blocco, risparmiando tempo e garantendo un approccio coerente.<\/p>\n<h2>Confronti<\/h2>\n<p>Tradizionalmente, reimpostare le password degli utenti in Windows o Active Directory richiedeva strumenti basati su GUI come &#8220;Gestione computer&#8221; per gli utenti locali o &#8220;Active Directory Users and Computers&#8221; per gli utenti AD. Sebbene questi strumenti siano solidi e ricchi di funzionalit\u00e0, spesso comportano pi\u00f9 passaggi. Questo script PowerShell offre un approccio pi\u00f9 rapido per reimpostare le password degli utenti, da riga di comando, che pu\u00f2 essere facilmente integrato nei flussi di lavoro di automazione.<\/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>Sono necessari i privilegi di amministratore?\u00a0<\/strong> S\u00ec, lo script per reimpostare le password degli utenti deve essere eseguito con i privilegi di amministratore.<\/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>Questo script pu\u00f2 gestire sia utenti locali che AD?\u00a0<\/strong> S\u00ec, utilizzando l\u2019opzione IsDomainUser, lo script pu\u00f2 essere utilizzato con gli utenti AD.<\/li>\n<\/ul>\n<h2>Implicazioni<\/h2>\n<p>Se da un lato lo script per reimpostare le password degli utenti offre efficienza, dall&#8217;altro porta con s\u00e9 delle implicazioni di sicurezza. Un uso improprio pu\u00f2 portare ad accessi indesiderati o al blocco dell&#8217;account. Assicurati sempre che le password vengano reimpostate in modo responsabile e con la consapevolezza dell&#8217;utente.<\/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\">Esegui sempre un backup prima di apportare modifiche 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\">Testa lo script per reimpostare le password degli utenti in un ambiente controllato prima di utilizzarlo in produzione.<\/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\">Utilizza password forti e uniche quando le reimposti.<\/li>\n<\/ul>\n<h2>Considerazioni finali<\/h2>\n<p>Per i professionisti IT che cercano di automatizzare ulteriormente le operazioni, strumenti come NinjaOne possono essere complementari a questo script per reimpostare le password degli utenti. NinjaOne offre solide <a href=\"https:\/\/www.ninjaone.com\/it\/gestione-impresa\/\">soluzioni di gestione IT<\/a> che si integrano bene con script personalizzati come questo, consentendo ai professionisti di ottenere il massimo dalla loro infrastruttura. Garantire che gli utenti possano accedere in modo sicuro ai loro account \u00e8 fondamentale nella gestione IT. Sfruttando PowerShell e strumenti come NinjaOne \u00e8 possibile ridurre la complessit\u00e0 di attivit\u00e0 come la reimpostazione delle password, consentendo ai team IT di concentrarsi su questioni pi\u00f9 urgenti.<\/p>\n","protected":false},"author":35,"featured_media":144349,"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":[4277],"class_list":["post-208135","script_hub","type-script_hub","status-publish","has-post-thumbnail","hentry","script_hub_category-windows","use_cases-gestione-degli-utenti-e-degli-accessi"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/script_hub\/208135","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=208135"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/media\/144349"}],"wp:attachment":[{"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/media?parent=208135"}],"wp:term":[{"taxonomy":"script_hub_category","embeddable":true,"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/operating_system?post=208135"},{"taxonomy":"use_cases","embeddable":true,"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/use_cases?post=208135"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}