Cambiar la pantalla de bloqueo con un comando cmd

OB7523 -  
 OB7523 -

Hola,

soy parte de un club de informática, con una decena de PCs.

Me gustaría modificar la imagen de la pantalla de bloqueo de Windows 10/11 mediante línea de comandos.

Gracias.

Ob


6 respuestas

steph810 Mensajes publicados 1864 Fecha de registro   Estado Miembro Última intervención   152
 

Hola, ¿quieres cambiar solo la pantalla de bloqueo o también el fondo de pantalla?

Tengo un script que funciona en Windows 11 para cambiar la pantalla de bloqueo y el fondo de pantalla.

https://www.youtube.com/watch?v=BV1obmZmctc&feature=youtu.be

Preciso que el video no está listado públicamente, solo aquellos con el enlace pueden verlo en caso de que un moderador.... :)

Después se modifica si solo necesitas la pantalla de bloqueo.

0
steph810 Mensajes publicados 1864 Fecha de registro   Estado Miembro Última intervención   152
 

A continuación, únicamente para pantalla de bloqueo, un código a guardar con la extensión PowerShell .ps1:

Solo tienes que modificar la línea 3 para cambiar la ruta del archivo.

#Ruta de las imágenes ej: "https://misitio.core.windows.net/w" $LockScreenSource = "C:\Users\tech\Downloads\330.png" ################################################################ if (-not [string]::IsNullOrWhiteSpace($LogPath)) { Start-Transcript -Path "$($LogPath)\$($env:COMPUTERNAME).log" | Out-Null } $ErrorActionPreference = "Stop" $RegKeyPath = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\PersonalizationCSP" $LockScreenPath = "LockScreenImagePath" $LockScreenStatus = "LockScreenImageStatus" $LockScreenUrl = "LockScreenImageUrl" $StatusValue = "1" $LockScreenImageValue = "C:\Windows\System32\oobe\LockScreen.jpg" if (!$LockScreenSource -and !$BackgroundSource) { Write-Host "La pantalla de bloqueo y el fondo de pantalla deben tener un valor." } else { if(!(Test-Path $RegKeyPath)) { Write-Host "Creando una ruta de registro $($RegKeyPath)." New-Item -Path $RegKeyPath -Force | Out-Null } if ($LockScreenSource) { Write-Host "Copiando la imagen de bloqueo a $($LockScreenSource) a $($LockScreenImageValue)." (New-Object System.Net.WebClient).DownloadFile($LockScreenSource, "$LockScreenImageValue") Write-Host "Creando una entrada en el registro para la pantalla de bloqueo" New-ItemProperty -Path $RegKeyPath -Name $LockScreenStatus -Value $StatusValue -PropertyType DWORD -Force | Out-Null New-ItemProperty -Path $RegKeyPath -Name $LockScreenPath -Value $LockScreenImageValue -PropertyType STRING -Force | Out-Null New-ItemProperty -Path $RegKeyPath -Name $LockScreenUrl -Value $LockScreenImageValue -PropertyType STRING -Force | Out-Null } } if (-not [string]::IsNullOrWhiteSpace($LogPath)){Stop-Transcript}
0
Didi64_549 Mensajes publicados 2789 Fecha de registro   Estado Miembro Última intervención  
 
0
bazfile Mensajes publicados 58480 Fecha de registro   Estado Moderador Última intervención   20 264
 

Hola.

Cambiar-imagen-fondo-de-bloqueo-windows-10-11-las-soluciones.


bazfile
Moderador/Contribuyente de seguridad.
un hola, una respuesta, un gracias siempre son bienvenidos.

0
steph810 Mensajes publicados 1864 Fecha de registro   Estado Miembro Última intervención   152
 

Sí, pero dado que es para una sala informática, él quiere "creo" algo automatizado para ahorrar tiempo; si tiene más de 10 PC por hacer, se vuelve rápido largo y tedioso.

0
brucine Mensajes publicados 24668 Fecha de registro   Estado Miembro Última intervención   4 143 > steph810 Mensajes publicados 1864 Fecha de registro   Estado Miembro Última intervención  
 

Hola,

Tendremos el mismo problema con tu script, a menos que lo implementemos en todas las estaciones a través de GPO, NETUSE o lo que queramos.

0
steph810 Mensajes publicados 1864 Fecha de registro   Estado Miembro Última intervención   152 > brucine Mensajes publicados 24668 Fecha de registro   Estado Miembro Última intervención  
 

¿Cómo es eso? Solo una memoria USB, ejecuta el script en cada computadora y listo.

Eso evita tener que ir a todos los menús.

0
brucine Mensajes publicados 24668 Fecha de registro   Estado Miembro Última intervención   4 143 > steph810 Mensajes publicados 1864 Fecha de registro   Estado Miembro Última intervención  
 

Se dice lo mismo: no estoy seguro de que hayamos ganado tiempo en comparación con la manipulación en modo gráfico, especialmente porque la línea

 "C:\Users\tech\Downloads\330.png"

está infectada: el usuario no es el mismo en cada puesto y, si lo fuera, habría que copiar el archivo de imagen en esa ubicación en cada PC.

Las 2 preguntas se resuelven bastante fácilmente, pero modificando el script a:

%HOMEPATH%\Downloads\330.png

y copiando antes de su traslado el archivo de imagen en la memoria USB de manera que se pueda ejecutar este script desde la memoria USB después de haberse dirigido a la letra de unidad y luego habiendo utilizado %~dp0, o completar el script con uno que identifique la letra de unidad al conectarse.

De lo contrario, tendremos que copiar esta imagen a mano y en cualquier caso hacer la manipulación 10 veces.

0
OB7523
 

Hola,

Gracias por sus numerosas respuestas, pero no es exactamente lo que busco.

Como dije: 10 PC y 6 sesiones por PC (una por día de la semana excepto el domingo).

Había pensado en un archivo .BAT para ejecutar en una memoria USB.

- Copiar el logo del club en C: con el comando Copy.

- Ponerlo como fondo de pantalla con: reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v Fondo /t REG_SZ /d C:\01.jpg

- Ponerlo en la pantalla de bloqueo, pero ahí no conozco el comando???

Gracias si tienen ideas...

OB

0
bazfile Mensajes publicados 58480 Fecha de registro   Estado Moderador Última intervención   20 264
 

Plante más bien esta pregunta en este foro https://forums.commentcamarche.net/forum/programmation-3

0
brucine Mensajes publicados 24668 Fecha de registro   Estado Miembro Última intervención   4 143
 

Tu pregunta aún no está muy clara.

El nombre del usuario, si es variable cada día, no es relevante ya que basta con referirse a él como dije a través de %HOMEPATH% para el fondo de pantalla y que la pantalla de bloqueo es un dato del sistema independiente del usuario.

El primero se obtiene, como has notado, mediante una sintaxis REG ADD; se te ha propuesto para el segundo una sintaxis de PowerShell un tanto enrevesada ya que también deberíamos poder obtener el resultado a través de una sintaxis REG como se indica aquí al final del hilo.
https://techcommunity.microsoft.com/t5/windows-powershell/editing-lockscreen-with-script-via-registry/m-p/1652851

¿Debemos tener una imagen diferente por día de la semana y esto todas las semanas del año?

En este caso, la situación será un poco más complicada; será más fácil copiar una vez para todas las 6 imágenes (por supuesto en una carpeta independiente del usuario), pero se deberá hacer en el batch una condicional sobre el día de la semana para elegir la imagen y sobrescribir la anterior mediante REG ADD /F

¿Puedes precisar lo que quieres hacer?

0
OB7523
 

hola,

lo que quiero hacer es poner en todas las sesiones de todos los PC, el logo del club.

por ejemplo: el lunes, cuando un miembro encienda el PC, tendrá el logo del club mostrado en la pantalla de inicio de sesión y luego como fondo de pantalla. Esto para todas las sesiones de todos los PC.

Gracias.

Ob

0
bazfile Mensajes publicados 58480 Fecha de registro   Estado Moderador Última intervención   20 264
 

Bis repetita:

Plantea esta pregunta en este foro https://forums.commentcamarche.net/forum/programmation-3

0
brucine Mensajes publicados 24668 Fecha de registro   Estado Miembro Última intervención   4 143
 

Se resuelve en principio mediante un batch simple pero lanzado como administrador desde la clave si otras condiciones de pantalla no están establecidas en los PC (Windows en la cima...), es por eso que la vía clásica pasa más bien por GPO o por un Tweaker estilo Winaero Tweaker configurado en cada PC.

No estoy seguro de que el formato de la pantalla de bloqueo no sea necesariamente jpg, en cuyo caso será necesario copiar la imagen en 2 formatos diferentes.

@echo off IF NOT EXIST C:\mi_imagen.bmp COPY mi_imagen.bmp C:\mi_imagen.bmp reg add "HKCU\Control Panel\Desktop" /v Wallpaper /d "C:\mi_imagen.bmp" /F RUNDLL32.EXE USER32.DLL,UpdatePerUserSystemParameters ,1 ,True reg add HKLM\Software\Policies\Microsoft\Windows\Personalization /v LockScreenImage /t REG_SZ /d "C:\mi_imagen.bmp" /f :EOF
0
OB7523
 

¡De acuerdo!

Gracias...

Ob

0