{"id":260415,"date":"2024-05-24T14:58:18","date_gmt":"2024-05-24T14:58:18","guid":{"rendered":"https:\/\/www.ninjaone.com\/?post_type=script_hub&#038;p=260415"},"modified":"2024-05-24T14:58:18","modified_gmt":"2024-05-24T14:58:18","slug":"modificar-los-mensajes-de-inicio-de-sesion","status":"publish","type":"script_hub","link":"https:\/\/www.ninjaone.com\/es\/script-hub\/modificar-los-mensajes-de-inicio-de-sesion\/","title":{"rendered":"C\u00f3mo modificar los mensajes de inicio de sesi\u00f3n en Windows usando PowerShell"},"content":{"rendered":"<h2>Puntos clave<\/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\">Personalizar los mensajes de inicio de sesi\u00f3n de Windows mejora la seguridad y la experiencia del usuario.<\/li>\n<li>El script PowerShell proporcionado ofrece un m\u00e9todo r\u00e1pido para actualizar los t\u00edtulos y mensajes de inicio de sesi\u00f3n.<\/li>\n<li>Se requieren privilegios de administrador debido a los cambios en el registro del sistema.<\/li>\n<li>El script es compatible con Windows 10 y Windows Server 2016 en adelante.<\/li>\n<li>Aunque los objetos de directiva de grupo pueden realizar tareas similares, este script proporciona ajustes m\u00e1s r\u00e1pidos y \u00e1giles.<\/li>\n<li>Un uso indebido, como compartir informaci\u00f3n sensible a trav\u00e9s de mensajes de inicio de sesi\u00f3n, puede suponer una amenaza para la seguridad.<\/li>\n<li>Prueba siempre el script en un entorno aislado antes de su despliegue generalizado.<\/li>\n<li>Plataformas como NinjaOne facilitan a\u00fan m\u00e1s la gesti\u00f3n y el despliegue de estos scripts en grandes redes.<\/li>\n<\/ul>\n<p>Con un panorama de necesidades de seguridad y mejora de la experiencia del usuario en constante evoluci\u00f3n, los administradores de TI se encuentran en la b\u00fasqueda de herramientas m\u00e1s refinadas para gestionar los sistemas con eficacia. Un aspecto que a menudo se pasa por alto, pero que es esencial, es la personalizaci\u00f3n de los mensajes de inicio de sesi\u00f3n en Windows. La posibilidad de <strong>modificar los mensajes de inicio de sesi\u00f3n en Windows<\/strong>\u00a0es vital, ya que puede comunicar la informaci\u00f3n necesaria a los usuarios, reforzar la seguridad y proporcionar una capa de personalizaci\u00f3n en un entorno corporativo.<\/p>\n<h2>Antecedentes<\/h2>\n<p>Nuestro punto central para la discusi\u00f3n de hoy es un script PowerShell dise\u00f1ado para modificar los mensaje de inicio de sesi\u00f3n en sistemas Windows. Este peque\u00f1o pero potente script supone una mezcla de seguridad y mejora de la experiencia del usuario. Al controlar el t\u00edtulo y el mensaje que ven los usuarios al iniciar sesi\u00f3n, los profesionales de TI y los proveedores de servicios gestionados (MSP) pueden desplegar actualizaciones cr\u00edticas, enviar advertencias o simplemente ofrecer coherencia de marca en toda la flota de m\u00e1quinas bajo su supervisi\u00f3n.<\/p>\n<h2>El script para modificar los mensajes de inicio de sesi\u00f3n en Windows<\/h2>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"powershell\">#Requires -Version 5.1\r\n\r\n&lt;#\r\n.SYNOPSIS\r\n    Changes the logon title and message.\r\n.DESCRIPTION\r\n    Changes the logon title and message.\r\n.EXAMPLE\r\n     -Title \"My Title\" -Message \"My Logon Message\"\r\n    Set the title and message.\r\n.EXAMPLE\r\n    PS C:&gt; Set-LogonMessage.ps1 -Title \"My Title\" -Message \"My Logon Message\"\r\n    Set the title and message.\r\n.OUTPUTS\r\n    None\r\n.NOTES\r\n    Minimum OS Architecture Supported: Windows 10, Windows Server 2016\r\n    Release Notes: Renamed script and added Script Variable support, updated Set-ItemProp\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    OSSecurity\r\n#&gt;\r\n\r\n[CmdletBinding()]\r\nparam (\r\n    [Parameter()]\r\n    [String]$Title,\r\n    [Parameter()]\r\n    [String]$Message\r\n)\r\n\r\nbegin {\r\n    if ($env:title -and $env:title -notlike \"null\") {\r\n        $Title = $env:title\r\n    }\r\n\r\n    if ($env:message -and $env:message -notlike \"null\") {\r\n        $Message = $env:Message\r\n    }\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    function Set-ItemProp {\r\n        param (\r\n            $Path,\r\n            $Name,\r\n            $Value,\r\n            [ValidateSet(\"DWord\", \"QWord\", \"String\", \"ExpandedString\", \"Binary\", \"MultiString\", \"Unknown\")]\r\n            $PropertyType = \"DWord\"\r\n        )\r\n        # Do not output errors and continue\r\n        $ErrorActionPreference = [System.Management.Automation.ActionPreference]::SilentlyContinue\r\n        if (-not $(Test-Path -Path $Path)) {\r\n            # Check if path does not exist and create the path\r\n            New-Item -Path $Path -Force | Out-Null\r\n        }\r\n        if ((Get-ItemProperty -Path $Path -Name $Name)) {\r\n        # Update property and print out what it was changed from and changed to\r\n            $CurrentValue = Get-ItemProperty -Path $Path -Name $Name\r\n            try {\r\n                Set-ItemProperty -Path $Path -Name $Name -Value $Value -Force -Confirm:$false -ErrorAction Stop | Out-Null\r\n            }\r\n            catch {\r\n                Write-Error $_\r\n            }\r\n            Write-Host \"$Path$Name changed from $CurrentValue to $(Get-ItemProperty -Path $Path -Name $Name)\"\r\n        }\r\n        else {\r\n            # Create property with value\r\n            try {\r\n                New-ItemProperty -Path $Path -Name $Name -Value $Value -PropertyType $PropertyType -Force -Confirm:$false -ErrorAction Stop | Out-Null\r\n            }\r\n            catch {\r\n                Write-Error $_\r\n            }\r\n            Write-Host \"Set $Path$Name to $(Get-ItemProperty -Path $Path -Name $Name)\"\r\n        }\r\n        $ErrorActionPreference = [System.Management.Automation.ActionPreference]::Continue\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    try {\r\n        Set-ItemProp -Path \"HKLM:SOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem\" -Name \"legalnoticecaption\" -Value $Title -PropertyType String\r\n        Set-ItemProp -Path \"HKLM:SOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem\" -Name \"legalnoticetext\" -Value $Message -PropertyType String\r\n    }\r\n    catch {\r\n        Write-Error $_\r\n        exit 1\r\n    }\r\n}\r\nend {\r\n    \r\n    \r\n    \r\n}<\/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>Profundicemos en la mec\u00e1nica del script:<\/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>Vinculaci\u00f3n y par\u00e1metros del cmdlet<\/strong>: el script est\u00e1 dise\u00f1ado como una funci\u00f3n PowerShell utilizando el atributo CmdletBinding. Esto significa que el script puede ser utilizado como una funci\u00f3n reutilizable y puede aceptar par\u00e1metros, espec\u00edficamente el t\u00edtulo y el mensaje para el prompt de login.<\/li>\n<li><strong>Comprobaci\u00f3n del administrador<\/strong>: se utilizan dos funciones integradas, <strong>Test-IsElevated<\/strong> y <strong>Set-ItemProp<\/strong>. El primero comprueba si el script se ejecuta con privilegios de administrador, algo vital ya que la modificaci\u00f3n de claves del registro (que es lo que hace el script) requiere permisos elevados.<\/li>\n<li><strong>Modificaciones del registro<\/strong>: la funci\u00f3n <strong>Set-ItemProp<\/strong> modifica los valores del registro existentes o crea otros nuevos. El script se dirige a dos claves primarias, <strong>legalnoticecaption<\/strong> (para el t\u00edtulo) y <strong>legalnoticetext<\/strong> (para el mensaje), que rigen el mensaje de inicio de sesi\u00f3n en Windows.<\/li>\n<\/ul>\n<h2>Posibles casos de uso<\/h2>\n<p>Imaginemos que un administrador de TI de una multinacional quiere avisar a todos los usuarios del pr\u00f3ximo mantenimiento del servidor. En lugar de confiar en correos electr\u00f3nicos que podr\u00edan ser ignorados, despliegan este script en todas las estaciones de trabajo. Cuando los empleados se conectan al d\u00eda siguiente, reciben la alerta, lo que garantiza la m\u00e1xima visibilidad.<\/p>\n<h2>Comparaciones<\/h2>\n<p>Aunque tambi\u00e9n se pueden utilizar <a href=\"https:\/\/www.techtarget.com\/searchwindowsserver\/definition\/Group-Policy-Object\/\" target=\"_blank\" rel=\"noopener\">objetos de directiva de grupo (GPO)<\/a> para establecer mensajes de inicio de sesi\u00f3n, este script ofrece un enfoque m\u00e1s \u00e1gil. Los GPO pueden tardar en propagarse y no ser adecuados para cambios r\u00e1pidos. El script PowerShell, por su parte, puede ejecutarse r\u00e1pidamente m\u00e1quina por m\u00e1quina o desplegarse ampliamente a trav\u00e9s de una herramienta de gesti\u00f3n del sistema.<\/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 puede ejecutar este script en cualquier m\u00e1quina Windows?\u00a0<\/strong><br \/>\nEst\u00e1 dise\u00f1ado para Windows 10 y Windows Server 2016 y superiores. Es posible que las versiones anteriores no admitan los cmdlets correspondientes.<\/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>\u00bfEs necesario ejecutar el script con derechos administrativos?\u00a0<\/strong><br \/>\nS\u00ed, ya que modifica el registro del sistema, los permisos elevados son obligatorios.<\/li>\n<\/ul>\n<h2>Implicaciones<\/h2>\n<p>Aunque el script ayuda a la comunicaci\u00f3n y al branding, su uso incorrecto puede dar lugar a confusi\u00f3n o incluso a posibles problemas de seguridad. No es aconsejable difundir informaci\u00f3n sensible en un mensaje de inicio de sesi\u00f3n. Adem\u00e1s, los cambios frecuentes pueden insensibilizar a los usuarios a estos mensajes, diluyendo potencialmente su impacto.<\/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\">Aseg\u00farate de que los mensajes de acceso sean claros y breves.<\/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=\"1\" data-aria-level=\"1\">Prueba el script en un entorno controlado antes de su despliegue general.<\/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=\"1\" data-aria-level=\"1\">Realiza copias de seguridad peri\u00f3dicas del registro del sistema.<\/li>\n<\/ul>\n<h2>Reflexiones finales<\/h2>\n<p>El uso de herramientas como este script es s\u00f3lo un fragmento del amplio conjunto de herramientas para la <a href=\"https:\/\/www.ninjaone.com\/es\/rmm\/software-de-gestion-de-operaciones-de-ti\/\">gesti\u00f3n de TI<\/a>. Plataformas como NinjaOne amplifican estos esfuerzos al proporcionar un entorno integrado para <a href=\"https:\/\/www.ninjaone.com\/es\/implementacion-de-software\/\">desplegar, gestionar y supervisar scripts<\/a> de este tipo a trav\u00e9s de vastas redes, garantizando la coherencia, la seguridad y la mejora de la experiencia del usuario.<\/p>\n","protected":false},"author":35,"featured_media":144890,"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":[4265],"class_list":["post-260415","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\/260415","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=260415"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/es\/wp-json\/wp\/v2\/media\/144890"}],"wp:attachment":[{"href":"https:\/\/www.ninjaone.com\/es\/wp-json\/wp\/v2\/media?parent=260415"}],"wp:term":[{"taxonomy":"script_hub_category","embeddable":true,"href":"https:\/\/www.ninjaone.com\/es\/wp-json\/wp\/v2\/operating_system?post=260415"},{"taxonomy":"use_cases","embeddable":true,"href":"https:\/\/www.ninjaone.com\/es\/wp-json\/wp\/v2\/use_cases?post=260415"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}