Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Outlook 2003 Profile rebuild script
- const HKEY_CURRENT_USER = &H80000001
- Set wShell = wScript.CreateObject("wScript.Shell")
- Set objFSO = CreateObject("Scripting.FileSystemObject")
- set objShell = CreateObject("WScript.Shell")
- if ObjFso.FileExists("c:windowstempprofile.prf") Then ObjFso.DeleteFile("c:windowstempprofile.prf")
- strComputer = "."
- Dim OProfile()
- 'Kill Outlook If Open
- Set objWMIService = GetObject("winmgmts:" _
- & "{impersonationLevel=impersonate}!\" & strComputer & "rootcimv2")
- Set colProcessList = objWMIService.ExecQuery _
- ("SELECT * FROM Win32_Process WHERE Name = 'Outlook.exe'")
- For Each objProcess in colProcessList
- objProcess.Terminate()
- Next
- Set colProcessList = objWMIService.ExecQuery _
- ("SELECT * FROM Win32_Process WHERE Name = 'communicator.exe'")
- For Each objProcess in colProcessList
- objProcess.Terminate()
- Next
- 'Get System Architecture
- Set WshSysEnv = WShell.Environment("SYSTEM")
- Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\.rootdefault:StdRegProv")
- IF WshSysEnv("PROCESSOR_ARCHITECTURE") = "AMD64" Then
- PrgFiles = "Program Files(x86)"
- Else
- PrgFiles = "Program Files"
- End If
- 'Get Outlook Version
- OutVer = ReadReg("HKCROutlook.ApplicationCurVer")
- If OutVer = "Outlook.Application.11" Then OutVer = "Office11"
- If OutVer = "Outlook.Application.12" Then OutVer = "Office12"
- If OutVer = "Outlook.Application.14" Then OutVer = "Office14"
- 'Read default profile name
- ProfileName = wShell.RegRead("HKCUSoftwareMicrosoftWindows NTCurrentVersionWindows Messaging SubsystemProfilesDefaultProfile")
- 'Get Profiles
- Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\" &_
- strComputer & "rootdefault:StdRegProv")
- strKeyPath = "SoftwareMicrosoftWindows NTCurrentVersionWindows Messaging SubsystemProfiles"
- oReg.EnumKey HKEY_CURRENT_USER, strKeyPath, arrSubKeys
- i = 0
- For Each subkey In arrSubKeys
- Redim Preserve OProfile(i)
- OProfile(i) = subkey
- if ObjFso.FileExists("c:windowstemp" & OProfile(i) & ".NK2") Then ObjFso.DeleteFile("c:windowstemp" & OProfile(i) & ".NK2")
- If objFSO.FileExists("" & UserProfile & "Application DataMicrosoftOutlook" & OProfile(i) & ".NK2") Then
- objFSO.CopyFile "" & UserProfile & "Application DataMicrosoftOutlook" & OProfile(i) & ".NK2", "c:WindowsTemp"
- End If
- wShell.Run("cmd.exe /c reg delete ""HKCUSoftwareMicrosoftWindows NTCurrentVersionWindows Messaging SubsystemProfiles" & OProfile(i) & """ /f")
- i = i + 1
- ProfList = ProfList & VBCRLF & subkey
- Next
- i = 0
- 'Create Outlook PRF File
- Set outFile = objFSO.CreateTextFile("c:windowstempprofile.prf",8,true)
- outFile.WriteLine(";Automatically generated PRF file from the Microsoft Office Customization and Installation Wizard")
- outFile.WriteLine("")
- outFile.WriteLine("; **************************************************************")
- outFile.WriteLine("; Section 1 - Profile Defaults")
- outFile.WriteLine("; **************************************************************")
- outFile.WriteLine("")
- outFile.WriteLine("[General]")
- outFile.WriteLine("Custom=1")
- outFile.WriteLine("ProfileName=" & ProfileName)
- outFile.WriteLine("DefaultProfile=NO")
- outFile.WriteLine("OverwriteProfile=NO")
- outFile.WriteLine("ModifyDefaultProfileIfPresent=FALSE")
- outFile.WriteLine("BackupProfile=No")
- outFile.WriteLine("")
- outFile.WriteLine("; **************************************************************")
- outFile.WriteLine("; Section 2 - Services in Profile")
- outFile.WriteLine("; **************************************************************")
- outFile.WriteLine("")
- outFile.WriteLine("[Service List]")
- outFile.WriteLine("ServiceX=Microsoft Outlook Client")
- outFile.WriteLine("ServiceEGS=Exchange Global Section")
- outFile.WriteLine("Service1=Microsoft Exchange Server")
- outFile.WriteLine("ServiceEGS=Exchange Global Section")
- outFile.WriteLine("")
- outFile.WriteLine(";***************************************************************")
- outFile.WriteLine("; Section 3 - List of internet accounts")
- outFile.WriteLine(";***************************************************************")
- outFile.WriteLine("")
- outFile.WriteLine("[Internet Account List]")
- outFile.WriteLine("")
- outFile.WriteLine(";***************************************************************")
- outFile.WriteLine("; Section 4 - Default values for each service.")
- outFile.WriteLine(";***************************************************************")
- outFile.WriteLine("")
- outFile.WriteLine("[ServiceX]")
- outFile.WriteLine("CachedExchangeMode=0x00000002")
- outFile.WriteLine("CachedExchangeSlowDetect=TRUE")
- outFile.WriteLine("")
- outFile.WriteLine("[ServiceEGS]")
- outFile.WriteLine("CachedExchangeConfigFlags=0x00000100")
- If i < 2 Then
- MailboxName = "%USERNAME%"
- Else
- MailboxName = Inputbox("Please Enter Username" & VBCRLF & "Typically the NT ID of the Mailbox","Outlook Profile Regenerator")
- End If
- outFile.WriteLine("MailboxName=" & MailboxName)'%USERNAME%")
- outFile.WriteLine("HomeServer=webmail")
- outFile.WriteLine("")
- outFile.WriteLine("[Service1]")
- outFile.WriteLine("OverwriteExistingService=No")
- outFile.WriteLine("UniqueService=Yes")
- outFile.WriteLine("HomeServer=webmail")
- outFile.WriteLine("AccountName=Microsoft Exchange Server")
- outFile.WriteLine("")
- outFile.WriteLine(";***************************************************************")
- outFile.WriteLine("; Section 5 - Values for each internet account.")
- outFile.WriteLine(";***************************************************************")
- outFile.WriteLine("")
- outFile.WriteLine(";***************************************************************")
- outFile.WriteLine("; Section 6 - Mapping for profile properties")
- outFile.WriteLine(";***************************************************************")
- outFile.WriteLine("")
- outFile.WriteLine("[Microsoft Exchange Server]")
- outFile.WriteLine("ServiceName=MSEMS")
- outFile.WriteLine("MDBGUID=5494A1C0297F101BA58708002B2A2517")
- outFile.WriteLine("MailboxName=PT_STRING8,0x6607")
- outFile.WriteLine("HomeServer=PT_STRING8,0x6608")
- outFile.WriteLine("OfflineAddressBookPath=PT_STRING8,0x660E")
- outFile.WriteLine("OfflineFolderPath=PT_STRING8,0x6610")
- outFile.WriteLine("")
- outFile.WriteLine("[Exchange Global Section]")
- outFile.WriteLine("SectionGUID=13dbb0c8aa05101a9bb000aa002fc45a")
- outFile.WriteLine("MailboxName=PT_STRING8,0x6607")
- outFile.WriteLine("HomeServer=PT_STRING8,0x6608")
- outFile.WriteLine("RPCoverHTTPflags=PT_LONG,0x6623")
- outFile.WriteLine("RPCProxyServer=PT_UNICODE,0x6622")
- outFile.WriteLine("RPCProxyPrincipalName=PT_UNICODE,0x6625")
- outFile.WriteLine("RPCProxyAuthScheme=PT_LONG,0x6627")
- outFile.WriteLine("CachedExchangeConfigFlags=PT_LONG,0x6629")
- outFile.WriteLine("")
- outFile.WriteLine("[Microsoft Mail]")
- outFile.WriteLine("ServiceName=MSFS")
- outFile.WriteLine("ServerPath=PT_STRING8,0x6600")
- outFile.WriteLine("Mailbox=PT_STRING8,0x6601")
- outFile.WriteLine("Password=PT_STRING8,0x67f0")
- outFile.WriteLine("RememberPassword=PT_BOOLEAN,0x6606")
- outFile.WriteLine("ConnectionType=PT_LONG,0x6603")
- outFile.WriteLine("UseSessionLog=PT_BOOLEAN,0x6604")
- outFile.WriteLine("SessionLogPath=PT_STRING8,0x6605")
- outFile.WriteLine("EnableUpload=PT_BOOLEAN,0x6620")
- outFile.WriteLine("EnableDownload=PT_BOOLEAN,0x6621")
- outFile.WriteLine("UploadMask=PT_LONG,0x6622")
- outFile.WriteLine("NetBiosNotification=PT_BOOLEAN,0x6623")
- outFile.WriteLine("NewMailPollInterval=PT_STRING8,0x6624")
- outFile.WriteLine("DisplayGalOnly=PT_BOOLEAN,0x6625")
- outFile.WriteLine("UseHeadersOnLAN=PT_BOOLEAN,0x6630")
- outFile.WriteLine("UseLocalAdressBookOnLAN=PT_BOOLEAN,0x6631")
- outFile.WriteLine("UseExternalToHelpDeliverOnLAN=PT_BOOLEAN,0x6632")
- outFile.WriteLine("UseHeadersOnRAS=PT_BOOLEAN,0x6640")
- outFile.WriteLine("UseLocalAdressBookOnRAS=PT_BOOLEAN,0x6641")
- outFile.WriteLine("UseExternalToHelpDeliverOnRAS=PT_BOOLEAN,0x6639")
- outFile.WriteLine("ConnectOnStartup=PT_BOOLEAN,0x6642")
- outFile.WriteLine("DisconnectAfterRetrieveHeaders=PT_BOOLEAN,0x6643")
- outFile.WriteLine("DisconnectAfterRetrieveMail=PT_BOOLEAN,0x6644")
- outFile.WriteLine("DisconnectOnExit=PT_BOOLEAN,0x6645")
- outFile.WriteLine("DefaultDialupConnectionName=PT_STRING8,0x6646")
- outFile.WriteLine("DialupRetryCount=PT_STRING8,0x6648")
- outFile.WriteLine("DialupRetryDelay=PT_STRING8,0x6649")
- outFile.WriteLine("")
- outFile.WriteLine("[Personal Folders]")
- outFile.WriteLine("ServiceName=MSPST MS")
- outFile.WriteLine("Name=PT_STRING8,0x3001")
- outFile.WriteLine("PathToPersonalFolders=PT_STRING8,0x6700 ")
- outFile.WriteLine("RememberPassword=PT_BOOLEAN,0x6701")
- outFile.WriteLine("EncryptionType=PT_LONG,0x6702")
- outFile.WriteLine("Password=PT_STRING8,0x6703")
- outFile.WriteLine("")
- outFile.WriteLine("[Unicode Personal Folders]")
- outFile.WriteLine("ServiceName=MSUPST MS")
- outFile.WriteLine("Name=PT_UNICODE,0x3001")
- outFile.WriteLine("PathToPersonalFolders=PT_STRING8,0x6700 ")
- outFile.WriteLine("RememberPassword=PT_BOOLEAN,0x6701")
- outFile.WriteLine("EncryptionType=PT_LONG,0x6702")
- outFile.WriteLine("Password=PT_STRING8,0x6703")
- outFile.WriteLine("")
- outFile.WriteLine("[Outlook Address Book]")
- outFile.WriteLine("ServiceName=CONTAB")
- outFile.WriteLine("")
- outFile.WriteLine("[LDAP Directory]")
- outFile.WriteLine("ServiceName=EMABLT")
- outFile.WriteLine("ServerName=PT_STRING8,0x6600")
- outFile.WriteLine("UserName=PT_STRING8,0x6602")
- outFile.WriteLine("UseSSL=PT_BOOLEAN,0x6613")
- outFile.WriteLine("UseSPA=PT_BOOLEAN,0x6615")
- outFile.WriteLine("DisableVLV=PT_LONG,0x6616")
- outFile.WriteLine("DisplayName=PT_STRING8,0x3001")
- outFile.WriteLine("ConnectionPort=PT_STRING8,0x6601")
- outFile.WriteLine("SearchTimeout=PT_STRING8,0x6607")
- outFile.WriteLine("MaxEntriesReturned=PT_STRING8,0x6608")
- outFile.WriteLine("SearchBase=PT_STRING8,0x6603")
- outFile.WriteLine("")
- outFile.WriteLine("[Microsoft Outlook Client]")
- outFile.WriteLine("SectionGUID=0a0d020000000000c000000000000046")
- outFile.WriteLine("FormDirectoryPage=PT_STRING8,0x0270")
- outFile.WriteLine("WebServicesLocation=PT_STRING8,0x0271")
- outFile.WriteLine("ComposeWithWebServices=PT_BOOLEAN,0x0272")
- outFile.WriteLine("PromptWhenUsingWebServices=PT_BOOLEAN,0x0273")
- outFile.WriteLine("OpenWithWebServices=PT_BOOLEAN,0x0274")
- outFile.WriteLine("CachedExchangeMode=PT_LONG,0x041f")
- outFile.WriteLine("CachedExchangeSlowDetect=PT_BOOLEAN,0x0420")
- outFile.WriteLine("")
- outFile.WriteLine("[Personal Address Book]")
- outFile.WriteLine("ServiceName=MSPST AB")
- outFile.WriteLine("NameOfPAB=PT_STRING8,0x001e3001")
- outFile.WriteLine("Path=PT_STRING8,0x001e6600")
- outFile.WriteLine("ShowNamesBy=PT_LONG,0x00036601")
- outFile.WriteLine("")
- outFile.WriteLine("; ************************************************************************")
- outFile.WriteLine("; Section 7 - Mapping for internet account properties. DO NOT MODIFY.")
- outFile.WriteLine("; ************************************************************************")
- outFile.WriteLine("")
- outFile.WriteLine("[I_Mail]")
- outFile.WriteLine("AccountType=POP3")
- outFile.WriteLine(";--- POP3 Account Settings ---")
- outFile.WriteLine("AccountName=PT_UNICODE,0x0002")
- outFile.WriteLine("DisplayName=PT_UNICODE,0x000B")
- outFile.WriteLine("EmailAddress=PT_UNICODE,0x000C")
- outFile.WriteLine(";--- POP3 Account Settings ---")
- outFile.WriteLine("POP3Server=PT_UNICODE,0x0100")
- outFile.WriteLine("POP3UserName=PT_UNICODE,0x0101")
- outFile.WriteLine("POP3UseSPA=PT_LONG,0x0108")
- outFile.WriteLine("Organization=PT_UNICODE,0x0107")
- outFile.WriteLine("ReplyEmailAddress=PT_UNICODE,0x0103")
- outFile.WriteLine("POP3Port=PT_LONG,0x0104")
- outFile.WriteLine("POP3UseSSL=PT_LONG,0x0105")
- outFile.WriteLine("; --- SMTP Account Settings ---")
- outFile.WriteLine("SMTPServer=PT_UNICODE,0x0200")
- outFile.WriteLine("SMTPUseAuth=PT_LONG,0x0203")
- outFile.WriteLine("SMTPAuthMethod=PT_LONG,0x0208")
- outFile.WriteLine("SMTPUserName=PT_UNICODE,0x0204")
- outFile.WriteLine("SMTPUseSPA=PT_LONG,0x0207")
- outFile.WriteLine("ConnectionType=PT_LONG,0x000F")
- outFile.WriteLine("ConnectionOID=PT_UNICODE,0x0010")
- outFile.WriteLine("SMTPPort=PT_LONG,0x0201")
- outFile.WriteLine("SMTPUseSSL=PT_LONG,0x0202")
- outFile.WriteLine("ServerTimeOut=PT_LONG,0x0209")
- outFile.WriteLine("LeaveOnServer=PT_LONG,0x1000")
- outFile.WriteLine("")
- outFile.WriteLine("[IMAP_I_Mail]")
- outFile.WriteLine("AccountType=IMAP")
- outFile.WriteLine(";--- IMAP Account Settings ---")
- outFile.WriteLine("AccountName=PT_UNICODE,0x0002")
- outFile.WriteLine("DisplayName=PT_UNICODE,0x000B")
- outFile.WriteLine("EmailAddress=PT_UNICODE,0x000C")
- outFile.WriteLine(";--- IMAP Account Settings ---")
- outFile.WriteLine("IMAPServer=PT_UNICODE,0x0100")
- outFile.WriteLine("IMAPUserName=PT_UNICODE,0x0101")
- outFile.WriteLine("IMAPUseSPA=PT_LONG,0x0108")
- outFile.WriteLine("Organization=PT_UNICODE,0x0107")
- outFile.WriteLine("ReplyEmailAddress=PT_UNICODE,0x0103")
- outFile.WriteLine("IMAPPort=PT_LONG,0x0104")
- outFile.WriteLine("IMAPUseSSL=PT_LONG,0x0105")
- outFile.WriteLine("; --- SMTP Account Settings ---")
- outFile.WriteLine("SMTPServer=PT_UNICODE,0x0200")
- outFile.WriteLine("SMTPUseAuth=PT_LONG,0x0203")
- outFile.WriteLine("SMTPAuthMethod=PT_LONG,0x0208")
- outFile.WriteLine("SMTPUserName=PT_UNICODE,0x0204")
- outFile.WriteLine("SMTPUseSPA=PT_LONG,0x0207")
- outFile.WriteLine("ConnectionType=PT_LONG,0x000F")
- outFile.WriteLine("ConnectionOID=PT_UNICODE,0x0010")
- outFile.WriteLine("SMTPPort=PT_LONG,0x0201")
- outFile.WriteLine("SMTPUseSSL=PT_LONG,0x0202")
- outFile.WriteLine("ServerTimeOut=PT_LONG,0x0209")
- outFile.WriteLine("CheckNewImap=PT_LONG,0x1100")
- outFile.WriteLine("RootFolder=PT_UNICODE,0x1101")
- outFile.WriteLine("")
- outFile.WriteLine("[INET_HTTP]")
- outFile.WriteLine("AccountType=HOTMAIL")
- outFile.WriteLine("Account=PT_UNICODE,0x0002")
- outFile.WriteLine("HttpServer=PT_UNICODE,0x0100")
- outFile.WriteLine("UserName=PT_UNICODE,0x0101")
- outFile.WriteLine("Organization=PT_UNICODE,0x0107")
- outFile.WriteLine("UseSPA=PT_LONG,0x0108")
- outFile.WriteLine("TimeOut=PT_LONG,0x0209")
- outFile.WriteLine("Reply=PT_UNICODE,0x0103")
- outFile.WriteLine("EmailAddress=PT_UNICODE,0x000C")
- outFile.WriteLine("FullName=PT_UNICODE,0x000B")
- outFile.WriteLine("Connection Type=PT_LONG,0x000F")
- outFile.WriteLine("ConnectOID=PT_UNICODE,0x0010")
- outFile.Close
- If objFSO.FileExists("c:WindowsTemp" & ProfileName & ".NK2") Then
- objFSO.CopyFile "c:WindowsTemp" & ProfileName & ".NK2", "" & UserProfile & "Application DataMicrosoftOutlook"
- End If
- 'Start Outlook
- wShell.Run("""C:" & PrgFiles & "microsoft office" & OutVer & "outlook.exe"" /importprf c:windowstempprofile.prf")
- objShell.LogEvent EVENTLOG_INFORMATION, "Outlook Profile Regeneration Script Executed" & VBCRLF & "Profile: " & ProfileName
- Function ReadReg(RegPath)
- Dim objRegistry, Key
- Set objRegistry = CreateObject("Wscript.shell")
- Key = objRegistry.RegRead(RegPath)
- ReadReg = Key
- End Function
Add Comment
Please, Sign In to add comment