|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Mar 2003
Messaggi: 19391
|
Vista/7 - Batch unattended modifica immagine account predefinita e xcopy Preferiti
NB: vedi post successivi e n.13 soprattutto per modifica img account ***** Ciao a tutti, per settare le impostazioni che utilizzo in Windows Vista/7 ho creato un batch, ma ho un paio di problemi che non riesco a risolvere ![]() - Il primo: Se copio un file all'interno della cartella utente, perdo sia l'icona che il nome originale. Ad esempio, se eseguo: Codice:
xcopy /Y "Sito.url" "%userprofile%\Favorites\" xcopy /Y "Sito.url" "%userprofile%\Favorites\Links\" - Il secondo è l'impostazione automatica dell'immagine del mio account. Con XP era sufficiente: Codice:
xcopy /Y Utente.bmp "%allusersprofile%\Dati applicazioni\Microsoft\User Account Pictures\" Codice:
xcopy /Y Utente.bmp "%programdata%\Microsoft\User Account Pictures\" ![]() Qualcuno ha qualche suggerimento? Grazie in anticipo ![]()
__________________
Il 90% dei problemi di un PC si trova tra la tastiera e la sedia
![]() Ultima modifica di ezio : 27-11-2010 alle 12:07. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Apr 2001
Città: Giovinazzo(BA) ...bella città, riso patat e cozz a volontà!
Messaggi: 26491
|
Allora, il primo problema deriva dal fatto che xcopy va a modificare l'attributo di sola lettura della cartella PREFERITI.
Se infatti, da cmd, dai questo comando: Codice:
attrib +R "C:\Users\NOMEUTENTE\Favorites" Potresti mettere questo comando nel batch subito dopo l'xcopy, in modo da farlo in automatico ![]() Per la seconda domanda, ora controllo ![]()
__________________
Ezio Lacandia on DeviantArt | Slimkat mod per N4 e N5 | Trattative mercatino HWU | Driver nForce NET Framework [Guida] | BSOD individuazione cause | Guida Sintetica Strap/Divisori P45 | Fix associazioni Vista/7 Problemi Win Installer | Avviare programmi senza richiesta UAC | Problemi Font | Guida Raccolte 7 | Win 32/64bit come perchè |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Apr 2001
Città: Giovinazzo(BA) ...bella città, riso patat e cozz a volontà!
Messaggi: 26491
|
Per la questione dell'immagine, hai provato a chiamare il file User.bmp anzichè Utente.bmp?
__________________
Ezio Lacandia on DeviantArt | Slimkat mod per N4 e N5 | Trattative mercatino HWU | Driver nForce NET Framework [Guida] | BSOD individuazione cause | Guida Sintetica Strap/Divisori P45 | Fix associazioni Vista/7 Problemi Win Installer | Avviare programmi senza richiesta UAC | Problemi Font | Guida Raccolte 7 | Win 32/64bit come perchè |
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Mar 2003
Messaggi: 19391
|
Quote:
![]() Dalle prove che ho fatto, "user.bmp" è l'immagine predefinita per i nuovi account, a me serviva modificare un account che già esiste. In quella cartella ho visto che i file si chiamano "Utente.dat" e sono vuoti, ma non capisco come vanno modificati ![]()
__________________
Il 90% dei problemi di un PC si trova tra la tastiera e la sedia
![]() |
|
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Mar 2003
Messaggi: 19391
|
Quote:
![]() Maledette cartelle anglo-italiane ![]()
__________________
Il 90% dei problemi di un PC si trova tra la tastiera e la sedia
![]() |
|
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Apr 2001
Città: Giovinazzo(BA) ...bella città, riso patat e cozz a volontà!
Messaggi: 26491
|
Uè come no, ho appena provato
![]() ![]() Controlla bene i percorsi, esegui i comandi prima da cmd (non dal batch) e vedi se da lì sortiscono effetti. Intanto stavo provando a cercare il percorso in cui viene salvata l'immagine dell'account (avevi ragione tu, users.bmp è quella applicata di default ai nuovi).
__________________
Ezio Lacandia on DeviantArt | Slimkat mod per N4 e N5 | Trattative mercatino HWU | Driver nForce NET Framework [Guida] | BSOD individuazione cause | Guida Sintetica Strap/Divisori P45 | Fix associazioni Vista/7 Problemi Win Installer | Avviare programmi senza richiesta UAC | Problemi Font | Guida Raccolte 7 | Win 32/64bit come perchè |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Apr 2001
Città: Giovinazzo(BA) ...bella città, riso patat e cozz a volontà!
Messaggi: 26491
|
PS: attenzione al percorso per il comando attrib, non:
"%userprofile%\Favorites\" ma "%userprofile%\Favorites" senza lo slash finale ![]()
__________________
Ezio Lacandia on DeviantArt | Slimkat mod per N4 e N5 | Trattative mercatino HWU | Driver nForce NET Framework [Guida] | BSOD individuazione cause | Guida Sintetica Strap/Divisori P45 | Fix associazioni Vista/7 Problemi Win Installer | Avviare programmi senza richiesta UAC | Problemi Font | Guida Raccolte 7 | Win 32/64bit come perchè |
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Apr 2001
Città: Giovinazzo(BA) ...bella città, riso patat e cozz a volontà!
Messaggi: 26491
|
Allora, non ho trovato il percorso in cui viene salvata l'immagine dell'account (sempre che non venga caricata da qualche dll, vedi shell32, tramite chiave di registro), ma puoi aggirare il problema con un passaggio in più
![]() Gpedit.msc infatti dà questa possibilità: Impostando la voce su ATTIVATA, costringi il sistema ad usare per tutti gli account il file C:\ProgramData\Microsoft\User Account Pictures\user.bmp come immagine. Quella voce di gpedit non fa altro che modificare questa chiave: Codice:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer] "UseDefaultTile"=dword:00000001 - crei un file reg con quella stringa e quel valore dword; - chiami l'immagine che vuoi utilizzare con il nome user.bmp - nel batch utilizzi xcopy per copiare il tuo user.bmp personalizzato in "%programdata%\Microsoft\User Account Pictures\" e nella riga successiva del batch fai applicare il .reg con il comando regedit.exe /s PERCORSO\NOME.REG EDIT: invece di creare il .reg e applicarlo con regedit \s puoi inserire direttamente questa stringa nel batch, fa tutto lei: Codice:
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer /t REG_DWORD /v UseDefaultTile /d 1 ![]()
__________________
Ezio Lacandia on DeviantArt | Slimkat mod per N4 e N5 | Trattative mercatino HWU | Driver nForce NET Framework [Guida] | BSOD individuazione cause | Guida Sintetica Strap/Divisori P45 | Fix associazioni Vista/7 Problemi Win Installer | Avviare programmi senza richiesta UAC | Problemi Font | Guida Raccolte 7 | Win 32/64bit come perchè Ultima modifica di ezio : 20-11-2010 alle 16:27. Motivo: aggiunto comando reg add |
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Mar 2003
Messaggi: 19391
|
L'attrib non funzionava proprio per quello slash. Ora sembra a posto
![]() Per l'altra soluzione, avevo tentato una strada simile, il problema è che va a toccare tutti gli account. A me serviva modificarne solo uno. Quello che ho chiamato "Utente" per l'appunto ![]() Dovrei capire che ruolo hanno quei .dat, ho provato a cacciarci dentro il percorso del .bmp ma non ha funzionato. Mi sa che non è possibile farlo ![]() Sei di una gentilezza indescrivibile ![]()
__________________
Il 90% dei problemi di un PC si trova tra la tastiera e la sedia
![]() |
![]() |
![]() |
![]() |
#10 | ||
Senior Member
Iscritto dal: Apr 2001
Città: Giovinazzo(BA) ...bella città, riso patat e cozz a volontà!
Messaggi: 26491
|
Quote:
![]() Quote:
![]() Stavo notando una cosa. Supponendo che l'account si chiami HWUP, se imposti un'immagine personalizzata nel pannello di controllo viene automaticamente creato il file HWUP.bmp qui: C:\Users\HWUP\AppData\Local\Temp Ci dev'essere per forza una chiave che fa caricare questo file, non riesco a trovarla ![]()
__________________
Ezio Lacandia on DeviantArt | Slimkat mod per N4 e N5 | Trattative mercatino HWU | Driver nForce NET Framework [Guida] | BSOD individuazione cause | Guida Sintetica Strap/Divisori P45 | Fix associazioni Vista/7 Problemi Win Installer | Avviare programmi senza richiesta UAC | Problemi Font | Guida Raccolte 7 | Win 32/64bit come perchè |
||
![]() |
![]() |
![]() |
#11 | |
Senior Member
Iscritto dal: Mar 2003
Messaggi: 19391
|
Quote:
![]()
__________________
Il 90% dei problemi di un PC si trova tra la tastiera e la sedia
![]() |
|
![]() |
![]() |
![]() |
#12 | |
Senior Member
Iscritto dal: Apr 2001
Città: Giovinazzo(BA) ...bella città, riso patat e cozz a volontà!
Messaggi: 26491
|
Sì infatti, ne parla anche una kb di msdn: http://msdn.microsoft.com/en-us/libr...92(VS.85).aspx
Però non ci sono riferimenti utili a modificare manualmente il percorso per il caricamento dell'immagine. EDIT: qui c'è qualche dettaglio in più, sembra che l'immagine sia caricata dal kernel nel database SAM: http://social.msdn.microsoft.com/For...e-58269ad33f6c Un casino insomma, mi fa pensare che non sia possibile mettere mani con batch e chiavi di registro per il singolo utente... Qualche dettaglio in più: Quote:
__________________
Ezio Lacandia on DeviantArt | Slimkat mod per N4 e N5 | Trattative mercatino HWU | Driver nForce NET Framework [Guida] | BSOD individuazione cause | Guida Sintetica Strap/Divisori P45 | Fix associazioni Vista/7 Problemi Win Installer | Avviare programmi senza richiesta UAC | Problemi Font | Guida Raccolte 7 | Win 32/64bit come perchè Ultima modifica di ezio : 21-11-2010 alle 14:32. |
|
![]() |
![]() |
![]() |
#13 |
Senior Member
Iscritto dal: Apr 2001
Città: Giovinazzo(BA) ...bella città, riso patat e cozz a volontà!
Messaggi: 26491
|
Trovato un modo
![]() http://deployment.xtremeconsulting.c...mation-part-1/ Consiste nell'avviare uno script che però non è in grado di caricare la bitmap dell'immagine, ma solo la chiave di registro estrapolata da HKEY_LOCAL_MACHINE\SAM\SAM (bisogna aprire regedit come utente SYSTEM con psexec.exe della SysInternals altrimenti la chiave non è accessibile e risulta vuota) dopo aver settato un'immagine personalizzata per l'account tramite il pannello di controllo su un PC "modello". Ecco l'infame ![]() ![]() In pratica la procedura è questa: - impostare un'immagine personalizzata per l'account tramite l'apposita funzione del pannello di controllo di Windows; - scaricare psexec della SysInternals e da cmd avviare il comando psexec -s -i regedit.exe per avviare regedit come se si agisse tramite l'account SYSTEM - esportare la chiave in HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\ dove si trova il valore dword UserTile in cui è caricata l'immagine personalizzata (meglio salvare in C, altrimenti è possibile ricevere errori di percorso in quanto si sta agendo come detto sopra con l'account SYSTEM e non uno normale) - aprire il file reg esportato e cancellare tutti i valori salvo la parte relativa a UserTile ottenendo qualcosa di simile (successivamente salvare il file con altro nome e non sovrascrivere, in quanto non sarà possibile perchè il proprietario dello stesso è SYSTEM, non l'account con cui si sta operando): Codice:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000003E9] "UserTile"=hex:01,00,00,00,03,00,00,00,01,00,00,00,58,7c,00,00,42,4d,58,7c,00,\ e una sfilza infinita di numeri e lettere - inserire nel batch un'ulteriore riga che permetta di accettare il contratto di licenza di psexec in modalità silenziosa: Codice:
reg add HKEY_CURRENT_USER\Software\Sysinternals\PsExec /t REG_DWORD /v EulaAccepted /d 1 Codice:
cscript SetUserTile.vbs "NOMEACCOUNT" CHIAVEREGISTRO Codice:
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Title: User Tile Change Script ' Author: Micah Rowland (Xtreme Consulting) ' Date: 07/14/2010 ' Desc: This script is designed to programatically replace ' a single local user's User Tile on Windows Vista ' and above. ' Prereq: This script requires the use of PSExec available ' from http://live.sysinternals.com/psexec.exe ' Usage: UserTile.vbs USERNAME USERTILEFILE ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' CONST FORREADING = 1 CONST FORWRITING = 2 set objShell = CreateObject("Wscript.Shell") set objFSO = CreateObject("Scripting.FileSystemObject") set objArgs = Wscript.Arguments set objShell = CreateObject("Wscript.shell") if CheckArgs() <> "" then Wscript.echo Checkargs() & vbcrlf wscript.echo "Arguments Invalid. Usage: ChangeUserPicture.vbs USERNAME UserTileFile" wscript.quit() end if strUsername = objArgs(0) strUserTileFile = objArgs(1) strUserIndex = GetUserIndex() set objFile = objFSO.GetFile(strUserTileFile) set objTS = objFile.OpenAsTextStream(1) strUserTile = objTS.ReadAll wscript.echo strUserTile strRegFile = objShell.ExpandEnvironmentStrings("%temp%") & "\UserIndexes2.reg" set objRegFile = objFSO.OpenTextFile(strRegFile, ForWriting, true) contents = "Windows Registry Editor Version 5.00" & vbcrlf & vbcrlf & "[HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\" & strUserIndex & "]" & vbcrlf & strUserTile objRegFile.Write contents objRegFile.Close strImport = "PSEXEC -S -I reg import " & strRegFile objShell.Run strImport Function GetUserIndex ' This function exports the Names key of the SAM from the registry to determine a match between the user account provided ' and its hex ID for use in creating the new registry file for import. Because the .reg file is exported in Unicode format ' we use the type command to pipe it from stdout to a new text file. strUsername = objArgs(0) strUserTileFile = objArgs(1) objShell.run "cmd /c reg export HKLM\SAM\SAM\Domains\Account\Users\Names %temp%\UserIndexes.reg /y" wscript.sleep(500) objShell.run "CMD /C type %temp%\userindexes.reg > %temp%\userindexes.txt" wscript.sleep(500) set objFile = objFSO.GetFile(objShell.ExpandEnvironmentStrings("%temp%") & "\userindexes.txt") set objRegExport = objFile.OpenAsTextStream(FORREADING) curLine = objRegExport.ReadLine() do until instr(lcase(curLine), lcase(strUserName)) or objRegExport.atendofStream curLine = objRegExport.ReadLine loop if objRegExport.AtEndOfStream then wscript.echo "Username not found." wscript.quit() else curLine = ObjRegExport.ReadLine tmpGetUserIndex = mid(curLine, instr(curLine, "(") + 1, len(curline) - instr(curline, "(") - (len(curLine) - instr(curline, ")")+1)) do until len(tmpGetUserIndex) = 8 tmpGetUserIndex = "0" & tmpGetUserIndex loop GetUserIndex = tmpGetUserIndex end if End Function Function CheckArgs() ' This function makes sure that 2 arguments were provided and that the filename provided exists if objArgs.Count <> 2 then CheckArgs = "Exactly 2 arguments must be specified." elseif not objFSO.FileExists(objArgs(1)) then CheckArgs = "File not found." else CheckArgs = "" end if End Function ![]()
__________________
Ezio Lacandia on DeviantArt | Slimkat mod per N4 e N5 | Trattative mercatino HWU | Driver nForce NET Framework [Guida] | BSOD individuazione cause | Guida Sintetica Strap/Divisori P45 | Fix associazioni Vista/7 Problemi Win Installer | Avviare programmi senza richiesta UAC | Problemi Font | Guida Raccolte 7 | Win 32/64bit come perchè Ultima modifica di ezio : 21-11-2010 alle 15:21. |
![]() |
![]() |
![]() |
#14 |
Senior Member
Iscritto dal: May 2006
Città: Kandahar
Messaggi: 10888
|
PSexec non serve basta dare i permessi al ramo SAM, come per le directory, quindi riaprire regedit.
__________________
Sharkoon VG4-W - CoolerMaster GX650W - Asus TUF Z390-PLUS GAMING (WI-FI) - G.Skill 2x 8GB DDR4_3000 - Intel i5-9600K@4600 - Corsair H75 - ZeroSwap - Hot Swap - Crucial 2x M550 256GB RAID0 / 2x MX500 500GB - HP DVDRAM_GT80N - WD 2x WD10EZEX - Philips Brilliance 272B8Q -- Nikon D7k - Nikkor 18-105VR / 18-200VRii / 28-105D - Tamron 17-50SP 2,8 / SP70-300VC USD - Metz 48AF-1 |
![]() |
![]() |
![]() |
#15 |
Senior Member
Iscritto dal: Apr 2001
Città: Giovinazzo(BA) ...bella città, riso patat e cozz a volontà!
Messaggi: 26491
|
Psexec permette di agire con privilegi elevati temporaneamente, senza toccare le autorizzazioni standard introducendo possibili problemi di sicurezza
![]()
__________________
Ezio Lacandia on DeviantArt | Slimkat mod per N4 e N5 | Trattative mercatino HWU | Driver nForce NET Framework [Guida] | BSOD individuazione cause | Guida Sintetica Strap/Divisori P45 | Fix associazioni Vista/7 Problemi Win Installer | Avviare programmi senza richiesta UAC | Problemi Font | Guida Raccolte 7 | Win 32/64bit come perchè |
![]() |
![]() |
![]() |
#16 |
Senior Member
Iscritto dal: May 2006
Città: Kandahar
Messaggi: 10888
|
Non mi piacciono i software che fanno cose che posso fare facilmente.
In ogni caso dopo aver operato si rimette a posto.
__________________
Sharkoon VG4-W - CoolerMaster GX650W - Asus TUF Z390-PLUS GAMING (WI-FI) - G.Skill 2x 8GB DDR4_3000 - Intel i5-9600K@4600 - Corsair H75 - ZeroSwap - Hot Swap - Crucial 2x M550 256GB RAID0 / 2x MX500 500GB - HP DVDRAM_GT80N - WD 2x WD10EZEX - Philips Brilliance 272B8Q -- Nikon D7k - Nikkor 18-105VR / 18-200VRii / 28-105D - Tamron 17-50SP 2,8 / SP70-300VC USD - Metz 48AF-1 |
![]() |
![]() |
![]() |
#17 |
Senior Member
Iscritto dal: Apr 2001
Città: Giovinazzo(BA) ...bella città, riso patat e cozz a volontà!
Messaggi: 26491
|
E' della Sysinternals, ora di Microsoft
![]()
__________________
Ezio Lacandia on DeviantArt | Slimkat mod per N4 e N5 | Trattative mercatino HWU | Driver nForce NET Framework [Guida] | BSOD individuazione cause | Guida Sintetica Strap/Divisori P45 | Fix associazioni Vista/7 Problemi Win Installer | Avviare programmi senza richiesta UAC | Problemi Font | Guida Raccolte 7 | Win 32/64bit come perchè |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:46.