|
| HOMEPAGE | INDICE FORUM | REGOLAMENTO | ::. | NEI PREFERITI | .:: | RSS Forum | RSS News | NEWS web | NEWS software | |
| PUBBLICITA' | | | ARTICOLI | WIN XP | VISTA | WIN 7 | REGISTRI | SOFTWARE | MANUALI | RECENSIONI | LINUX | HUMOR | HARDWARE | DOWNLOAD | | | CERCA nel FORUM » | |
27-07-2006, 10.13.40 | #1 |
Senior Member
Registrato: 05-08-2003
Loc.: Carugo
Messaggi: 357
|
Cartella messaggi outlook express
Ho il seguente problema: devo fare una copia di backup delle cartelle di outlook express dove sono memorizzati i messaggi di posta elettronica (tipicamente C:\Documents and Settings\utente\Impostazioni locali\Dati applicazioni\Identities\identità\Microsoft\Outlook Express). Dovendo automatizzare la procedura su qualche centinaio di PC, esiste una funzione che mi restituisce per ogni singola macchina il percorso di cui sopra in quanto per l'utente non ci sono problemi ma è l'identità che me ne da parecchi. Ho trovato la stringa nel registro [HKEY_CURRENT_USER\Identities\identità\Software\Microsoft\Outlook Express\5.0\Store Root], ma come faccio a leggerla con WSH? Grazie per l'aiuto
___________________________________
c1p8 "prima di pretendere qualcosa, prova a pensare a quello che dai tu" |
27-07-2006, 18.40.40 | #2 |
Hero Member
Registrato: 14-01-2005
Loc.: Rome, Italy
Messaggi: 1.132
|
provala naturalmente prende in considerazione solo l'utente di default.
Ricorda di cambiare la dir di backup in strDestinationPath Codice:
set oShell = CreateObject("WScript.Shell") bKey = oShell.RegRead("HKCU\Identities\Default User ID") bbKey = oShell.RegRead("HKCU\Identities\" & bkey & "\Software\Microsoft\Outlook Express\5.0\Store Root") Msgbox "Ho individuato la cartella della posta nella Dir: " & vbcrlf & vbcrlf & bbKey strSourcePath = bbKey strDestinationPath = "C:\Dir_di_backup" Set fso = CreateObject("Scripting.FileSystemObject") fso.CopyFolder strSourcePath, strDestinationPath, 1 MsgBox ("Backup terminato con successo.") set fso = nothing
___________________________________
♫ m u s i c ♪ i s ♫ t h e ♪ a n s w e r ♫ "Il più piccolo dei piccoli felini è già lui stesso un vero capolavoro". (Leonardo da Vinci) Namasté! |
28-07-2006, 10.02.35 | #3 |
Senior Member
Registrato: 05-08-2003
Loc.: Carugo
Messaggi: 357
|
Grazie miciomao, proprio quello che mi serviva!
Grazie ancora
___________________________________
c1p8 "prima di pretendere qualcosa, prova a pensare a quello che dai tu" |
28-07-2006, 10.56.18 | #5 |
Senior Member
Registrato: 05-08-2003
Loc.: Carugo
Messaggi: 357
|
Accidenti, ho parlato troppo presto. Su alcuni utenti la stringa che viene letta dal registro è tipo la seguente: "%UserProfile%\Impostazioni locali\Dati applicazioni\Identities\{861A3861-9A5E-4B31-AFC3-6547082B79EF}\Microsoft\Outlook Express\"
ossia con %userprofile% all'inizio e quindi restituisce un percorso non valido. Soluzioni?
___________________________________
c1p8 "prima di pretendere qualcosa, prova a pensare a quello che dai tu" |
28-07-2006, 11.13.34 | #6 |
Hero Member
Registrato: 14-01-2005
Loc.: Rome, Italy
Messaggi: 1.132
|
Immaginavo......
che macchina è quella ? cioè c'è differenza di SO tra tutte le macchine che hai ? io l'ho testato su win 2000
___________________________________
♫ m u s i c ♪ i s ♫ t h e ♪ a n s w e r ♫ "Il più piccolo dei piccoli felini è già lui stesso un vero capolavoro". (Leonardo da Vinci) Namasté! |
28-07-2006, 11.26.59 | #7 |
Senior Member
Registrato: 05-08-2003
Loc.: Carugo
Messaggi: 357
|
windows XP SP2 + tutte le patch attualmente rilasciate, come tutte le altre macchine...
Io girovagando ho trovato il seguente script: const HKEY_LOCAL_MACHINE = &H80000002 strComputer = "." Set StdOut = WScript.StdOut Set oReg=GetObject("winmgmts:{impersonationLevel=imper sonate}!\\" &_ strComputer & "\root\defaulttdRegProv") strKeyPath = "SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon" strValueName = "UIHost" oReg.GetExpandedStringValue HKEY_LOCAL_MACHINE,strKeyPath,_ strValueName,strValue WScript.Echo "The Windows logon UI host is: " & strValue ho cercato di adattarlo alle mie esigenze trasformandolo in: const HKEY_LOCAL_MACHINE = &H80000002 strComputer = "." Set StdOut = WScript.StdOut Set oReg=GetObject("winmgmts:{impersonationLevel=imper sonate}!\\" & strComputer & "\root\defaulttdRegProv") strKeyPath = "Software\Microsoft\Outlook Express\5.0" strValueName = "Store Root" oReg.GetExpandedStringValue HKEY_CURRENT_USER,strKeyPath,strValueName,strValue WScript.Echo "Questa è la stringa: " & strValue ma mi restituisce un errore
___________________________________
c1p8 "prima di pretendere qualcosa, prova a pensare a quello che dai tu" |
28-07-2006, 11.45.57 | #8 |
Hero Member
Registrato: 14-01-2005
Loc.: Rome, Italy
Messaggi: 1.132
|
ecco lo script
ora dovresti adattarlo cmq fanne uno a parte e usali ad esclusione sulle macchine, così se non và uno funziona l'altro Codice:
Option Explicit dim objWshShell, objFS, objFolder dim strUserProfile set objWshShell = CreateObject("WScript.Shell") strUserProfile = objWshShell.ExpandEnvironmentStrings("%userprofile%") set objFS = CreateObject("Scripting.FileSystemObject") set objFolder = objFS.GetFolder(strUserProfile) WScript.Echo objFolder.path 'Ecco la path dell' %userprofile% set objFolder = nothing set objFS = nothing set objWshShell = nothing
___________________________________
♫ m u s i c ♪ i s ♫ t h e ♪ a n s w e r ♫ "Il più piccolo dei piccoli felini è già lui stesso un vero capolavoro". (Leonardo da Vinci) Namasté! |
28-07-2006, 12.54.29 | #9 |
Senior Member
Registrato: 05-08-2003
Loc.: Carugo
Messaggi: 357
|
Ho cambiato il codice con il seguente:
Dim WshShell, IDUtente, percorso, dimensioni rem ++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++ rem creo l'oggetto rem ++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++ Set WshShell = WScript.CreateObject("WScript.Shell") rem ++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++ rem recupero l'ID dell'utente e lo mostro rem ++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++ IDUtente = WshShell.RegRead("HKCU\Identities\Last User ID") rem ++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++ rem recupero il percorso completo della cartella di archiviazione rem ++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++ percorso = WshShell.RegRead("HKCU\Identities\" & IDUtente & "\Software\Microsoft\Outlook Express\5.0\Store Root") percorso1 = "Identities\" & IDUtente & "\Software\Microsoft\Outlook Express\5.0" WScript.Echo "ID Utente: " & IDutente rem const HKEY_LOCAL_MACHINE = &H80000002 Const HKEY_CURRENT_USER=&H80000001 strComputer = "." rem Set oReg=GetObject("winmgmts:{impersonationLevel=imper sonate}!\\" & strComputer & "\root\defaulttdRegProv") Set oReg=GetObject("winmgmts:root\defaulttdRegProv") oReg.GetExpandedStringValue HKEY_CURRENT_USER,percorso1,"Store Root",strValue WScript.Echo "percorso1: " & percorso1 WScript.Echo "Strvalue: " & strvalue rem ++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++ rem creo variabili e oggetto filesystem rem ++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++ Dim FSO Set FSO = CreateObject("Scripting.FileSystemObject") rem ++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++ rem Dimensioni della cartella rem ++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++ Set objFolder = FSO.GetFolder(percorso) dimensioni = objFolder.Size rem ++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++ rem scrivo sul file le informazioni rem ++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++ Const ForAppending = 8 Set objFSO = CreateObject("Scripting.FileSystemObject") Set objTextFile = objFSO.OpenTextFile ("\\server1\posta\dimposta.txt", ForAppending, True) objTextFile.WriteLine(percorso & vbTab & dimensioni) objTextFile.Close WScript.Echo "Finito, grazie!" Sebbene io abbia: percorso1=\Identities\{09143152-351B-45D1-98E2-81A20D515FE9}\software\Microsoft\Outlook Express 5 lui mi legge un valore errato... dove sbaglio?
___________________________________
c1p8 "prima di pretendere qualcosa, prova a pensare a quello che dai tu" |
28-07-2006, 14.11.25 | #11 |
Senior Member
Registrato: 05-08-2003
Loc.: Carugo
Messaggi: 357
|
ho due tipi d'errore ma il secondo dipende dal primo:
1. sebbene la variabile %userprofile% sia settata a "C:\Documents and Settings\nomeutente", il programma mi restituisce: "c:\windows\system32\config\systemprofile\impostazi oni locali\dati applicazioni\identities\{09143152-351B-45D1-98E2-81A20D515FE9}\Microsoft\Outlook Express\" e quindi poi (errore 2) 2. errore in riga 57 carattere 1: impossibile trovare il percorso. Grazie per l'aiuto che mi stai dando
___________________________________
c1p8 "prima di pretendere qualcosa, prova a pensare a quello che dai tu" |
28-07-2006, 16.13.40 | #12 |
Hero Member
Registrato: 14-01-2005
Loc.: Rome, Italy
Messaggi: 1.132
|
Allora il primo esempio che ti avevo postato può essere utile nel caso in cui la path dei file Outlook risiedono in una cartella diversa da quella che OE imposta di default. Questo invece è buono nel caso contrario. Ora dovrebbe andar bene
Codice:
set oShell = CreateObject("WScript.Shell") bKey = oShell.RegRead("HKCU\Identities\Default User ID") bbKey = "\Impostazioni locali\Dati applicazioni\Identities\" & bKey & "\Microsoft\Outlook Express" strUserProfile = oShell.ExpandEnvironmentStrings("%userprofile%") set objFS = CreateObject("Scripting.FileSystemObject") bbbKey = objFS.GetFolder(strUserProfile) Msgbox "Ho individuato la cartella della posta nella Dir: " & vbcrlf & vbcrlf & bbbKey & bbKey strSourcePath = bbbKey & bbKey strDestinationPath = "C:\Dir_di_backup" objFS.CopyFolder strSourcePath, strDestinationPath, 1 MsgBox ("Backup terminato con successo.") set objFS = nothing set oShell = nothing
___________________________________
♫ m u s i c ♪ i s ♫ t h e ♪ a n s w e r ♫ "Il più piccolo dei piccoli felini è già lui stesso un vero capolavoro". (Leonardo da Vinci) Namasté! |
28-07-2006, 16.57.35 | #13 |
Senior Member
Registrato: 05-08-2003
Loc.: Carugo
Messaggi: 357
|
Adesso è perfetto, lo sto ancora studiando ma funziona alla grande.
Grazie ancora
___________________________________
c1p8 "prima di pretendere qualcosa, prova a pensare a quello che dai tu" |
Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti) | |
Strumenti discussione | |
|
|
Discussioni simili | ||||
Discussione | Autore discussione | Forum | Risposte | Ultimo messaggio |
spariti messaggi di outlook express dopo crash pc | reaper | Software applicativo | 2 | 07-09-2008 19.48.51 |
Outlook Express e messaggi non desiderati | pessimoelemento | Sicurezza&Privacy | 3 | 07-06-2006 22.44.27 |
Outlook Express: messaggi che non si cancellano | Frengo | Software applicativo | 2 | 04-04-2006 20.23.56 |
Cartella messaggi di Outlook 2003 | breve | Software applicativo | 2 | 04-03-2005 08.54.12 |
Importare messaggi di Outlook Express 6 in Outlook 2002 | FRENK! | Software applicativo | 0 | 10-09-2003 01.46.53 |