Guest User

Untitled

a guest
Aug 26th, 2018
356
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.53 KB | None | 0 0
  1. Outlook 2003 Profile rebuild script
  2. const HKEY_CURRENT_USER = &H80000001
  3. Set wShell = wScript.CreateObject("wScript.Shell")
  4. Set objFSO = CreateObject("Scripting.FileSystemObject")
  5. set objShell = CreateObject("WScript.Shell")
  6.  
  7. if ObjFso.FileExists("c:windowstempprofile.prf") Then ObjFso.DeleteFile("c:windowstempprofile.prf")
  8. strComputer = "."
  9. Dim OProfile()
  10.  
  11. 'Kill Outlook If Open
  12. Set objWMIService = GetObject("winmgmts:" _
  13. & "{impersonationLevel=impersonate}!\" & strComputer & "rootcimv2")
  14. Set colProcessList = objWMIService.ExecQuery _
  15. ("SELECT * FROM Win32_Process WHERE Name = 'Outlook.exe'")
  16.  
  17. For Each objProcess in colProcessList
  18. objProcess.Terminate()
  19. Next
  20. Set colProcessList = objWMIService.ExecQuery _
  21. ("SELECT * FROM Win32_Process WHERE Name = 'communicator.exe'")
  22. For Each objProcess in colProcessList
  23. objProcess.Terminate()
  24. Next
  25.  
  26. 'Get System Architecture
  27. Set WshSysEnv = WShell.Environment("SYSTEM")
  28. Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\.rootdefault:StdRegProv")
  29. IF WshSysEnv("PROCESSOR_ARCHITECTURE") = "AMD64" Then
  30. PrgFiles = "Program Files(x86)"
  31. Else
  32. PrgFiles = "Program Files"
  33. End If
  34.  
  35. 'Get Outlook Version
  36. OutVer = ReadReg("HKCROutlook.ApplicationCurVer")
  37. If OutVer = "Outlook.Application.11" Then OutVer = "Office11"
  38. If OutVer = "Outlook.Application.12" Then OutVer = "Office12"
  39. If OutVer = "Outlook.Application.14" Then OutVer = "Office14"
  40.  
  41. 'Read default profile name
  42. ProfileName = wShell.RegRead("HKCUSoftwareMicrosoftWindows NTCurrentVersionWindows Messaging SubsystemProfilesDefaultProfile")
  43.  
  44. 'Get Profiles
  45. Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\" &_
  46. strComputer & "rootdefault:StdRegProv")
  47. strKeyPath = "SoftwareMicrosoftWindows NTCurrentVersionWindows Messaging SubsystemProfiles"
  48. oReg.EnumKey HKEY_CURRENT_USER, strKeyPath, arrSubKeys
  49.  
  50. i = 0
  51. For Each subkey In arrSubKeys
  52. Redim Preserve OProfile(i)
  53. OProfile(i) = subkey
  54. if ObjFso.FileExists("c:windowstemp" & OProfile(i) & ".NK2") Then ObjFso.DeleteFile("c:windowstemp" & OProfile(i) & ".NK2")
  55. If objFSO.FileExists("" & UserProfile & "Application DataMicrosoftOutlook" & OProfile(i) & ".NK2") Then
  56. objFSO.CopyFile "" & UserProfile & "Application DataMicrosoftOutlook" & OProfile(i) & ".NK2", "c:WindowsTemp"
  57. End If
  58. wShell.Run("cmd.exe /c reg delete ""HKCUSoftwareMicrosoftWindows NTCurrentVersionWindows Messaging SubsystemProfiles" & OProfile(i) & """ /f")
  59. i = i + 1
  60. ProfList = ProfList & VBCRLF & subkey
  61. Next
  62.  
  63. i = 0
  64.  
  65. 'Create Outlook PRF File
  66. Set outFile = objFSO.CreateTextFile("c:windowstempprofile.prf",8,true)
  67. outFile.WriteLine(";Automatically generated PRF file from the Microsoft Office Customization and Installation Wizard")
  68. outFile.WriteLine("")
  69. outFile.WriteLine("; **************************************************************")
  70. outFile.WriteLine("; Section 1 - Profile Defaults")
  71. outFile.WriteLine("; **************************************************************")
  72. outFile.WriteLine("")
  73. outFile.WriteLine("[General]")
  74. outFile.WriteLine("Custom=1")
  75. outFile.WriteLine("ProfileName=" & ProfileName)
  76. outFile.WriteLine("DefaultProfile=NO")
  77. outFile.WriteLine("OverwriteProfile=NO")
  78. outFile.WriteLine("ModifyDefaultProfileIfPresent=FALSE")
  79. outFile.WriteLine("BackupProfile=No")
  80. outFile.WriteLine("")
  81. outFile.WriteLine("; **************************************************************")
  82. outFile.WriteLine("; Section 2 - Services in Profile")
  83. outFile.WriteLine("; **************************************************************")
  84. outFile.WriteLine("")
  85. outFile.WriteLine("[Service List]")
  86. outFile.WriteLine("ServiceX=Microsoft Outlook Client")
  87. outFile.WriteLine("ServiceEGS=Exchange Global Section")
  88. outFile.WriteLine("Service1=Microsoft Exchange Server")
  89. outFile.WriteLine("ServiceEGS=Exchange Global Section")
  90. outFile.WriteLine("")
  91. outFile.WriteLine(";***************************************************************")
  92. outFile.WriteLine("; Section 3 - List of internet accounts")
  93. outFile.WriteLine(";***************************************************************")
  94. outFile.WriteLine("")
  95. outFile.WriteLine("[Internet Account List]")
  96. outFile.WriteLine("")
  97. outFile.WriteLine(";***************************************************************")
  98. outFile.WriteLine("; Section 4 - Default values for each service.")
  99. outFile.WriteLine(";***************************************************************")
  100. outFile.WriteLine("")
  101. outFile.WriteLine("[ServiceX]")
  102. outFile.WriteLine("CachedExchangeMode=0x00000002")
  103. outFile.WriteLine("CachedExchangeSlowDetect=TRUE")
  104. outFile.WriteLine("")
  105. outFile.WriteLine("[ServiceEGS]")
  106. outFile.WriteLine("CachedExchangeConfigFlags=0x00000100")
  107. If i < 2 Then
  108. MailboxName = "%USERNAME%"
  109. Else
  110. MailboxName = Inputbox("Please Enter Username" & VBCRLF & "Typically the NT ID of the Mailbox","Outlook Profile Regenerator")
  111. End If
  112. outFile.WriteLine("MailboxName=" & MailboxName)'%USERNAME%")
  113. outFile.WriteLine("HomeServer=webmail")
  114. outFile.WriteLine("")
  115. outFile.WriteLine("[Service1]")
  116. outFile.WriteLine("OverwriteExistingService=No")
  117. outFile.WriteLine("UniqueService=Yes")
  118. outFile.WriteLine("HomeServer=webmail")
  119. outFile.WriteLine("AccountName=Microsoft Exchange Server")
  120. outFile.WriteLine("")
  121. outFile.WriteLine(";***************************************************************")
  122. outFile.WriteLine("; Section 5 - Values for each internet account.")
  123. outFile.WriteLine(";***************************************************************")
  124. outFile.WriteLine("")
  125. outFile.WriteLine(";***************************************************************")
  126. outFile.WriteLine("; Section 6 - Mapping for profile properties")
  127. outFile.WriteLine(";***************************************************************")
  128. outFile.WriteLine("")
  129. outFile.WriteLine("[Microsoft Exchange Server]")
  130. outFile.WriteLine("ServiceName=MSEMS")
  131. outFile.WriteLine("MDBGUID=5494A1C0297F101BA58708002B2A2517")
  132. outFile.WriteLine("MailboxName=PT_STRING8,0x6607")
  133. outFile.WriteLine("HomeServer=PT_STRING8,0x6608")
  134. outFile.WriteLine("OfflineAddressBookPath=PT_STRING8,0x660E")
  135. outFile.WriteLine("OfflineFolderPath=PT_STRING8,0x6610")
  136. outFile.WriteLine("")
  137. outFile.WriteLine("[Exchange Global Section]")
  138. outFile.WriteLine("SectionGUID=13dbb0c8aa05101a9bb000aa002fc45a")
  139. outFile.WriteLine("MailboxName=PT_STRING8,0x6607")
  140. outFile.WriteLine("HomeServer=PT_STRING8,0x6608")
  141. outFile.WriteLine("RPCoverHTTPflags=PT_LONG,0x6623")
  142. outFile.WriteLine("RPCProxyServer=PT_UNICODE,0x6622")
  143. outFile.WriteLine("RPCProxyPrincipalName=PT_UNICODE,0x6625")
  144. outFile.WriteLine("RPCProxyAuthScheme=PT_LONG,0x6627")
  145. outFile.WriteLine("CachedExchangeConfigFlags=PT_LONG,0x6629")
  146. outFile.WriteLine("")
  147. outFile.WriteLine("[Microsoft Mail]")
  148. outFile.WriteLine("ServiceName=MSFS")
  149. outFile.WriteLine("ServerPath=PT_STRING8,0x6600")
  150. outFile.WriteLine("Mailbox=PT_STRING8,0x6601")
  151. outFile.WriteLine("Password=PT_STRING8,0x67f0")
  152. outFile.WriteLine("RememberPassword=PT_BOOLEAN,0x6606")
  153. outFile.WriteLine("ConnectionType=PT_LONG,0x6603")
  154. outFile.WriteLine("UseSessionLog=PT_BOOLEAN,0x6604")
  155. outFile.WriteLine("SessionLogPath=PT_STRING8,0x6605")
  156. outFile.WriteLine("EnableUpload=PT_BOOLEAN,0x6620")
  157. outFile.WriteLine("EnableDownload=PT_BOOLEAN,0x6621")
  158. outFile.WriteLine("UploadMask=PT_LONG,0x6622")
  159. outFile.WriteLine("NetBiosNotification=PT_BOOLEAN,0x6623")
  160. outFile.WriteLine("NewMailPollInterval=PT_STRING8,0x6624")
  161. outFile.WriteLine("DisplayGalOnly=PT_BOOLEAN,0x6625")
  162. outFile.WriteLine("UseHeadersOnLAN=PT_BOOLEAN,0x6630")
  163. outFile.WriteLine("UseLocalAdressBookOnLAN=PT_BOOLEAN,0x6631")
  164. outFile.WriteLine("UseExternalToHelpDeliverOnLAN=PT_BOOLEAN,0x6632")
  165. outFile.WriteLine("UseHeadersOnRAS=PT_BOOLEAN,0x6640")
  166. outFile.WriteLine("UseLocalAdressBookOnRAS=PT_BOOLEAN,0x6641")
  167. outFile.WriteLine("UseExternalToHelpDeliverOnRAS=PT_BOOLEAN,0x6639")
  168. outFile.WriteLine("ConnectOnStartup=PT_BOOLEAN,0x6642")
  169. outFile.WriteLine("DisconnectAfterRetrieveHeaders=PT_BOOLEAN,0x6643")
  170. outFile.WriteLine("DisconnectAfterRetrieveMail=PT_BOOLEAN,0x6644")
  171. outFile.WriteLine("DisconnectOnExit=PT_BOOLEAN,0x6645")
  172. outFile.WriteLine("DefaultDialupConnectionName=PT_STRING8,0x6646")
  173. outFile.WriteLine("DialupRetryCount=PT_STRING8,0x6648")
  174. outFile.WriteLine("DialupRetryDelay=PT_STRING8,0x6649")
  175. outFile.WriteLine("")
  176. outFile.WriteLine("[Personal Folders]")
  177. outFile.WriteLine("ServiceName=MSPST MS")
  178. outFile.WriteLine("Name=PT_STRING8,0x3001")
  179. outFile.WriteLine("PathToPersonalFolders=PT_STRING8,0x6700 ")
  180. outFile.WriteLine("RememberPassword=PT_BOOLEAN,0x6701")
  181. outFile.WriteLine("EncryptionType=PT_LONG,0x6702")
  182. outFile.WriteLine("Password=PT_STRING8,0x6703")
  183. outFile.WriteLine("")
  184. outFile.WriteLine("[Unicode Personal Folders]")
  185. outFile.WriteLine("ServiceName=MSUPST MS")
  186. outFile.WriteLine("Name=PT_UNICODE,0x3001")
  187. outFile.WriteLine("PathToPersonalFolders=PT_STRING8,0x6700 ")
  188. outFile.WriteLine("RememberPassword=PT_BOOLEAN,0x6701")
  189. outFile.WriteLine("EncryptionType=PT_LONG,0x6702")
  190. outFile.WriteLine("Password=PT_STRING8,0x6703")
  191. outFile.WriteLine("")
  192. outFile.WriteLine("[Outlook Address Book]")
  193. outFile.WriteLine("ServiceName=CONTAB")
  194. outFile.WriteLine("")
  195. outFile.WriteLine("[LDAP Directory]")
  196. outFile.WriteLine("ServiceName=EMABLT")
  197. outFile.WriteLine("ServerName=PT_STRING8,0x6600")
  198. outFile.WriteLine("UserName=PT_STRING8,0x6602")
  199. outFile.WriteLine("UseSSL=PT_BOOLEAN,0x6613")
  200. outFile.WriteLine("UseSPA=PT_BOOLEAN,0x6615")
  201. outFile.WriteLine("DisableVLV=PT_LONG,0x6616")
  202. outFile.WriteLine("DisplayName=PT_STRING8,0x3001")
  203. outFile.WriteLine("ConnectionPort=PT_STRING8,0x6601")
  204. outFile.WriteLine("SearchTimeout=PT_STRING8,0x6607")
  205. outFile.WriteLine("MaxEntriesReturned=PT_STRING8,0x6608")
  206. outFile.WriteLine("SearchBase=PT_STRING8,0x6603")
  207. outFile.WriteLine("")
  208. outFile.WriteLine("[Microsoft Outlook Client]")
  209. outFile.WriteLine("SectionGUID=0a0d020000000000c000000000000046")
  210. outFile.WriteLine("FormDirectoryPage=PT_STRING8,0x0270")
  211. outFile.WriteLine("WebServicesLocation=PT_STRING8,0x0271")
  212. outFile.WriteLine("ComposeWithWebServices=PT_BOOLEAN,0x0272")
  213. outFile.WriteLine("PromptWhenUsingWebServices=PT_BOOLEAN,0x0273")
  214. outFile.WriteLine("OpenWithWebServices=PT_BOOLEAN,0x0274")
  215. outFile.WriteLine("CachedExchangeMode=PT_LONG,0x041f")
  216. outFile.WriteLine("CachedExchangeSlowDetect=PT_BOOLEAN,0x0420")
  217. outFile.WriteLine("")
  218. outFile.WriteLine("[Personal Address Book]")
  219. outFile.WriteLine("ServiceName=MSPST AB")
  220. outFile.WriteLine("NameOfPAB=PT_STRING8,0x001e3001")
  221. outFile.WriteLine("Path=PT_STRING8,0x001e6600")
  222. outFile.WriteLine("ShowNamesBy=PT_LONG,0x00036601")
  223. outFile.WriteLine("")
  224. outFile.WriteLine("; ************************************************************************")
  225. outFile.WriteLine("; Section 7 - Mapping for internet account properties. DO NOT MODIFY.")
  226. outFile.WriteLine("; ************************************************************************")
  227. outFile.WriteLine("")
  228. outFile.WriteLine("[I_Mail]")
  229. outFile.WriteLine("AccountType=POP3")
  230. outFile.WriteLine(";--- POP3 Account Settings ---")
  231. outFile.WriteLine("AccountName=PT_UNICODE,0x0002")
  232. outFile.WriteLine("DisplayName=PT_UNICODE,0x000B")
  233. outFile.WriteLine("EmailAddress=PT_UNICODE,0x000C")
  234. outFile.WriteLine(";--- POP3 Account Settings ---")
  235. outFile.WriteLine("POP3Server=PT_UNICODE,0x0100")
  236. outFile.WriteLine("POP3UserName=PT_UNICODE,0x0101")
  237. outFile.WriteLine("POP3UseSPA=PT_LONG,0x0108")
  238. outFile.WriteLine("Organization=PT_UNICODE,0x0107")
  239. outFile.WriteLine("ReplyEmailAddress=PT_UNICODE,0x0103")
  240. outFile.WriteLine("POP3Port=PT_LONG,0x0104")
  241. outFile.WriteLine("POP3UseSSL=PT_LONG,0x0105")
  242. outFile.WriteLine("; --- SMTP Account Settings ---")
  243. outFile.WriteLine("SMTPServer=PT_UNICODE,0x0200")
  244. outFile.WriteLine("SMTPUseAuth=PT_LONG,0x0203")
  245. outFile.WriteLine("SMTPAuthMethod=PT_LONG,0x0208")
  246. outFile.WriteLine("SMTPUserName=PT_UNICODE,0x0204")
  247. outFile.WriteLine("SMTPUseSPA=PT_LONG,0x0207")
  248. outFile.WriteLine("ConnectionType=PT_LONG,0x000F")
  249. outFile.WriteLine("ConnectionOID=PT_UNICODE,0x0010")
  250. outFile.WriteLine("SMTPPort=PT_LONG,0x0201")
  251. outFile.WriteLine("SMTPUseSSL=PT_LONG,0x0202")
  252. outFile.WriteLine("ServerTimeOut=PT_LONG,0x0209")
  253. outFile.WriteLine("LeaveOnServer=PT_LONG,0x1000")
  254. outFile.WriteLine("")
  255. outFile.WriteLine("[IMAP_I_Mail]")
  256. outFile.WriteLine("AccountType=IMAP")
  257. outFile.WriteLine(";--- IMAP Account Settings ---")
  258. outFile.WriteLine("AccountName=PT_UNICODE,0x0002")
  259. outFile.WriteLine("DisplayName=PT_UNICODE,0x000B")
  260. outFile.WriteLine("EmailAddress=PT_UNICODE,0x000C")
  261. outFile.WriteLine(";--- IMAP Account Settings ---")
  262. outFile.WriteLine("IMAPServer=PT_UNICODE,0x0100")
  263. outFile.WriteLine("IMAPUserName=PT_UNICODE,0x0101")
  264. outFile.WriteLine("IMAPUseSPA=PT_LONG,0x0108")
  265. outFile.WriteLine("Organization=PT_UNICODE,0x0107")
  266. outFile.WriteLine("ReplyEmailAddress=PT_UNICODE,0x0103")
  267. outFile.WriteLine("IMAPPort=PT_LONG,0x0104")
  268. outFile.WriteLine("IMAPUseSSL=PT_LONG,0x0105")
  269. outFile.WriteLine("; --- SMTP Account Settings ---")
  270. outFile.WriteLine("SMTPServer=PT_UNICODE,0x0200")
  271. outFile.WriteLine("SMTPUseAuth=PT_LONG,0x0203")
  272. outFile.WriteLine("SMTPAuthMethod=PT_LONG,0x0208")
  273. outFile.WriteLine("SMTPUserName=PT_UNICODE,0x0204")
  274. outFile.WriteLine("SMTPUseSPA=PT_LONG,0x0207")
  275. outFile.WriteLine("ConnectionType=PT_LONG,0x000F")
  276. outFile.WriteLine("ConnectionOID=PT_UNICODE,0x0010")
  277. outFile.WriteLine("SMTPPort=PT_LONG,0x0201")
  278. outFile.WriteLine("SMTPUseSSL=PT_LONG,0x0202")
  279. outFile.WriteLine("ServerTimeOut=PT_LONG,0x0209")
  280. outFile.WriteLine("CheckNewImap=PT_LONG,0x1100")
  281. outFile.WriteLine("RootFolder=PT_UNICODE,0x1101")
  282. outFile.WriteLine("")
  283. outFile.WriteLine("[INET_HTTP]")
  284. outFile.WriteLine("AccountType=HOTMAIL")
  285. outFile.WriteLine("Account=PT_UNICODE,0x0002")
  286. outFile.WriteLine("HttpServer=PT_UNICODE,0x0100")
  287. outFile.WriteLine("UserName=PT_UNICODE,0x0101")
  288. outFile.WriteLine("Organization=PT_UNICODE,0x0107")
  289. outFile.WriteLine("UseSPA=PT_LONG,0x0108")
  290. outFile.WriteLine("TimeOut=PT_LONG,0x0209")
  291. outFile.WriteLine("Reply=PT_UNICODE,0x0103")
  292. outFile.WriteLine("EmailAddress=PT_UNICODE,0x000C")
  293. outFile.WriteLine("FullName=PT_UNICODE,0x000B")
  294. outFile.WriteLine("Connection Type=PT_LONG,0x000F")
  295. outFile.WriteLine("ConnectOID=PT_UNICODE,0x0010")
  296. outFile.Close
  297.  
  298. If objFSO.FileExists("c:WindowsTemp" & ProfileName & ".NK2") Then
  299. objFSO.CopyFile "c:WindowsTemp" & ProfileName & ".NK2", "" & UserProfile & "Application DataMicrosoftOutlook"
  300. End If
  301.  
  302. 'Start Outlook
  303. wShell.Run("""C:" & PrgFiles & "microsoft office" & OutVer & "outlook.exe"" /importprf c:windowstempprofile.prf")
  304.  
  305. objShell.LogEvent EVENTLOG_INFORMATION, "Outlook Profile Regeneration Script Executed" & VBCRLF & "Profile: " & ProfileName
  306.  
  307. Function ReadReg(RegPath)
  308. Dim objRegistry, Key
  309. Set objRegistry = CreateObject("Wscript.shell")
  310. Key = objRegistry.RegRead(RegPath)
  311. ReadReg = Key
  312. End Function
Add Comment
Please, Sign In to add comment