{"id":257273,"date":"2024-05-21T12:22:11","date_gmt":"2024-05-21T12:22:11","guid":{"rendered":"https:\/\/www.ninjaone.com\/?post_type=script_hub&#038;p=257273"},"modified":"2024-05-21T12:24:02","modified_gmt":"2024-05-21T12:24:02","slug":"restablecer-contrasenas-de-usuario","status":"publish","type":"script_hub","link":"https:\/\/www.ninjaone.com\/es\/script-hub\/restablecer-contrasenas-de-usuario\/","title":{"rendered":"C\u00f3mo restablecer contrase\u00f1as de usuario mediante PowerShell"},"content":{"rendered":"<p>La capacidad de gestionar el acceso y las credenciales de los usuarios es un componente esencial de la administraci\u00f3n de TI. Tanto si se trata de una gran organizaci\u00f3n con necesidades inform\u00e1ticas complejas como de una empresa m\u00e1s peque\u00f1a con requisitos sencillos, una tarea com\u00fan es la gesti\u00f3n de contrase\u00f1as. El script proporcionado muestra un m\u00e9todo <strong>para restablecer contrase\u00f1as de usuario mediante PowerShell<\/strong>, ya sea para usuarios locales de Windows o dentro de un entorno de Active Directory.<\/p>\n<h2>Antecedentes<\/h2>\n<p>El script para restablecer contrase\u00f1as de usuario est\u00e1 dise\u00f1ado principalmente para ofrecer a los profesionales de TI y a los <a href=\"https:\/\/www.ninjaone.com\/es\/que-es-un-msp\">proveedores de servicios gestionados (MSP)<\/a> un m\u00e9todo simplificado para restablecer las contrase\u00f1as de los usuarios sin tener que sumergirse en las interfaces de usuario del sistema. Con un n\u00famero cada vez mayor de usuarios y la exigencia constante de aplicar pr\u00e1cticas de seguridad, disponer de una herramienta que realice estas operaciones de forma r\u00e1pida y fiable tiene un valor incalculable. Este script, especialmente cuando se combina con herramientas como NinjaOne, ofrece <a href=\"https:\/\/www.ninjaone.com\/es\/rmm\/automatizacion-de-ti\/\">automatizaci\u00f3n y eficiencia<\/a> para estas tareas.<\/p>\n<h2>El script para restablecer contrase\u00f1as de usuario<\/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;\">Accede a m\u00e1s de 300 scripts en el Dojo de NinjaOne<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.ninjaone.com\/es\/prueba-gratuita-formulario\/\">Obt\u00e9n acceso<\/a><\/p>\n<\/div>\n<h2>An\u00e1lisis detallado<\/h2>\n<p>Par\u00e1metros: el script para restablecer contrase\u00f1as de usuario comienza definiendo los par\u00e1metros necesarios, UserName y Password. Tambi\u00e9n existe un modificador opcional para IsDomainUser que, cuando se utiliza, especifica que la operaci\u00f3n est\u00e1 destinada a un usuario de Active Directory.<\/p>\n<h3>Inicializaci\u00f3n<\/h3>\n<p>Antes de restablecer las contrase\u00f1as de los usuarios, el script para restablecer contrase\u00f1as de usuario comprueba si se est\u00e1 ejecutando con privilegios de administrador. Esto se hace utilizando la funci\u00f3n Test-IsElevated que comprueba el rol de ejecuci\u00f3n actual del script.<\/p>\n<h3>Proceso<\/h3>\n<p>Dependiendo del valor del modificador IsDomainUser, el script procede con dos operaciones distintas:<\/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>: si el par\u00e1metro IsDomainUser est\u00e1 activado, el script comprueba la presencia del m\u00f3dulo ActiveDirectory, lo importa e intenta restablecer la contrase\u00f1a del usuario en 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>Usuario local:<\/strong> sin el modificador IsDomainUser, el script se dirige a un usuario local, comprobando su existencia e intentando restablecer la contrase\u00f1a.<\/li>\n<\/ul>\n<h2>Posibles casos de uso<\/h2>\n<p>Imagina a un administrador de TI, Juan, que gestiona la infraestructura de red de una empresa mediana. Ha recibido m\u00faltiples solicitudes de empleados que han olvidado sus contrase\u00f1as. En lugar de restablecerlos manualmente a trav\u00e9s de la GUI, Juan utiliza este script. Con una sola orden, ahora puede restablecer la contrase\u00f1a de cada usuario, lo que le ahorra tiempo y garantiza un enfoque coherente.<\/p>\n<h2>Comparaciones<\/h2>\n<p>Tradicionalmente, el restablecimiento de contrase\u00f1as en Windows o Active Directory requer\u00eda herramientas basadas en GUI como \u00abAdministraci\u00f3n de equipos\u00bb para usuarios locales o \u00abUsuarios y equipos de Active Directory\u00bb para usuarios de AD. Aunque estas herramientas son s\u00f3lidas y tienen muchas funciones, a menudo implican m\u00faltiples pasos. Este script de PowerShell para restablecer contrase\u00f1as de usuario ofrece un enfoque de l\u00ednea de comandos m\u00e1s simplificado que puede integrarse f\u00e1cilmente en los flujos de trabajo de automatizaci\u00f3n.<\/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>\u00bfSe requieren privilegios de administrador?\u00a0<\/strong><br \/>\nS\u00ed, el script debe ejecutarse con privilegios de administrador.<\/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>\u00bfEste script puede gestionar tanto usuarios locales como de AD?\u00a0<\/strong><br \/>\nS\u00ed, utilizando el modificador IsDomainUser, el script puede dirigirse a usuarios de AD.<\/li>\n<\/ul>\n<h2>Implicaciones<\/h2>\n<p>Aunque el script proporciona eficacia, tambi\u00e9n conlleva el peso de la seguridad. Un uso indebido puede provocar accesos no deseados o bloqueos de cuentas. Aseg\u00farate siempre de que las contrase\u00f1as se restablezcan de forma responsable y con el conocimiento del usuario.<\/p>\n<h2>Recomendaciones<\/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\">Haz siempre una copia de seguridad antes de realizar cambios a gran escala.<\/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\">Prueba el script en un entorno controlado antes de utilizarlo en producci\u00f3n.<\/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\">Utiliza contrase\u00f1as fuertes y \u00fanicas al restablecerlas.<\/li>\n<\/ul>\n<h2>Reflexiones finales<\/h2>\n<p>Para los profesionales de TI que buscan una mayor automatizaci\u00f3n y simplicidad en las operaciones, herramientas como NinjaOne pueden complementar este script para restablecer contrase\u00f1as de usuario. NinjaOne ofrece s\u00f3lidas <a href=\"https:\/\/www.ninjaone.com\/es\/gestion-ti-empresarial\/\">soluciones de gesti\u00f3n<\/a> de TI que se integran bien con scripts personalizados como \u00e9ste, lo que permite a los profesionales sacar el m\u00e1ximo partido de su infraestructura.\u00a0Garantizar que los usuarios puedan acceder de forma segura a sus cuentas es fundamental en la gesti\u00f3n de TI. Gracias a PowerShell y herramientas como NinjaOne, se pueden reducir las complejidades de tareas como el restablecimiento de contrase\u00f1as, lo que permite a los equipos de TI centrarse en cuestiones m\u00e1s urgentes.<\/p>\n","protected":false},"author":35,"featured_media":144354,"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":[4267],"class_list":["post-257273","script_hub","type-script_hub","status-publish","has-post-thumbnail","hentry","script_hub_category-windows","use_cases-gestion-de-usuarios-y-accesos"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.ninjaone.com\/es\/wp-json\/wp\/v2\/script_hub\/257273","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ninjaone.com\/es\/wp-json\/wp\/v2\/script_hub"}],"about":[{"href":"https:\/\/www.ninjaone.com\/es\/wp-json\/wp\/v2\/types\/script_hub"}],"author":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/es\/wp-json\/wp\/v2\/users\/35"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/es\/wp-json\/wp\/v2\/comments?post=257273"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/es\/wp-json\/wp\/v2\/media\/144354"}],"wp:attachment":[{"href":"https:\/\/www.ninjaone.com\/es\/wp-json\/wp\/v2\/media?parent=257273"}],"wp:term":[{"taxonomy":"script_hub_category","embeddable":true,"href":"https:\/\/www.ninjaone.com\/es\/wp-json\/wp\/v2\/operating_system?post=257273"},{"taxonomy":"use_cases","embeddable":true,"href":"https:\/\/www.ninjaone.com\/es\/wp-json\/wp\/v2\/use_cases?post=257273"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}