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.

103 lines
2.6 KiB

  1. #pragma once
  2. #include <map>
  3. #include "Less.h"
  4. enum ESwitch
  5. {
  6. // task switch
  7. SWITCH_TASK,
  8. // option switches
  9. SWITCH_OPTION_FILE,
  10. // migration switches
  11. SWITCH_TEST_MIGRATION,
  12. SWITCH_INTRA_FOREST,
  13. SWITCH_SOURCE_DOMAIN,
  14. SWITCH_SOURCE_OU,
  15. SWITCH_TARGET_DOMAIN,
  16. SWITCH_TARGET_OU,
  17. SWITCH_RENAME_OPTION,
  18. SWITCH_RENAME_PREFIX_OR_SUFFIX,
  19. SWITCH_PASSWORD_OPTION,
  20. SWITCH_PASSWORD_SERVER,
  21. SWITCH_PASSWORD_FILE,
  22. SWITCH_CONFLICT_OPTIONS,
  23. SWITCH_CONFLICT_PREFIX_OR_SUFFIX,
  24. SWITCH_USER_PROPERTIES_TO_EXCLUDE,
  25. SWITCH_INETORGPERSON_PROPERTIES_TO_EXCLUDE,
  26. SWITCH_GROUP_PROPERTIES_TO_EXCLUDE,
  27. SWITCH_COMPUTER_PROPERTIES_TO_EXCLUDE,
  28. // user migration switches
  29. SWITCH_DISABLE_OPTION,
  30. SWITCH_SOURCE_EXPIRATION,
  31. SWITCH_MIGRATE_SIDS,
  32. SWITCH_TRANSLATE_ROAMING_PROFILE,
  33. SWITCH_UPDATE_USER_RIGHTS,
  34. SWITCH_MIGRATE_GROUPS,
  35. SWITCH_UPDATE_PREVIOUSLY_MIGRATED_OBJECTS,
  36. SWITCH_FIX_GROUP_MEMBERSHIP,
  37. SWITCH_MIGRATE_SERVICE_ACCOUNTS,
  38. // group migration switches
  39. // SWITCH_MIGRATE_SIDS,
  40. SWITCH_UPDATE_GROUP_RIGHTS,
  41. // SWITCH_UPDATE_PREVIOUSLY_MIGRATED_OBJECTS,
  42. // SWITCH_FIX_GROUP_MEMBERSHIP,
  43. SWITCH_MIGRATE_MEMBERS,
  44. // SWITCH_DISABLE_OPTION,
  45. // SWITCH_SOURCE_EXPIRATION,
  46. // SWITCH_TRANSLATE_ROAMING_PROFILE,
  47. // computer migration switches
  48. SWITCH_TRANSLATION_OPTION,
  49. SWITCH_TRANSLATE_FILES_AND_FOLDERS,
  50. SWITCH_TRANSLATE_LOCAL_GROUPS,
  51. SWITCH_TRANSLATE_PRINTERS,
  52. SWITCH_TRANSLATE_REGISTRY,
  53. SWITCH_TRANSLATE_SHARES,
  54. SWITCH_TRANSLATE_USER_PROFILES,
  55. SWITCH_TRANSLATE_USER_RIGHTS,
  56. SWITCH_RESTART_DELAY,
  57. // security translation switches
  58. // SWITCH_TRANSLATION_OPTION,
  59. // SWITCH_TRANSLATE_FILES_AND_FOLDERS,
  60. // SWITCH_TRANSLATE_LOCAL_GROUPS,
  61. // SWITCH_TRANSLATE_PRINTERS,
  62. // SWITCH_TRANSLATE_REGISTRY,
  63. // SWITCH_TRANSLATE_SHARES,
  64. // SWITCH_TRANSLATE_USER_PROFILES,
  65. // SWITCH_TRANSLATE_USER_RIGHTS,
  66. SWITCH_SID_MAPPING_FILE,
  67. // service account enumeration switches
  68. // report generation
  69. SWITCH_REPORT_TYPE,
  70. SWITCH_REPORT_FOLDER,
  71. // include switches
  72. SWITCH_INCLUDE_NAME,
  73. SWITCH_INCLUDE_FILE,
  74. SWITCH_INCLUDE_DOMAIN,
  75. // exclude switches
  76. SWITCH_EXCLUDE_NAME,
  77. SWITCH_EXCLUDE_FILE,
  78. // key switches
  79. SWITCH_KEY_IDENTIFIER,
  80. SWITCH_KEY_FOLDER,
  81. SWITCH_KEY_PASSWORD,
  82. // help switch
  83. SWITCH_HELP,
  84. };
  85. //---------------------------------------------------------------------------
  86. // Switch Map
  87. //---------------------------------------------------------------------------
  88. class CSwitchMap :
  89. public std::map<_bstr_t, int, StringIgnoreCaseLess>
  90. {
  91. public:
  92. CSwitchMap();
  93. int GetSwitch(LPCTSTR pszSwitch);
  94. };