{"id":221533,"date":"2024-03-26T10:22:45","date_gmt":"2024-03-26T10:22:45","guid":{"rendered":"https:\/\/www.ninjaone.com\/?post_type=script_hub&#038;p=221533"},"modified":"2024-03-26T11:19:28","modified_gmt":"2024-03-26T11:19:28","slug":"cuentas-locales-no-utilizadas-windows","status":"publish","type":"script_hub","link":"https:\/\/www.ninjaone.com\/es\/script-hub\/cuentas-locales-no-utilizadas-windows\/","title":{"rendered":"Identificar y gestionar cuentas locales no utilizadas en sistemas Windows"},"content":{"rendered":"<p>Si eres un profesional de TI o un proveedor de servicios gestionados (MSP), el concepto de cuentas locales no utilizadas te resultar\u00e1 familiar. En pocas palabras, las cuentas locales no utilizadas son cuentas que no se han utilizado durante un per\u00edodo de tiempo, a menudo definido por la pol\u00edtica de una organizaci\u00f3n. Estas cuentas locales no utilizadas, aparentemente inofensivas, pueden suponer en realidad un importante riesgo para la seguridad, ya que sirven de puerta trasera para que los atacantes obtengan acceso no autorizado a un sistema. Hoy veremos un <strong>script PowerShell dise\u00f1ado para identificar y gestionar estas posibles brechas de seguridad<\/strong>.<\/p>\n<h2>El script para gestionar cuentas locales no utilizadas: un an\u00e1lisis en detalle<\/h2>\n<p>El script <strong>Test-UnusedLocalAccounts.ps1<\/strong> funciona con PowerShell 5.1 y ofrece un enfoque simplificado para la gesti\u00f3n de cuentas no utilizadas. Comienza su operaci\u00f3n verificando si el comando <strong>Get-LocalUser<\/strong> est\u00e1 disponible en tu sistema. Esto es fundamental, ya que toda la funcionalidad se basa en este comando. Una vez confirmado, el script recorre todas las cuentas locales para identificar aquellas que no han registrado ninguna actividad durante un n\u00famero determinado de d\u00edas (30 d\u00edas por defecto). \u00bfLa guinda del pastel? El script muestra una lista ordenada de estas cuentas no utilizadas directamente en la consola.<\/p>\n<p>El script: script de condici\u00f3n para cuentas locales no utilizadas en Windows<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"powershell\">#Requires -Version 5.1\r\n\r\n&lt;#\r\n.SYNOPSIS\r\n    Condition script for unused local account on windows\r\n.DESCRIPTION\r\n    Condition script for unused local account on windows\r\n.EXAMPLE\r\n     -Days 30\r\n    Checks for accounts that have not logged in for more than 30 days\r\n.EXAMPLE\r\n    PS C:&gt; Test-UnusedLocalAccounts.ps1 -Days 30\r\n    Checks for accounts that have not logged in for more than 30 days\r\n.OUTPUTS\r\n    None\r\n.NOTES\r\n    Minimum supported OS: Windows 10, Server 2016\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()]\r\n    [int]\r\n    $Days = 30\r\n)\r\n\r\nbegin {\r\n    function Test-StringEmpty {\r\n        param([string]$Text)\r\n        # Returns true if string is empty, null, or whitespace\r\n        process { [string]::IsNullOrEmpty($Text) -or [string]::IsNullOrWhiteSpace($Text) }\r\n    }\r\n    if (-not $(Test-StringEmpty -Text $env:Days)) {\r\n        $Days = $env:Days\r\n    }\r\n}\r\nprocess {\r\n    # Check if Get-LocalUser is available on this system\r\n    if (-not $(Get-Command -Name \"Get-LocalUser\" -ErrorAction SilentlyContinue)) {\r\n        Write-Error \"The command Get-LocalUser is not available on this system.\"\r\n        exit 2\r\n    }\r\n\r\n    $UnusedAccounts = Get-LocalUser |\r\n        Where-Object {\r\n            ($(Test-StringEmpty -Text $_.LastLogon) -or $_.LastLogon -le (Get-Date).AddDays(-$Days)) -and\r\n            $_.Enabled\r\n        } |\r\n        Select-Object Name, LastLogon |\r\n        ForEach-Object {\r\n            [PSCustomObject]@{\r\n                Name      = $_.Name\r\n                LastLogon = $_.LastLogon\r\n            }\r\n        }\r\n    if ($UnusedAccounts) {\r\n        Write-Host \"Accounts that have not logged in for the past $Days days:\"\r\n        $UnusedAccounts | ForEach-Object {\r\n            Write-Host \"$($_.Name): $($_.LastLogon)\"\r\n        }\r\n        exit 1\r\n    }\r\n    exit 0\r\n}\r\nend {\r\n    $ScriptVariables = @(\r\n        [PSCustomObject]@{\r\n            name           = \"Days\"\r\n            calculatedName = \"days\"\r\n            required       = $false\r\n            defaultValue   = [PSCustomObject]@{\r\n                type  = \"TEXT\"\r\n                value = \"30\"\r\n            }\r\n            valueType      = \"TEXT\"\r\n            valueList      = $null\r\n            description    = \"Accounts older than this number in days.\"\r\n        }\r\n    )\r\n}<\/pre>\n<p>&nbsp;<\/p>\n\n<div class=\"in-context-cta\"><p>Accede a m\u00e1s de 300 scripts en el Dojo de NinjaOne<\/p>\n<p><a href=\"https:\/\/www.ninjaone.com\/es\/prueba-gratuita-formulario\/\">Obt\u00e9n acceso<\/a><\/p>\n<\/div>\n<h2>Principales ventajas: m\u00e1s all\u00e1 de lo b\u00e1sico<\/h2>\n<h3><strong>Seguridad<\/strong><\/h3>\n<p>Como ya hemos mencionado, las cuentas locales no utilizadas suelen quedar sin vigilancia, convirti\u00e9ndose en posibles puntos de entrada para los ciberdelincuentes. Este script ayuda a identificar proactivamente estas cuentas.<\/p>\n<h3><strong>Eficacia<\/strong><\/h3>\n<p>Identificar las cuentas locales no utilizadas podr\u00eda llevar horas de trabajo manual, pero con este script s\u00f3lo te llevar\u00e1 unos minutos. La eficiencia es clave, especialmente para los MSP que supervisan cuentas de m\u00faltiples clientes.<\/p>\n<h3><strong>Flexibilidad<\/strong><\/h3>\n<p>No est\u00e1s atrapado con un periodo de 30 d\u00edas, sino que puedes personalizar el marco de tiempo en funci\u00f3n de tus pol\u00edticas organizativas.<\/p>\n<h2>Funciones ampliadas<\/h2>\n<p>Aunque identificar las cuentas no utilizadas es fundamental, actuar en funci\u00f3n de esta informaci\u00f3n es igualmente importante. El script tambi\u00e9n puede configurarse para exportar los resultados a un archivo o enviar una notificaci\u00f3n por correo electr\u00f3nico cuando se descubran cuentas no utilizadas. Esto mejora tu capacidad para hacer un seguimiento y gestionar estas cuentas con eficacia.<\/p>\n<h2>C\u00f3mo utilizarlo<\/h2>\n<p>Para desplegar el script, introduce el siguiente comando:<\/p>\n\n<p>Tambi\u00e9n podr\u00eda interesarte este post: <a href=\"https:\/\/www.ninjaone.com\/es\/script-hub\/desactivar-una-cuenta-local-powershell\/\">C\u00f3mo desactivar una cuenta local en Windows con PowerShell.<\/a><\/p>\n<h2>NinjaOne: ampl\u00eda tu arsenal<\/h2>\n<p>Aunque nuestro script PowerShell es una herramienta muy valiosa, es s\u00f3lo una pieza m\u00e1s del puzle. Plataformas como NinjaOne ofrecen un enfoque m\u00e1s completo, permiti\u00e9ndote gestionar no s\u00f3lo las cuentas locales no utilizadas, sino todo tu ecosistema de TI. NinjaOne puede incluso ejecutar scripts como <strong>Test-UnusedLocalAccounts.ps1<\/strong> a trav\u00e9s de m\u00faltiples sistemas simult\u00e1neamente.<\/p>\n<h2>Observaciones finales<\/h2>\n<p>En el gran esquema de la ciberseguridad, cada granito de arena cuenta. Las cuentas locales no utilizadas en sistemas Windows pueden parecer triviales, pero podr\u00edan convertirse en tu tal\u00f3n de Aquiles si no las abordas. El script <strong>Test-UnusedLocalAccounts.ps1<\/strong> es una soluci\u00f3n s\u00f3lida y automatizada para este aspecto de la gesti\u00f3n del sistema que a menudo se pasa por alto. Y cuando se combina con plataformas como NinjaOne y otras herramientas, los profesionales de TI y los MSP disponen de un amplio conjunto de herramientas para garantizar que sus redes no se vean comprometidas.<\/p>\n<p>As\u00ed que ya sabes: equ\u00edpate con las herramientas y los conocimientots adecuados para proteger eficazmente tu entorno de TI. Mant\u00e9nte al d\u00eda con este espacio para descubrir m\u00e1s soluciones de TI para empresas.<\/p>\n","protected":false},"author":35,"featured_media":142158,"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-221533","script_hub","type-script_hub","status-publish","has-post-thumbnail","hentry","script_hub_category-windows"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.ninjaone.com\/es\/wp-json\/wp\/v2\/script_hub\/221533","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=221533"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/es\/wp-json\/wp\/v2\/media\/142158"}],"wp:attachment":[{"href":"https:\/\/www.ninjaone.com\/es\/wp-json\/wp\/v2\/media?parent=221533"}],"wp:term":[{"taxonomy":"script_hub_category","embeddable":true,"href":"https:\/\/www.ninjaone.com\/es\/wp-json\/wp\/v2\/operating_system?post=221533"},{"taxonomy":"use_cases","embeddable":true,"href":"https:\/\/www.ninjaone.com\/es\/wp-json\/wp\/v2\/use_cases?post=221533"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}