Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

627 lines
24 KiB

  1. Option Explicit
  2. '----------------------------------------------------------------------------
  3. ' ADMT Scripting Notes
  4. '----------------------------------------------------------------------------
  5. ' 1 - this template shows all the migration objects and all of the properties
  6. ' and methods of the various migration objects even though a normal
  7. ' script would not use all of the objects and properties
  8. ' 2 - optional properties are commented out with the default value shown
  9. ' being assigned
  10. ' 3 - service account enumeration would normally occur before user account
  11. ' migration so that services may be updated during user account migration
  12. '----------------------------------------------------------------------------
  13. ' ADMT Scripting Constants
  14. '----------------------------------------------------------------------------
  15. ' RenameOption constants
  16. Const admtDoNotRename = 0
  17. Const admtRenameWithPrefix = 1
  18. Const admtRenameWithSuffix = 2
  19. ' PasswordOption constants
  20. Const admtPasswordFromName = 0
  21. Const admtComplexPassword = 1
  22. Const admtCopyPassword = 2
  23. ' ConflictOptions constants
  24. Const admtIgnoreConflicting = &H0000
  25. Const admtReplaceConflicting = &H0001
  26. Const admtRenameConflictingWithPrefix = &H0002
  27. Const admtRenameConflictingWithSuffix = &H0003
  28. Const admtRemoveExistingUserRights = &H0010
  29. Const admtRemoveExistingMembers = &H0020
  30. Const admtMoveReplacedAccounts = &H0040
  31. ' DisableOption constants
  32. Const admtEnableTarget = 0
  33. Const admtDisableSource = 1
  34. Const admtDisableTarget = 2
  35. Const admtTargetSameAsSource = 4
  36. ' SourceExpiration constant
  37. Const admtNoExpiration = -1
  38. ' Translation Option
  39. Const admtTranslateReplace = 0
  40. Const admtTranslateAdd = 1
  41. Const admtTranslateRemove = 2
  42. ' Report Type
  43. Const admtReportMigratedAccounts = 0
  44. Const admtReportMigratedComputers = 1
  45. Const admtReportExpiredComputers = 2
  46. Const admtReportAccountReferences = 3
  47. Const admtReportNameConflicts = 4
  48. ' Option constants
  49. Const admtNone = 0
  50. Const admtData = 1
  51. Const admtFile = 2
  52. Const admtDomain = 3
  53. Const admtRecurse = &H0100
  54. Const admtFlattenHierarchy = &H0000
  55. Const admtMaintainHierarchy = &H0200
  56. '----------------------------------------------------------------------------
  57. ' Declarations
  58. '----------------------------------------------------------------------------
  59. Dim objMigration
  60. Dim objUserMigration
  61. Dim objGroupMigration
  62. Dim objComputerMigration
  63. Dim objSecurityTranslation
  64. Dim objServiceAccountEnumeration
  65. '----------------------------------------------------------------------------
  66. ' ADMT Migration Class
  67. '
  68. ' TestMigration Property
  69. ' - specifies whether a test migration will be performed
  70. ' - optional, the default value is false
  71. '
  72. ' IntraForest Property
  73. ' - specifies whether the migration is intra-forest or inter-forest
  74. ' - the default is inter-forest migration
  75. '
  76. ' SourceDomain Property
  77. ' - specifies the source domain name
  78. ' - the source domain may be specified in either DNS or Flat format
  79. ' - eg. DNS "mydomain.mycompany.com" or Flat "MYDOMAIN"
  80. ' - the source domain must be specified
  81. '
  82. ' SourceOU Property
  83. ' - specifies the source organizational unit (OU)
  84. ' - this property is only applicable for up-level domains (Windows 2000 or later)
  85. ' - the OU must be specified in relative canonical format
  86. ' - eg. "West/Sales"
  87. '
  88. ' TargetDomain Property
  89. ' - specifies the target domain name
  90. ' - the target domain may be specified in either DNS or Flat format
  91. ' - eg. DNS "mydomain.mycompany.com" or Flat "MYDOMAIN"
  92. ' - the target domain must be specified
  93. '
  94. ' TargetOU Property
  95. ' - specifies the target organizational unit (OU)
  96. ' - the OU must be specified in relative canonical format
  97. ' - eg. "West/Sales"
  98. '
  99. ' RenameOption Property
  100. ' - specifies how migrated accounts are to be renamed
  101. ' - optional, default is admtDoNotRename
  102. '
  103. ' RenamePrefixOrSuffix Property
  104. ' - specifies the prefix or suffix to be added to account names
  105. ' - applicable only if RenameOption is admtRenameWithPrefix or
  106. ' admtRenameWithSuffix
  107. '
  108. ' PasswordOption Property
  109. ' - specifies how to generate passwords for migrated accounts
  110. ' - applicable only for inter-forest user migrations and inter-forest group
  111. ' migrations when migrating member users
  112. ' - optional, default is admtComplexPassword
  113. '
  114. ' PasswordServer Property
  115. ' - specifies the server that is to be used for copying passwords
  116. ' - applicable only for inter-forest user migrations and inter-forest group
  117. ' migrations when migrating member users
  118. ' - only applicable if password option specifies copying
  119. '
  120. ' PasswordFile Property
  121. ' - specifies the path of the password file to be created
  122. ' - applicable only for inter-forest user migrations and inter-forest group
  123. ' migrations when migrating member users
  124. ' - optional, default path is the 'Logs' folder in the ADMT installation
  125. ' directory
  126. '
  127. ' ConflictOptions Property
  128. ' - specifies how to handle accounts being migrated that have a naming
  129. ' conflict with a target domain account
  130. ' - the following are the allowable values
  131. ' admtIgnoreConflicting
  132. ' admtReplaceConflicting
  133. ' admtReplaceConflicting + admtRemoveExistingUserRights
  134. ' admtReplaceConflicting + admtRemoveExistingMembers
  135. ' admtReplaceConflicting + admtRemoveExistingUserRights + admtRemoveExistingMembers
  136. ' admtRenameConflictingWithPrefix
  137. ' admtRenameConflictingWithSuffix
  138. ' - optional, default is admtIgnoreConflicting
  139. '
  140. ' ConflictPrefixOrSuffix Property
  141. ' - specifies the prefix or suffix to be added to migrated account names
  142. ' that have a naming conflict with a target domain account
  143. ' - applicable only if ConflictOptions is admtRenameConflictingWithPrefix or
  144. ' admtRenameConflictingWithSuffix
  145. '
  146. ' UserPropertiesToExclude
  147. ' - specifies user properties that are not to be copied from source to target.
  148. ' - note that the asterisk character '*' may be used to exclude all properties
  149. '
  150. ' InetOrgPersonPropertiesToExclude
  151. ' - specifies inetOrgPerson properties that are not to be copied from source to target.
  152. ' - note that the asterisk character '*' may be used to exclude all properties
  153. '
  154. ' GroupPropertiesToExclude
  155. ' - specifies group properties that are not to be copied from source to target.
  156. ' - note that the asterisk character '*' may be used to exclude all properties
  157. '
  158. ' ComputerPropertiesToExclude
  159. ' - specifies computer properties that are not to be copied from source to target.
  160. ' - note that the asterisk character '*' may be used to exclude all properties
  161. '
  162. ' SystemPropertiesToExclude
  163. ' - specifies system properties that are not to be copied from source to target for any objects
  164. ' - the default system properties that are excluded are 'mail' and 'proxyAddresses'
  165. ' - note that the system properties to be excluded are saved in the database and therefore this
  166. ' property only needs to be set once
  167. '
  168. ' CreateUserMigration Method
  169. ' - creates an instance of a user migration object
  170. '
  171. ' CreateGroupMigration Method
  172. ' - creates an instance of a group migration object
  173. '
  174. ' CreateComputerMigration Method
  175. ' - creates an instance of a computer migration object
  176. '
  177. ' CreateSecurityTranslation Method
  178. ' - creates an instance of a security translation object
  179. '
  180. ' CreateServiceAccountEnumeration Method
  181. ' - creates an instance of a service account enumeration object
  182. '
  183. ' CreateReportGeneration Method
  184. ' - creates an instance of a report generation object
  185. '----------------------------------------------------------------------------
  186. ' create instance of migration object
  187. Set objMigration = CreateObject("ADMT.Migration")
  188. ' set options
  189. 'objMigration.TestMigration = False
  190. 'objMigration.IntraForest = False
  191. objMigration.SourceDomain = "MYSOURCEDOMAIN"
  192. 'objMigration.SourceOU = ""
  193. objMigration.TargetDomain = "mytargetdomain.mycompany.com"
  194. objMigration.TargetOU = "Users"
  195. 'objMigration.RenameOption = admtDoNotRename
  196. 'objMigration.RenamePrefixOrSuffix = ""
  197. 'objMigration.PasswordOption = admtComplexPassword
  198. 'objMigration.PasswordServer = ""
  199. 'objMigration.PasswordFile = "C:\Program Files\Active Directory Migration Tool\Logs\Password.txt"
  200. 'objMigration.ConflictOptions = admtIgnoreConflicting
  201. 'objMigration.ConflictPrefixOrSuffix = ""
  202. 'objMigration.UserPropertiesToExclude = ""
  203. 'objMigration.InetOrgPersonPropertiesToExclude = ""
  204. 'objMigration.GroupPropertiesToExclude = ""
  205. 'objMigration.ComputerPropertiesToExclude = ""
  206. 'objMigration.SystemPropertiesToExclude = "mail,proxyAddresses"
  207. '----------------------------------------------------------------------------
  208. ' UserMigration Class
  209. '
  210. ' DisableOption Property
  211. ' - specifies whether to disable source or target account
  212. ' - applicable only for inter-forest migration
  213. ' - optional, default is admtEnableTarget
  214. '
  215. ' SourceExpiration Property
  216. ' - specifies the expiration period of the source account in days
  217. ' - a value of admtNoExpiration specifies no source account expiration
  218. ' - applicable only for inter-forest migration
  219. ' - optional, default is admtNoExpiration
  220. '
  221. ' MigrateSIDs Property
  222. ' - specifies whether to migrate security identifiers to the target domain
  223. ' - applicable only for inter-forest migration
  224. ' - optional, default is false
  225. '
  226. ' TranslateRoamingProfile Property
  227. ' - specifies whether to perform security translation on roaming profiles
  228. ' - optional, default is false
  229. '
  230. ' UpdateUserRights Property
  231. ' - specifies whether to update user rights in the domain
  232. ' - optional, default is false
  233. '
  234. ' MigrateGroups Property
  235. ' - specifies whether to migrate groups that have as members accounts being
  236. ' migrated
  237. ' - optional, default is false
  238. '
  239. ' UpdatePreviouslyMigratedObjects Property
  240. ' - specifies whether previously migrated accounts should be re-migrated
  241. ' - applicable only for inter-forest migration
  242. ' - optional, default is false
  243. '
  244. ' FixGroupMembership Property
  245. ' - specifies whether group memberships will be re-established for migrated
  246. ' accounts
  247. ' - optional, default is true
  248. '
  249. ' MigrateServiceAccounts Property
  250. ' - specifies whether to migrate service accounts
  251. ' - optional, default is false
  252. '
  253. ' Migrate Method
  254. ' - migrate specified user accounts
  255. ' - the first parameter specifies whether the names are directly specified or
  256. ' the names are contained in the specified file or the names are to be
  257. ' enumerated from the specified domain or ou
  258. ' - the second parameter specifies the account names to be included
  259. ' - the third parameter optionally specifies names which are to be excluded
  260. '
  261. ' - Note: Only the specified source OU will be used whether names are
  262. ' directly specified or specified in a file or the domain is
  263. ' searched. If no source OU is specified than the root of the domain
  264. ' is used.
  265. '----------------------------------------------------------------------------
  266. ' create instance of user migration object
  267. Set objUserMigration = objMigration.CreateUserMigration
  268. ' set options
  269. 'objUserMigration.DisableOption = admtEnableTarget
  270. 'objUserMigration.SourceExpiration = admtNoExpiration
  271. 'objUserMigration.MigrateSIDs = False
  272. 'objUserMigration.TranslateRoamingProfile = False
  273. 'objUserMigration.UpdateUserRights = False
  274. 'objUserMigration.MigrateGroups = False
  275. 'objUserMigration.UpdatePreviouslyMigratedObjects = False
  276. 'objUserMigration.FixGroupMembership = True
  277. 'objUserMigration.MigrateServiceAccounts = False
  278. ' migrate user accounts
  279. ' the following are some examples of specifying the names and exclude names
  280. objUserMigration.Migrate admtData, "CN=User1"
  281. objUserMigration.Migrate admtData, Array("/Users/User3","\User4")
  282. objUserMigration.Migrate admtFile, "C:\Users.txt", Array("begins_with*","*contains*","*ends_with")
  283. objUserMigration.Migrate admtDomain, , "C:\ExcludeNames.txt"
  284. '----------------------------------------------------------------------------
  285. ' GroupMigration Class
  286. '
  287. ' UpdateGroupRights Property
  288. ' - specifies whether to update group domain rights
  289. ' - optional, default is false
  290. '
  291. ' UpdatePreviouslyMigratedObjects Property
  292. ' - specifies whether previously migrated accounts should be re-migrated
  293. ' - applicable only for inter-forest migration
  294. ' - optional, default is false
  295. '
  296. ' FixGroupMembership Property
  297. ' - specifies whether group memberships will be re-established for migrated
  298. ' accounts
  299. ' - optional, default is true
  300. '
  301. ' MigrateSIDs Property
  302. ' - specifies whether to migrate security identifiers to the target domain
  303. ' - applicable only for inter-forest migration
  304. ' - optional, default is false
  305. '
  306. ' MigrateMembers Property
  307. ' - specifies whether to migrate members of groups during migration
  308. ' - optional, default is false
  309. '
  310. ' DisableOption Property
  311. ' - specifies whether to disable source user accounts or target user accounts
  312. ' when copying members
  313. ' - applicable only if copying members in an inter-forest migration
  314. ' - optional, default is admtEnableTarget
  315. '
  316. ' SourceExpiration Property
  317. ' - specifies the expiration period of source user accounts in days when
  318. ' copying members
  319. ' - a value of admtNoExpiration specifies no source user account expiration
  320. ' - applicable only if copying members in an inter-forest migration
  321. ' - optional, default is admtNoExpiration
  322. '
  323. ' TranslateRoamingProfile Property
  324. ' - specifies whether to perform security translation on roaming profiles
  325. ' - applicable only if copying members in an inter-forest migration
  326. ' - optional, default is false
  327. '
  328. ' Migrate Method
  329. ' - migrate specified group accounts
  330. ' - the first parameter specifies whether the names are directly specified or
  331. ' the names are contained in the specified file or the names are to be
  332. ' enumerated from the specified domain or ou
  333. ' - the second parameter specifies the account names to be included
  334. ' - the third parameter optionally specifies names which are to be excluded
  335. '
  336. ' - Note: Only the specified source OU will be used whether names are
  337. ' directly specified or specified in a file or the domain is
  338. ' searched. If no source OU is specified than the root of the domain
  339. ' is used.
  340. '----------------------------------------------------------------------------
  341. ' create instance of group migration object
  342. Set objGroupMigration = objMigration.CreateGroupMigration
  343. ' set options
  344. 'objGroupMigration.MigrateSIDs = False
  345. 'objGroupMigration.UpdateGroupRights = False
  346. 'objGroupMigration.UpdatePreviouslyMigratedObjects = False
  347. 'objGroupMigration.FixGroupMembership = True
  348. 'objGroupMigration.MigrateMembers = False
  349. 'objGroupMigration.DisableOption = admtDisableNeither
  350. 'objGroupMigration.SourceExpiration = admtNoExpiration
  351. 'objGroupMigration.TranslateRoamingProfile = False
  352. ' migrate group accounts
  353. ' the following are some examples of specifying the names and exclude names
  354. objGroupMigration.Migrate admtData, "CN=Group1"
  355. objGroupMigration.Migrate admtData, Array("/Users/Group3","\Group4")
  356. objGroupMigration.Migrate admtFile, "C:\Groups.txt", Array("begins_with*","*contains*","*ends_with")
  357. objGroupMigration.Migrate admtDomain, , "C:\ExcludeNames.txt"
  358. '----------------------------------------------------------------------------
  359. ' ComputerMigration Class
  360. '
  361. ' - the following translate options specify whether to perform security
  362. ' translation on that type of objects during the computer migration
  363. '
  364. ' TranslateFilesAndFolders Property
  365. ' - specifies whether to perform security translation on files and folders
  366. ' - optional, default is false
  367. '
  368. ' TranslateLocalGroups Property
  369. ' - specifies whether to perform security translation on local groups
  370. ' - optional, default is false
  371. '
  372. ' TranslatePrinters Property
  373. ' - specifies whether to perform security translation on printers
  374. ' - optional, default is false
  375. '
  376. ' TranslateRegistry Property
  377. ' - specifies whether to perform security translation on registry
  378. ' - optional, default is false
  379. '
  380. ' TranslateShares Property
  381. ' - specifies whether to perform security translation on shares
  382. ' - optional, default is false
  383. '
  384. ' TranslateUserProfiles Property
  385. ' - specifies whether to perform security translation on user profiles
  386. ' - optional, default is false
  387. '
  388. ' TranslateUserRights Property
  389. ' - specifies whether to perform security translation on user rights
  390. ' - optional, default is false
  391. '
  392. ' RestartTime Property
  393. ' - specifies the time in minutes to wait before re-booting the computers
  394. ' after migrating
  395. ' - the valid range is 1 to 10 minutes
  396. ' - optional, default is 5 minutes
  397. '
  398. ' Migrate Method
  399. ' - migrate specified computer accounts
  400. ' - the first parameter specifies whether the names are directly specified or
  401. ' the names are contained in the specified file or the names are to be
  402. ' enumerated from the specified domain or ou
  403. ' - the second parameter specifies the account names to be included
  404. ' - the third parameter optionally specifies names which are to be excluded
  405. '
  406. ' - Note: Only the specified source OU will be used whether names are
  407. ' directly specified or specified in a file or the domain is
  408. ' searched. If no source OU is specified than the root of the domain
  409. ' is used.
  410. '----------------------------------------------------------------------------
  411. ' create instance of computer migration object
  412. Set objComputerMigration = objMigration.CreateComputerMigration
  413. ' set options
  414. 'objComputerMigration.TranslationOption = admtTranslateAdd
  415. 'objComputerMigration.TranslateFilesAndFolders = False
  416. 'objComputerMigration.TranslateLocalGroups = False
  417. 'objComputerMigration.TranslatePrinters = False
  418. 'objComputerMigration.TranslateRegistry = False
  419. 'objComputerMigration.TranslateShares = False
  420. 'objComputerMigration.TranslateUserProfiles = False
  421. 'objComputerMigration.TranslateUserRights = False
  422. 'objComputerMigration.RestartDelay = 1
  423. ' migrate computer accounts
  424. ' the following are some examples of specifying the names and exclude names
  425. objComputerMigration.Migrate admtData, "CN=Computer1"
  426. objComputerMigration.Migrate admtData, Array("/Computers/Computer3","\Computer4")
  427. objComputerMigration.Migrate admtFile, "C:\Computers.txt", Array("begins_with*","*contains*","*ends_with")
  428. objComputerMigration.Migrate admtDomain, , "C:\ExcludeNames.txt"
  429. '----------------------------------------------------------------------------
  430. ' SecurityTranslation Class
  431. '
  432. ' TranslationOption
  433. ' - specifies whether to add, replace or remove entries from access control lists
  434. '
  435. ' TranslateFilesAndFolders Property
  436. ' - specifies whether to perform security translation on files and folders
  437. ' - optional, default is false
  438. '
  439. ' TranslateLocalGroups Property
  440. ' - specifies whether to perform security translation on local groups
  441. ' - optional, default is false
  442. '
  443. ' TranslatePrinters Property
  444. ' - specifies whether to perform security translation on printers
  445. ' - optional, default is false
  446. '
  447. ' TranslateRegistry Property
  448. ' - specifies whether to perform security translation on registry
  449. ' - optional, default is false
  450. '
  451. ' TranslateShares Property
  452. ' - specifies whether to perform security translation on shares
  453. ' - optional, default is false
  454. '
  455. ' TranslateUserProfiles Property
  456. ' - specifies whether to perform security translation on user profiles
  457. ' - optional, default is false
  458. '
  459. ' TranslateUserRights Property
  460. ' - specifies whether to perform security translation on user rights
  461. ' - optional, default is false
  462. '
  463. ' SidMappingFile Property
  464. ' - specifies whether to use a mapping of SIDs from specified file
  465. ' - if a SID mapping file is not specified, then security translation
  466. ' maps SIDs from previously migration objects
  467. ' - optional, default is none
  468. '
  469. ' Translate Method
  470. ' - perform security translation on specified computers
  471. ' - the first parameter specifies whether the names are directly specified or
  472. ' the names are contained in the specified file or the names are to be
  473. ' enumerated from the specified domain or ou
  474. ' - the second parameter specifies the account names to be included
  475. ' - the third parameter optionally specifies names which are to be excluded
  476. ' - if specifying NT4 style names for Windows 2000, or greater, domains the name must be
  477. ' preceded with a backslash
  478. ' eg. \NT4Name
  479. '
  480. ' - Note: The source domain and OU will be used if not explicitly specified
  481. '----------------------------------------------------------------------------
  482. ' create instance of security translation object
  483. Set objSecurityTranslation = objMigration.CreateSecurityTranslation
  484. ' set options
  485. 'objSecurityTranslation.TranslationOption = admtTranslateAdd
  486. 'objSecurityTranslation.TranslateFilesAndFolders = False
  487. 'objSecurityTranslation.TranslateLocalGroups = False
  488. 'objSecurityTranslation.TranslatePrinters = False
  489. 'objSecurityTranslation.TranslateRegistry = False
  490. 'objSecurityTranslation.TranslateShares = False
  491. 'objSecurityTranslation.TranslateUserProfiles = False
  492. 'objSecurityTranslation.TranslateUserRights = False
  493. 'objSecurityTranslation.SidMappingFile = "C:\SidMappingFile.txt"
  494. ' translate security on specified computers
  495. ' the following are some examples of specifying the names and exclude names
  496. objSecurityTranslation.Translate admtData, "CN=Computer2"
  497. objSecurityTranslation.Translate admtData, Array("/Computers/Computer3","\Computer4")
  498. objSecurityTranslation.Translate admtFile, "C:\Computers.txt", Array("begins_with*","*contains*","*ends_with")
  499. objSecurityTranslation.Translate admtDomain, , "C:\ExcludeNames.txt"
  500. '----------------------------------------------------------------------------
  501. ' ServiceAccountEnumeration Class
  502. '
  503. ' Enumerate Method
  504. ' - enumerate service accounts on specified computers
  505. ' - the first parameter specifies whether the names are directly specified or
  506. ' the names are contained in the specified file or the names are to be
  507. ' enumerated from the specified domain or ou
  508. ' - the second parameter specifies the account names to be included
  509. ' - the third parameter optionally specifies names which are to be excluded
  510. ' - if specifying NT4 style names for Windows 2000, or greater, domains the name must be
  511. ' preceded with a backslash
  512. ' eg. \NT4Name
  513. '
  514. ' - Note: The source domain and OU will be used if not explicitly specified
  515. '----------------------------------------------------------------------------
  516. ' create instance of service account enumeration object
  517. Set objServiceAccountEnumeration = objMigration.CreateServiceAccountEnumeration
  518. ' enumerate service accounts on specified computers
  519. ' the following are some examples of specifying the names and exclude names
  520. objServiceAccountEnumeration.Enumerate admtData, "CN=Computer1"
  521. objServiceAccountEnumeration.Enumerate admtData, Array("/Computers/Computer3","\Computer4")
  522. objServiceAccountEnumeration.Enumerate admtFile, "C:\Computers.txt", Array("begins_with*","*contains*","*ends_with")
  523. objServiceAccountEnumeration.Enumerate admtDomain, , "C:\ExcludeNames.txt"
  524. '----------------------------------------------------------------------------
  525. ' ReportGeneration Class
  526. '
  527. ' Type Property
  528. ' - specifies the type of report to generate
  529. '
  530. ' Folder Property
  531. ' - specifies the folder where reports will be generated
  532. ' - optional, defaults to Reports folder in the ADMT installation folder
  533. '
  534. ' Generate Method
  535. ' - generate specified report
  536. ' - the option should be admtNone for the admtReportMigratedAccounts,
  537. ' admtReportMigratedComputers, admtReportExpiredComputers, and
  538. ' admtReportNameConflicts reports
  539. ' - the option must be admtData, admtFile or admtDomain for the
  540. ' admtReportAccountReferences report
  541. ' - the include parameter must specify the computers upon which to collect
  542. ' account reference information if the admtReportAccountReferences report
  543. ' is specified
  544. '----------------------------------------------------------------------------
  545. ' create instance of report generation object
  546. Set objReportGeneration = objMigration.CreateReportGeneration
  547. ' generate report
  548. objReportGeneration.Type = admtReportMigratedAccounts
  549. 'objReportGeneration.Folder = "C:\Program Files\Active Directory Migration Tool\Reports"
  550. objReportGeneration.Generate admtNone
  551. 'objReportGeneration.Generate admtDomain + admtRecurse