Profilbild/Benutzerbild (UserAccountPicture) mit cmd kopieren/installieren

Deine Frage passt nicht in die anderen Bereiche, dann stelle sie hier.
Benutzeravatar
wati
Grünschnabel
Grünschnabel
Beiträge: 49
Registriert: 06.11.2023, 12:17
Hat sich bedankt: 8 Mal
Danke erhalten: 8 Mal
Gender:

Profilbild/Benutzerbild (UserAccountPicture) mit cmd kopieren/installieren

Beitrag von wati » 27.09.2026, 13:02

Kurze Erklärung:
Hier geht es um eine unbeaufsichtigte bzw automatisierte Installation.
Es gibt genug Scripte für defaultuser/guest aber so gut wie keine
(mal abgesehen von Holgi :daumen: ) für das eigene Profilbild (UserAccountPicture).
Zumindest bin ich im Netz nicht fündig geworden...
Holgi hat geschrieben: 24.09.2026, 22:32 Wenn du eine Lösung hast, wäre es toll. Du könntest ja einen neuen Thread im Windows 11 Forum aufmachen.

Hier ist meine Lösung mit 2 Scripte ohne "Bilderbasteln":

Dazu einmalig unter Windows das gewünschte Benutzerbild auswählen.
Egal welches Dateiformat oder Größe.
Das erste Script "get_files.cmd" sammelt die benötigten (versteckten!!!) 12 Bilder am Host.

Code: Alles auswählen

@echo off
:: ---------------------------------------------
:: Lese aktuelle Benutzter SID aus
for /F "tokens=2" %%i in ('whoami /user /fo table /nh') do set user_sid=%%i
:: Aktuelle Benutzter SID: %user_sid%

:: Check ob alle Bilder zum importieren existieren
if not exist "%userprofile%\AppData\Local\Microsoft\Windows\AccountPicture\UserImage.jpg" goto error
if not exist "%public%\AccountPictures\%user_sid%\*-Image96.jpg" goto error
if not exist "%public%\AccountPictures\%user_sid%\*-Image448.jpg" goto error
if not exist "%public%\AccountPictures\%user_sid%\*-Image32.jpg" goto error
if not exist "%public%\AccountPictures\%user_sid%\*-Image40.jpg" goto error
if not exist "%public%\AccountPictures\%user_sid%\*-Image48.jpg" goto error
if not exist "%public%\AccountPictures\%user_sid%\*-Image192.jpg" goto error
if not exist "%public%\AccountPictures\%user_sid%\*-Image240.jpg" goto error
if not exist "%public%\AccountPictures\%user_sid%\*-Image64.jpg" goto error
if not exist "%public%\AccountPictures\%user_sid%\*-Image208.jpg" goto error
if not exist "%public%\AccountPictures\%user_sid%\*-Image424.jpg" goto error
if not exist "%public%\AccountPictures\%user_sid%\*-Image1080.jpg" goto error
echo.
echo ---------------------------------------------
echo Alle Bilder zum importieren sind vorhanden
echo ---------------------------------------------
echo.

:: Abfrage zum überschreiben
if exist "%~dp0AccountPictures\*.jpg" (
echo -------------------ACHTUNG-------------------
echo Es sind bereits Bilder vorhanden
echo Sollen diese ersetzt werden?
echo JA - weiter mit beliebige Taste
echo NEIN - dieses Fenster schliessen
echo ---------------------------------------------
echo.
pause
)
:: Um nur eine Bild ID sicherzustellen
if exist "%~dp0AccountPicture\*.jpg" del "%~dp0AccountPicture\*.jpg" /a:h /q
if exist "%~dp0AccountPictures\*.jpg" del "%~dp0AccountPictures\*.jpg" /a:h /q
echo.
echo ---------------------------------------------
echo Starte Kopiervorgang
echo ---------------------------------------------
echo.
xcopy "%userprofile%\AppData\Local\Microsoft\Windows\AccountPicture\UserImage.jpg" "%~dp0AccountPicture\" /h /i
xcopy "%public%\AccountPictures\%user_sid%\*.jpg" "%~dp0AccountPictures\" /h /i
:: Check ob alle Bilder kopiert wurden
if not exist "%~dp0AccountPicture\UserImage.jpg" goto no_copy
if not exist "%~dp0AccountPictures\*-Image96.jpg" goto no_copy
if not exist "%~dp0AccountPictures\*-Image448.jpg" goto no_copy
if not exist "%~dp0AccountPictures\*-Image32.jpg" goto no_copy
if not exist "%~dp0AccountPictures\*-Image40.jpg" goto no_copy
if not exist "%~dp0AccountPictures\*-Image48.jpg" goto no_copy
if not exist "%~dp0AccountPictures\*-Image192.jpg" goto no_copy
if not exist "%~dp0AccountPictures\*-Image240.jpg" goto no_copy
if not exist "%~dp0AccountPictures\*-Image64.jpg" goto no_copy
if not exist "%~dp0AccountPictures\*-Image208.jpg" goto no_copy
if not exist "%~dp0AccountPictures\*-Image424.jpg" goto no_copy
if not exist "%~dp0AccountPictures\*-Image1080.jpg" goto no_copy
echo.
echo -----------------FERTIG----------------------
echo Alle erforderlichen Bilder 
echo wurden erfolgreich kopiert
echo Viel Spass damit %username%
echo ---------------------------------------------
echo.
pause
exit

:error
cls
color 0C
echo.
echo ------------------FEHLER---------------------
echo Die Benutzer Bilder existieren nicht
echo Bitte in Windows ein Benutzerbild aussuchen
echo ---------------------------------------------
echo.
pause
exit

:no_copy
cls
color 0C
echo.
echo ------------------FEHLER---------------------
echo Fehler beim kopieren der Bilder
echo ---------------------------------------------
echo.
pause
exit
Das zweite Script "user_picture.cmd" installiert dann die Bilder am Ziel System.

Code: Alles auswählen

:: 
:: Benutzerbild ändern (nicht default oder guest)
:: 
:: getestet mit Windows 11 26H2 26300.9539/26300.9550
:: getestet in der Windows Sandbox und Hyper-V Umgebung 
:: getestet mit und ohne bestehenden Benutzerbild
:: funktioniert auch bei nicht aktiverten Windows
:: 
@echo off
:: Check, ob Admin-Rechte vorhanden sind
net session >nul 2>&1
if %errorLevel% == 0 (
    goto start
) else (
    if not exist %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe goto nops
	powershell -Command "Start-Process '%~f0' -Verb RunAs"
	exit /b
)
:start
:: Check ob alle Bilder zum exportieren vorhanden sind
if not exist "%~dp0AccountPicture\UserImage.jpg" goto no_files
if not exist "%~dp0AccountPictures\*-Image96.jpg" goto no_files
if not exist "%~dp0AccountPictures\*-Image448.jpg" goto no_files
if not exist "%~dp0AccountPictures\*-Image32.jpg" goto no_files
if not exist "%~dp0AccountPictures\*-Image40.jpg" goto no_files
if not exist "%~dp0AccountPictures\*-Image48.jpg" goto no_files
if not exist "%~dp0AccountPictures\*-Image192.jpg" goto no_files
if not exist "%~dp0AccountPictures\*-Image240.jpg" goto no_files
if not exist "%~dp0AccountPictures\*-Image64.jpg" goto no_files
if not exist "%~dp0AccountPictures\*-Image208.jpg" goto no_files
if not exist "%~dp0AccountPictures\*-Image424.jpg" goto no_files
if not exist "%~dp0AccountPictures\*-Image1080.jpg" goto no_files
echo.
echo ---------------------------------------------
echo Alle Bilder zum exportieren sind vorhanden
echo ---------------------------------------------
echo.
echo %username% hat Admin Rechte

:: Lese aktuelle Benutzter SID aus
for /F "tokens=2" %%i in ('whoami /user /fo table /nh') do set user_sid=%%i
:: Ergebnis ausgeben
echo SID %user_sid%
echo.
echo ---------------------------------------------
echo Bearbeite "%userprofile%\AppData\Local\Microsoft\Windows\AccountPicture"
echo ---------------------------------------------
echo.
:: Abfrage zum überschreiben wenn Benutzerbild am PC vorhanden
if exist "%public%\AccountPictures\%user_sid%\*.jpg" (
echo -------------------ACHTUNG-------------------
echo Es sind bereits Bilder am Ziel vorhanden
echo Sollen diese erstzt werden?
echo JA - weiter mit beliebige Taste
echo NEIN - dieses Fenster schliessen
echo ---------------------------------------------
echo.
pause
)
:: Die nächsten 2 Zeilen gelten für ein bereits vorhandenes Benutzerbild
if exist "%userprofile%\AppData\Local\Microsoft\Windows\AccountPicture\UserImage.jpg" takeown /F "%userprofile%\AppData\Local\Microsoft\Windows\AccountPicture"
if exist "%userprofile%\AppData\Local\Microsoft\Windows\AccountPicture\UserImage.jpg" icacls "%userprofile%\AppData\Local\Microsoft\Windows\AccountPicture" /grant %username%:F /T

:: Schreibe nur in die Registry wenn noch keine Benutzerbilder vorhanden waren
if not exist "%userprofile%\AppData\Local\Microsoft\Windows\AccountPicture\UserImage.jpg" Reg.exe add "HKLM\SOFTWARE\Microsoft\UserManager\Users\1044478" /v "Sid" /t REG_SZ /d "%user_sid%" /f
if not exist "%userprofile%\AppData\Local\Microsoft\Windows\AccountPicture\UserImage.jpg" Reg.exe add "HKLM\SOFTWARE\Microsoft\UserManager\Users\1044478" /v "SysManaged" /t REG_DWORD /d "1" /f
if not exist "%userprofile%\AppData\Local\Microsoft\Windows\AccountPicture\UserImage.jpg" Reg.exe add "HKLM\SOFTWARE\Microsoft\UserManager\Users\1044478" /v "UserTypeInternal" /t REG_DWORD /d "4" /f
if not exist "%userprofile%\AppData\Local\Microsoft\Windows\AccountPicture\UserImage.jpg" Reg.exe add "HKLM\SOFTWARE\Microsoft\UserManager\Users\1044478" /v "UserPicture" /t REG_SZ /d "%userprofile%\AppData\Local\Microsoft\Windows\AccountPicture\UserImage.jpg" /f

xcopy "%~dp0AccountPicture\UserImage.jpg" "%userprofile%\AppData\Local\Microsoft\Windows\AccountPicture\" /h /i /y

echo.
echo ---------------------------------------------
echo Bearbeite "%public%\AccountPictures\%user_sid%"
echo ---------------------------------------------

:: Die nächsten 2 Zeilen gelten für ein bereits vorhandene Benutzerbilder
if exist "%public%\AccountPictures\%user_sid%\*.jpg" takeown /F "%public%\AccountPictures\%user_sid%\*.jpg"
if exist "%public%\AccountPictures\%user_sid%\*.jpg" icacls "%public%\AccountPictures\%user_sid%\*.jpg" /grant %username%:F /T

:: BildID der neuen (Quelle) und vorhandenen (Ziel) Bild Dateien auslesen
:: Schleife sucht nach versteckten .jpg-Dateien mit geschweiften Klammern
setlocal enabledelayedexpansion
for /f "tokens=2 delims={}" %%A in ('dir /a:h "%~dp0AccountPictures\*{*}*.jpg" 2^>nul') do (
    set "quell_ID=%%A"
)
for /f "tokens=2 delims={}" %%A in ('dir /a:h "%public%\AccountPictures\%user_sid%\*{*}*.jpg" 2^>nul') do (
    set "ziel_ID=%%A"
)
:: Ergebnis ausgeben
echo.
echo ---------------------------------------------
echo ID in der Quelle ist:  %quell_id%
echo ID am Ziel System ist: %ziel_id%
echo ---------------------------------------------
echo.
:: Schreibe nur in die Registry wenn noch keine Benutzerbilder vorhanden waren
if not exist "%public%\AccountPictures\%user_sid%\{%ziel_id%}-Image96.jpg" Reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\AccountPicture\Users\%user_sid%" /v "Image96" /t REG_SZ /d "%public%\AccountPictures\%user_sid%\{%quell_id%}-Image96.jpg" /f
if not exist "%public%\AccountPictures\%user_sid%\{%ziel_id%}-Image448.jpg" Reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\AccountPicture\Users\%user_sid%" /v "Image448" /t REG_SZ /d "%public%\AccountPictures\%user_sid%\{%quell_id%}-Image448.jpg" /f
if not exist "%public%\AccountPictures\%user_sid%\{%ziel_id%}-Image32.jpg" Reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\AccountPicture\Users\%user_sid%" /v "Image32" /t REG_SZ /d "%public%\AccountPictures\%user_sid%\{%quell_id%}-Image32.jpg" /f
if not exist "%public%\AccountPictures\%user_sid%\{%ziel_id%}-Image40.jpg" Reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\AccountPicture\Users\%user_sid%" /v "Image40" /t REG_SZ /d "%public%\AccountPictures\%user_sid%\{%quell_id%}-Image40.jpg" /f
if not exist "%public%\AccountPictures\%user_sid%\{%ziel_id%}-Image48.jpg" Reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\AccountPicture\Users\%user_sid%" /v "Image48" /t REG_SZ /d "%public%\AccountPictures\%user_sid%\{%quell_id%}-Image48.jpg" /f
if not exist "%public%\AccountPictures\%user_sid%\{%ziel_id%}-Image192.jpg" Reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\AccountPicture\Users\%user_sid%" /v "Image192" /t REG_SZ /d "%public%\AccountPictures\%user_sid%\{%quell_id%}-Image192.jpg" /f
if not exist "%public%\AccountPictures\%user_sid%\{%ziel_id%}-Image240.jpg" Reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\AccountPicture\Users\%user_sid%" /v "Image240" /t REG_SZ /d "%public%\AccountPictures\%user_sid%\{%quell_id%}-Image240.jpg" /f
if not exist "%public%\AccountPictures\%user_sid%\{%ziel_id%}-Image64.jpg" Reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\AccountPicture\Users\%user_sid%" /v "Image64" /t REG_SZ /d "%public%\AccountPictures\%user_sid%\{%quell_id%}-Image64.jpg" /f
if not exist "%public%\AccountPictures\%user_sid%\{%ziel_id%}-Image208.jpg" Reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\AccountPicture\Users\%user_sid%" /v "Image208" /t REG_SZ /d "%public%\AccountPictures\%user_sid%\{%quell_id%}-Image208.jpg" /f
if not exist "%public%\AccountPictures\%user_sid%\{%ziel_id%}-Image424.jpg" Reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\AccountPicture\Users\%user_sid%" /v "Image424" /t REG_SZ /d "%public%\AccountPictures\%user_sid%\{%quell_id%}-Image424.jpg" /f
if not exist "%public%\AccountPictures\%user_sid%\{%ziel_id%}-Image1080.jpg" Reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\AccountPicture\Users\%user_sid%" /v "Image1080" /t REG_SZ /d "%public%\AccountPictures\%user_sid%\{%quell_id%}-Image1080.jpg" /f
:: keine Ahnung ob der folgende Eintrag notwendig ist
if not exist "%public%\AccountPictures\%user_sid%\{%ziel_id%}*.jpg" Reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\AccountPicture\Users\%user_sid%" /v "CorrelationID" /t REG_SZ /d "{AB61F918-7726-4520-8FB9-31B3B99DF792}" /f

:: kopiere Bilder ohne Änderung wenn noch keine Benutzerbilder vorhanden waren
if not exist "%public%\AccountPictures\%user_sid%\{%ziel_id%}*.jpg" xcopy "%~dp0AccountPictures\*.jpg" "%public%\AccountPictures\%user_sid%\" /h /i

:: Wenn bereits Benutzerbilder am Host vorhanden waren:
:: Benenne Bilder vom Quell-Ordner um, damit bestehende Host Registry Einträge erhalten bleiben
:: Es werden sozusagen nur die Bilder mit dem gleichen Namen ausgetauscht
:: Mit ren wirds ohne Attribute ändern schwierig - deshalb der Umweg mit xcopy
if exist "%public%\AccountPictures\%user_sid%\{%ziel_id%}-Image96.jpg" xcopy "%~dp0AccountPictures\{%quell_id%}-Image96.jpg" "%public%\AccountPictures\%user_sid%\{%ziel_id%}-Image96.jpg"/h /i /y
if exist "%public%\AccountPictures\%user_sid%\{%ziel_id%}-Image448.jpg" xcopy "%~dp0AccountPictures\{%quell_id%}-Image448.jpg" "%public%\AccountPictures\%user_sid%\{%ziel_id%}-Image448.jpg"/h /i /y
if exist "%public%\AccountPictures\%user_sid%\{%ziel_id%}-Image32.jpg" xcopy "%~dp0AccountPictures\{%quell_id%}-Image32.jpg" "%public%\AccountPictures\%user_sid%\{%ziel_id%}-Image32.jpg"/h /i /y
if exist "%public%\AccountPictures\%user_sid%\{%ziel_id%}-Image40.jpg" xcopy "%~dp0AccountPictures\{%quell_id%}-Image40.jpg" "%public%\AccountPictures\%user_sid%\{%ziel_id%}-Image40.jpg"/h /i /y
if exist "%public%\AccountPictures\%user_sid%\{%ziel_id%}-Image48.jpg" xcopy "%~dp0AccountPictures\{%quell_id%}-Image48.jpg" "%public%\AccountPictures\%user_sid%\{%ziel_id%}-Image48.jpg"/h /i /y
if exist "%public%\AccountPictures\%user_sid%\{%ziel_id%}-Image192.jpg" xcopy "%~dp0AccountPictures\{%quell_id%}-Image192.jpg" "%public%\AccountPictures\%user_sid%\{%ziel_id%}-Image192.jpg"/h /i /y
if exist "%public%\AccountPictures\%user_sid%\{%ziel_id%}-Image240.jpg" xcopy "%~dp0AccountPictures\{%quell_id%}-Image240.jpg" "%public%\AccountPictures\%user_sid%\{%ziel_id%}-Image240.jpg"/h /i /y
if exist "%public%\AccountPictures\%user_sid%\{%ziel_id%}-Image64.jpg" xcopy "%~dp0AccountPictures\{%quell_id%}-Image64.jpg" "%public%\AccountPictures\%user_sid%\{%ziel_id%}-Image64.jpg"/h /i /y
if exist "%public%\AccountPictures\%user_sid%\{%ziel_id%}-Image208.jpg" xcopy "%~dp0AccountPictures\{%quell_id%}-Image208.jpg" "%public%\AccountPictures\%user_sid%\{%ziel_id%}-Image208.jpg"/h /i /y
if exist "%public%\AccountPictures\%user_sid%\{%ziel_id%}-Image424.jpg" xcopy "%~dp0AccountPictures\{%quell_id%}-Image424.jpg" "%public%\AccountPictures\%user_sid%\{%ziel_id%}-Image424.jpg"/h /i /y
if exist "%public%\AccountPictures\%user_sid%\{%ziel_id%}-Image1080.jpg" xcopy "%~dp0AccountPictures\{%quell_id%}-Image1080.jpg" "%public%\AccountPictures\%user_sid%\{%ziel_id%}-Image1080.jpg"/h /i /y
echo.
echo -------------------ACHTUNG-------------------
echo ALLE Explorer Fenster werden geschlossen
echo um alle Aenderungen wirksam zu machen.
echo Fortfahren: Beliebige Taste
echo Abbrechen: Dieses Fenster schliessen
echo.
echo Alle erforderlichen Bilder wurden kopiert
echo Viel Spass damit %username%
echo ---------------------------------------------
echo.
pause
:: Um alle Änderungen wirksam zu machen entweder 
:: Benutzer neu anmelden oder Explorer neu starten
taskkill /f /im explorer.exe >nul 2>&1
start explorer.exe
exit

:no_files
@echo off
cls
color 0C
echo.
echo -------------------FEHLER--------------------
echo Es fehlen die Bilder zum exportieren in
echo "%~dp0AccountPicture"
echo "%~dp0AccountPictures"
echo ---------------------------------------------
echo.
pause
exit

:nops
cls
color 0C
echo.
echo -------------------FEHLER--------------------
echo WindowsPowerShell ist nicht installiert -
echo Bitte Script mit Admin Rechten neu starten
echo ---------------------------------------------
echo.
pause
exit
Vorteile:
  • kein Bilderbasteln
  • funktioniert in Hyper-V
  • funktioniert in der Windows Sandbox
  • funktioniert auch ohne aktivierten Windows
  • ändert bereits bestehende Registry Einträge nicht
  • auch bestehendes Benutzerbild kann geändert werden
  • ist ohne Abmelden oder Neustart wirksam (nur Explorer Neustart)
  • funktioniert auch ohne PowerShell oder VBS (bei extrem tiny Windows)
Getestet mit Windows 11 26H2 26300.9539/26300.9550
Ich habe im Anhang ein ready-to-use Paket mit dem Deskmodder-Logo als Preset erstellt
Viel Spaß beim testen ;)
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von wati am 30.09.2026, 15:12, insgesamt 1-mal geändert.

Tante Google

Profilbild/Benutzerbild (UserAccountPicture) mit cmd kopieren/installieren

Beitrag von Tante Google » 27.09.2026, 13:02


Benutzeravatar
Holgi
Guru
Guru
Beiträge: 4517
Registriert: 12.05.2018, 12:33
Hat sich bedankt: 671 Mal
Danke erhalten: 1030 Mal
Gender:

Re: Profilbild/Benutzerbild (UserAccountPicture) mit cmd kopieren/installieren

Beitrag von Holgi » 30.09.2026, 01:21

so: nach ein paar Tagen Abstand, habe ich es jetzt mit deinem Script in einer Windows Sandbox nochmals versucht.
Aber irgendwie bin ich wohl zu blöd.
Da passiert (fast) nichts.
Alle deine Sachen in einem Ordner. Also die zwei Scripte und die zwei Ordner.
ich führe zuerst Script 1 (get_files) aus: Fehlermeldung:
Screenshot 2026-09-30 011206.png
ok? Also Script 2 (user_picture) ausgeführt. Da passiert was. Explorer Neustart:
Screenshot 2026-09-30 011247.png
Aber dennoch habe ich hinterher nur ein (geändertes) Standard User Icon:
Screenshot 2026-09-30 011352.png
Was mache ich falsch?
Vlt. kannst du mein Script mal in einer Sandbox testen:
Set_User_Account_Picture_Restart.zip
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
PDF24 angepasste Installation (nur PDF Druckertreiber) per Script: viewtopic.php?t=30284
Winget (Desktop App Installer) für Windows Versionen ohne Store installieren (HowTo): viewtopic.php?t=26214
Vorstellung: tiny11builder; Script zur Verschlankung von Windows 11: viewtopic.php?t=30134
Windows StartMenü Empfohlen (Recommended Section) komplett ausblenden: viewtopic.php?t=30574
Hyper-V VM per Script erstellen viewtopic.php?t=25114

Benutzeravatar
wati
Grünschnabel
Grünschnabel
Beiträge: 49
Registriert: 06.11.2023, 12:17
Hat sich bedankt: 8 Mal
Danke erhalten: 8 Mal
Gender:

Re: Profilbild/Benutzerbild (UserAccountPicture) mit cmd kopieren/installieren

Beitrag von wati » 30.09.2026, 08:08

get_files musst Du dort ausführen wo das gewünschte Benutzerbild bereits vorhanden ist - also nicht in der Sandbox.
Laut Deinem Screenshot versuchst Du in der Sandbox die Bilder zu sammeln -
da gibt es noch keine, daher die Fehlermeldung.
Also:
1. get_files einmalig ausführen wo das gewünschte Benutzerbild bereits vorhanden ist
2. user_picture mit den AccountPicture(s) am Ziel System ausführen - Sandbox, VM etc

Benutzeravatar
Holgi
Guru
Guru
Beiträge: 4517
Registriert: 12.05.2018, 12:33
Hat sich bedankt: 671 Mal
Danke erhalten: 1030 Mal
Gender:

Re: Profilbild/Benutzerbild (UserAccountPicture) mit cmd kopieren/installieren

Beitrag von Holgi » 30.09.2026, 10:11

also bei mir auf einem Produktivsystem gibt es keine Bilder in
a) "%userprofile%\AppData\Local\Microsoft\Windows\AccountPicture\"
b) "%public%\AccountPictures\%user_sid%\"
deshalb findet das Script auch da keine Bilder.
Würde jetzt ja bedeuten, dass erst die Ordner (falls nicht vorhanden) erstellt werden müßten, dann Bilder dort reinladen und dann das Script ausführen.
Warum nicht das Script - in deinen Beispiel die mitgelieferten Ordner - mit %~dp0 durchsuchen lassen?
Warum braucht dein Script so viele Bilder und meins nur ein Einziges? Gibt es Vor-/Nachteile?
Hat es vlt. mit Microsoft Konto vs. Lokalem Konto zu tun? (bei mir lokales Konto auf dem Rechner, wo keine Bilder gefunden werden).
PDF24 angepasste Installation (nur PDF Druckertreiber) per Script: viewtopic.php?t=30284
Winget (Desktop App Installer) für Windows Versionen ohne Store installieren (HowTo): viewtopic.php?t=26214
Vorstellung: tiny11builder; Script zur Verschlankung von Windows 11: viewtopic.php?t=30134
Windows StartMenü Empfohlen (Recommended Section) komplett ausblenden: viewtopic.php?t=30574
Hyper-V VM per Script erstellen viewtopic.php?t=25114

Benutzeravatar
wati
Grünschnabel
Grünschnabel
Beiträge: 49
Registriert: 06.11.2023, 12:17
Hat sich bedankt: 8 Mal
Danke erhalten: 8 Mal
Gender:

Re: Profilbild/Benutzerbild (UserAccountPicture) mit cmd kopieren/installieren

Beitrag von wati » 30.09.2026, 11:56

Auf Deinem Produktivsystem musst Du einmalig unter Windows11
Einstellungen/Konten/Profilbild Dein gewünschtes Profilbild auswählen.
Erst dann gibt es die (versteckten!!!) Bilder in
"%userprofile%\AppData\Local\Microsoft\Windows\AccountPicture\" und
"%public%\AccountPictures\%user_sid%\"

Wenn in %~dp0AccountPicture(s) Bilder vorhanden sind,
kommt die Abfrage, ob diese überschrieben werden sollen.
Wenn nichts vorhanden ist, werden beim kopieren
automatisch die Order angelegt.

Code: Alles auswählen

:: Abfrage zum überschreiben
if exist "%~dp0AccountPictures\*.jpg" (
echo -------------------ACHTUNG-------------------
echo Es sind bereits Bilder vorhanden
echo Sollen diese ersetzt werden?
echo JA - weiter mit beliebige Taste
echo NEIN - dieses Fenster schliessen
echo ---------------------------------------------
echo.
pause
)
Das Script ist für lokale Konten.

Hast Du in den Ordneroptionen "Ausgelendete Dateien, Ordner und Laufwerke anzeigen" aktivert?
Ansonsten siehst Du die versteckten Dateien nicht
Screenshot 2026-09-30 114810.png
Das einzelne "UserImage.jpg" ist für den Anmeldebildschirm
soweit ich das mitbekommen habe.
Der Rest für Startmenü, Einstellungen etc und ich vermute
für verschiedene Bildschirm Auflösungen/DPI

Probier mal in der Sandbox den entpackten zip Ordner vom Anhang nur "user_picture.cmd" auszuführen.
Dann sollte überall das deskmodder Logo als Benutzerbild da sein.
Screenshot 2026-09-30 120635.png
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Benutzeravatar
Holgi
Guru
Guru
Beiträge: 4517
Registriert: 12.05.2018, 12:33
Hat sich bedankt: 671 Mal
Danke erhalten: 1030 Mal
Gender:

Re: Profilbild/Benutzerbild (UserAccountPicture) mit cmd kopieren/installieren

Beitrag von Holgi » 30.09.2026, 13:19

tut es nicht.
Ich habe mal einen Paause Befehl eingefügt.
Die ID Quelle/Ziel wird nicht ermittelt.
Screenshot 2026-09-30 130731.png
Hast du es selber in der Sandbox ausprobiert?
Warum nutzt du einen Xcopy Befehl, wenn du nur eine einzelne Datei kopierst?
z.B.

Code: Alles auswählen

if exist "%public%\AccountPictures\%user_sid%\{%ziel_id%}-Image96.jpg" xcopy "%~dp0AccountPictures\{%quell_id%}-Image96.jpg" "%public%\AccountPictures\%user_sid%\{%ziel_id%}-Image96.jpg"/h /i /y
und eigentlich gehört nach dem .jpg ein Leerzeichen, also besser:
if exist "%public%\AccountPictures\%user_sid%\{%ziel_id%}-Image96.jpg" xcopy "%~dp0AccountPictures\{%quell_id%}-Image96.jpg" "%public%\AccountPictures\%user_sid%\{%ziel_id%}-Image96.jpg" /h /i /y

müßte

Code: Alles auswählen

dir /a:h %~dp0AccountPictures\*{*}*.jpg
nicht gequotet werden?
Könnte ja sein, dass der Scriptordner Leerzeichen enthält (z.B., Downloads\Darth Vader\ UserPicture)

Verbesserungsvorschlag für die ja/nein Abfrage:

Code: Alles auswählen

choice /c JN /n /m "Vorhandenes Benutzerbild ersetzen? [J/N]: "
if errorlevel 2 exit /b
bist du sicher, dass der Explorer Neustart reicht? (taskkill /im Explorer /f > start explorer.exe)?
Abmeldung geht in der Sandbox wohl nicht, aber Neustart wäre möglich. Deshalb habe ich mein Script ebenfalls auf Neustart umgestellt.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
PDF24 angepasste Installation (nur PDF Druckertreiber) per Script: viewtopic.php?t=30284
Winget (Desktop App Installer) für Windows Versionen ohne Store installieren (HowTo): viewtopic.php?t=26214
Vorstellung: tiny11builder; Script zur Verschlankung von Windows 11: viewtopic.php?t=30134
Windows StartMenü Empfohlen (Recommended Section) komplett ausblenden: viewtopic.php?t=30574
Hyper-V VM per Script erstellen viewtopic.php?t=25114

Benutzeravatar
wati
Grünschnabel
Grünschnabel
Beiträge: 49
Registriert: 06.11.2023, 12:17
Hat sich bedankt: 8 Mal
Danke erhalten: 8 Mal
Gender:

Re: Profilbild/Benutzerbild (UserAccountPicture) mit cmd kopieren/installieren

Beitrag von wati » 30.09.2026, 14:55

Hast Recht Holgi, anscheinend habe ich eine falsche Datei hochgeladen - sorry.
Darum hats bei Dir nicht geklappt und bei mir schon.
Mit den Quotes habe ich diese 1 Stelle übersehen.
Im Anhang die zip womit es bei mir in der Sandbox durchläuft.
Ich bin auch kein Programmierer, ich muss mir auch fast Zeile für Zeile googeln.
Also bitte nicht streng sein mit Fehlern :thx:

läuft durch:
Screenshot 2026-09-30 145044.png
nach explorer restart:
Screenshot 2026-09-30 145119.png
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Benutzeravatar
Holgi
Guru
Guru
Beiträge: 4517
Registriert: 12.05.2018, 12:33
Hat sich bedankt: 671 Mal
Danke erhalten: 1030 Mal
Gender:

Re: Profilbild/Benutzerbild (UserAccountPicture) mit cmd kopieren/installieren

Beitrag von Holgi » 02.10.2026, 12:34

mal so als Tipp:
googeln ist schön und gut.
Einfacher ist es, die KI zu bemühen.
Code hochladen und Frage stellen. Z.B.
"ist der hochgeladene Code so in Ordnung? Gibt es Verbesserungspotential? Gibt es Sicherheitslücken?"
Als Antwort erhälst du:
Größtes Problem: die fest eingetragene 1044478
Diese Zeilen würde ich keinesfalls allgemein verwenden:
1044478 ist nicht die SID des aktuellen Benutzers. Es handelt sich um einen internen Registry-Unterschlüssel, auf dessen konkreten Wert sich das Skript nicht verlassen sollte.
Damit kann das Skript auf Rechner B:
den falschen Benutzer verändern,
einen unnötigen Registry-Zweig erzeugen,
vorhandene UserManager-Daten inkonsistent machen.
ob das zutrifft, steht auf einem anderen Papier. Die KI hat nicht immer Recht.
PDF24 angepasste Installation (nur PDF Druckertreiber) per Script: viewtopic.php?t=30284
Winget (Desktop App Installer) für Windows Versionen ohne Store installieren (HowTo): viewtopic.php?t=26214
Vorstellung: tiny11builder; Script zur Verschlankung von Windows 11: viewtopic.php?t=30134
Windows StartMenü Empfohlen (Recommended Section) komplett ausblenden: viewtopic.php?t=30574
Hyper-V VM per Script erstellen viewtopic.php?t=25114

Benutzeravatar
DK2000
Legende
Legende
Beiträge: 11216
Registriert: 03.04.2018, 00:07
Hat sich bedankt: 310 Mal
Danke erhalten: 1032 Mal
Gender:

Re: Profilbild/Benutzerbild (UserAccountPicture) mit cmd kopieren/installieren

Beitrag von DK2000 » 02.10.2026, 13:08

Die Zahl scheint da überall dieselbe zu sein (Windows 10 und Windows 11):

1044478 -> S-1-5-21-*-1002 -> Benutzer kenne ich nicht
1044479 -> S-1-5-21-*-1001 -> Mein Hauptbenutzer, mit welchem ich mich anmelde
1044480 -> S-1-5-21-*-1000 -> Den kenne ich auch nicht

Ich kann jetzt nicht sagen, ob das bei mir "1044479" ist, weil ich ein Onlinekonto verwende und was die anderen beiden zu sagen haben. Eventuell ist "1044478" für lokale Konten. Und wenn man mehrere Benutzer hat, wird da der Wert einfach hochgezählt? Bei Microsoft finde ich da gerade auf die Schnelle auch nichts. KI sagt mir nur das:
The registry key HKLM\SOFTWARE\Microsoft\UserManager\Users\ is used by the Windows User Manager service (ProfSvc / UserManager) to track active user sessions, logged-on users, and their associated Security Identifiers (SIDs).
Aber ob das so passt, kann ich auch nicht sagen. Klingt für mich aber so, als ob das keine permanenten Einträge sind.

Ich habe mich mit genau dem Zweig in der Registry noch nie weiter beschäftigt.

Benutzeravatar
wati
Grünschnabel
Grünschnabel
Beiträge: 49
Registriert: 06.11.2023, 12:17
Hat sich bedankt: 8 Mal
Danke erhalten: 8 Mal
Gender:

Re: Profilbild/Benutzerbild (UserAccountPicture) mit cmd kopieren/installieren

Beitrag von wati » 03.10.2026, 20:19

Holgi hat geschrieben: 02.10.2026, 12:34 mal so als Tipp:
googeln ist schön und gut.
Einfacher ist es, die KI zu bemühen.
Die KI kann man als Anhaltspunkt verwenden - und mehr nicht.

Kleines Negativ Beispiel:
gibt man in google ".cmd beispiel 26h2 outlook verknüpfung taskleiste entfernen" ein,
erhält man folgenden Code

Code: Alles auswählen

@echo off
:: 1. Physische Verknüpfungen aus dem Benutzerordner (Taskbar) loeschen
del /f /q "%APPDATA%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\Outlook*.lnk" 2>nul
del /f /q "%APPDATA%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\Microsoft Outlook*.lnk" 2>nul

:: 2. PowerShell nutzen, um das Icon ueber die Windows-Registrierung/Schnittstelle sauber zu unpinnen
powershell -NoProfile -Command "Get-ChildItem -Path '$env:APPDATA\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar' -Filter '*Outlook*.lnk' | ForEach-Object { Remove-Item $_.FullName -Force }"

:: 3. Windows Explorer neu starten, um die Taskleiste zu aktualisieren
taskkill /f /im explorer.exe
start explorer.exe

echo Outlook-Verknuepfung wurde aus der Taskleiste entfernt.
pause
1. Punkt ist falsch, bei der 26H2 gibt es in dem angegebenen Pfad keine Outlook Verknüpfungen
2. Fehlerhaftes PS Script, siehe hier
Screenshot 2026-10-03 195245.png
3. Falschmeldung dass die Outlook-Verknüpfung entfernt wurde

Ich habe absolut kein Vertrauen in die KI
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Benutzeravatar
DK2000
Legende
Legende
Beiträge: 11216
Registriert: 03.04.2018, 00:07
Hat sich bedankt: 310 Mal
Danke erhalten: 1032 Mal
Gender:

Re: Profilbild/Benutzerbild (UserAccountPicture) mit cmd kopieren/installieren

Beitrag von DK2000 » 03.10.2026, 20:52

Die KI, die den Code erstellt hat, bezieht sich of Outlook Classic. Ob die neue Outlook App da überhaupt einen Link anlegt, weiß ich nicht. Eventuell nur, wenn Outlook installiert ist. Sieht aber nicht so aus. Ich habe da jetzt mal Outlook an die Taskleiste angeheftet, aber der Link erscheint nicht in dem Ordner. Offensichtlich werden dort nur Win32 Anwendungen hinterlegt, aber keine Apps.

Und warum dasselbe im Anschluss noch einmal mit PowerShell, erschließt sich mir da nicht. Kein Ahnug, woran die KI da gerade gedacht hat.

Benutzeravatar
wati
Grünschnabel
Grünschnabel
Beiträge: 49
Registriert: 06.11.2023, 12:17
Hat sich bedankt: 8 Mal
Danke erhalten: 8 Mal
Gender:

Re: Profilbild/Benutzerbild (UserAccountPicture) mit cmd kopieren/installieren

Beitrag von wati » 03.10.2026, 20:54

Vorschlag am Anfang des Scripts "Users\1044478" abzufragen

Code: Alles auswählen

@echo off
set "regKey=HKLM\SOFTWARE\Microsoft\UserManager\Users\1044478"
REM Prüfen, ob der Registry-Schlüssel existiert
reg query "%regKey%" >nul 2>&1
if %errorlevel% equ 0 (
    echo Der Registry-Schluessel existiert!
	) else (
    echo Fehler: Der Registry-Schluessel existiert nicht.
	goto no_userkey
)
pause
Sollte dann nichts unerwartetes tun, oder?

Benutzeravatar
DK2000
Legende
Legende
Beiträge: 11216
Registriert: 03.04.2018, 00:07
Hat sich bedankt: 310 Mal
Danke erhalten: 1032 Mal
Gender:

Re: Profilbild/Benutzerbild (UserAccountPicture) mit cmd kopieren/installieren

Beitrag von DK2000 » 03.10.2026, 21:03

Noch einmal zu der Outlook Verknüpfung bzw. Verknüpfungen für Apps allgemein in der Taskleiste. Die werden ausschließlich hier abgelegt:

Code: Alles auswählen

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Taskband\
"Favorite"s und "FavoritesResolve"
Die dort allerding rauszulöschen, ist etwas kompliziert. Da bin ich auch gerade überfragt, wie man das über einen Batch machen könnte, falls das überhaupt geht. Der Ordner unter ~\Quick Launch hat mit diesen Verknüpfungen nichts mehr zu schaffen. Sind halt Apps und keine Win32 Anwendungen. Mit denen läuft so vieles anders.

Und was den Ordner ~\Users\1044478 in der Registry angeht, das wäre in meinem Falle nicht der Ordner meines Hauptbenutzers. Bei mir wäre das ~\Users\1044479. Warum und wieso, keine Ahnung. Die anderen beiden Ordner 1044478 und 1044480 habe ich auch überall, aber da sind andere, mir unbekannt Nutzer hinterlegt, Keine Ahnung, welche Bedeutung die haben.

Habe jetzt mal ein lokales Konto angelegt und das steht jetzt unter ~\Users\1044477. Kann also durchaus sein, dass ~\Users\1044478 für lokales Konto steht und ~\Users\1044479 für Onlinekonto. Fragt sich dann bloß noch, was ist ~\Users\1044480 bzw. "~\Users\1044478" bei mir.
Zuletzt geändert von DK2000 am 03.10.2026, 21:21, insgesamt 1-mal geändert.

Benutzeravatar
wati
Grünschnabel
Grünschnabel
Beiträge: 49
Registriert: 06.11.2023, 12:17
Hat sich bedankt: 8 Mal
Danke erhalten: 8 Mal
Gender:

Re: Profilbild/Benutzerbild (UserAccountPicture) mit cmd kopieren/installieren

Beitrag von wati » 03.10.2026, 21:21

DK2000 hat geschrieben: 03.10.2026, 21:03 Die dort allerding rauszulöschen, ist etwas kompliziert. Da bin ich auch gerade überfragt, wie man das über einen Batch machen könnte, falls das überhaupt geht.
Hinzufügen ist kein Problem, hier z.B Edge in der Sandbox

Code: Alles auswählen

:: Pfad zu Edge in der Registry hinterlegen
if not exist "C:\Users\WDAGUtilityAccount\Desktop\Microsoft Edge.lnk" goto windows
echo SandBox Microsoft Edge wird an die Taskleiste angeheftet...
if exist "C:\Users\WDAGUtilityAccount\Desktop\Microsoft Edge.lnk" reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Taskband" /v "Favorites" /t REG_BINARY /d "00a80100003a001f80c827341f105c1042aa032ee45287d668260001002600efbe120000004d96954f6c4add017cdbc0526c4add017af5e6526c4add0114005600310000000000365d8a4311005461736b42617200400009000400efbe365d8a43365d8a432e0000008e180000000001000000000000000000000000000000fc6512005400610073006b004200610072000000160016013200970100008158c43a200046696c65204578706c6f7265722e6c6e6b007c0009000400efbe365d8a43365d8a432e00000094180000000001000000000000000000520000000000dbdc9100460069006c00650020004500780070006c006f007200650072002e006c006e006b00000040007300680065006c006c00330032002e0064006c006c002c002d003200320030003600370000002000120000002b00efbe3d61e9526c4add012000420000001d00efbe02004d006900630072006f0073006f00660074002e00570069006e0064006f00770073002e004500780070006c006f0072006500720000002000260000001e00efbe0200530079007300740065006d00500069006e006e006500640000002000000000580100003a001f80c827341f105c1042aa032ee45287d668260001002600efbe120000004d96954f6c4add017cdbc0526c4add01ee1177fcc351dd0114005600310000000000415d6f8511005461736b42617200400009000400efbe365d8a43415d6f852e0000008e180000000001000000000000000000000000000000967ac7005400610073006b0042006100720000001600c60032004a090000415d6f8520004d6963726f736f667420456467652e6c6e6b0000560009000400efbe415d6f85415d6f852e0000000929000000000100000000000000000000000000000015e5cb004d006900630072006f0073006f0066007400200045006400670065002e006c006e006b0000002200220000001e00efbe02005500730065007200500069006e006e006500640000002200120000002b00efbe30a777fcc351dd0122001a0000001d00efbe02004d0053004500640067006500000022000000ff" /f

if exist "C:\Users\WDAGUtilityAccount\Desktop\Microsoft Edge.lnk" move "C:\Users\WDAGUtilityAccount\Desktop\Microsoft Edge.lnk" "%AppData%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar"
goto :EOF
Sollte umgekehrt auch gehen - Eintrag suchen und mit reg delete gezielt rauslöschen.
Ist nur Theorie - hab mich noch nicht damit beschäftigt ;)

Benutzeravatar
DK2000
Legende
Legende
Beiträge: 11216
Registriert: 03.04.2018, 00:07
Hat sich bedankt: 310 Mal
Danke erhalten: 1032 Mal
Gender:

Re: Profilbild/Benutzerbild (UserAccountPicture) mit cmd kopieren/installieren

Beitrag von DK2000 » 03.10.2026, 21:35

Das Problem ist aber, das unter Taskband nur ein Stream für alle Verknüpfungen in Favorites und FavoritesResolve gespeichert werden. Löscht man den Stream also oder überschreibt den, erhält man nicht unbedingt das Ergebnis, welches man sich erhofft, da dieser Vorgang alle Verknüpfungen in der Taskleiste beeinflusst. Man müsste dann schon den Streame öffnen, den richtigen Offset im Stream suchen, die Verknüpfung entfernen und dann den Stream wieder so zusammen setzen, wie es Windows auch automatisch machen würde, wenn man manuell den Link aus der Taskleiste entfernt. Das irgendwie alles kompliziert.

Wenn es jetzt aber nur um die Sandbox get und es egal ist, was da für Verknüpfungen in der Taskleiste erscheinen, kann man den Streame bestimmt überschreiben. Aber allgemein kann man das dan nicht verwenden.

Antworten