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.

118 lines
4.6 KiB

  1. ## Command line defined variables.
  2. ## Command line defined parameters.
  3. use frsobjsup;
  4. package main;
  5. my ($__HashRef, $__k, $__v);
  6. my (%CMD_VARS, %CMD_PARS);
  7. &FRSSUP::ProcessCmdLine(\%CMD_VARS, \%CMD_PARS);
  8. my $Usage = "
  9. Specific Usage: perl $0 [cmd options] \> output
  10. Process the erac.mrs configuration script.
  11. Command line options must be prefixed with a dash.
  12. The required input options to this script are:
  13. -DBchID=nnnnn : to provide a value for the Bch ID parameter.
  14. -DHubID=nnnnn : to provide a value for the Hub ID parameter.
  15. ";
  16. FRSSUP::CheckForHelp(\%CMD_PARS, \$Usage);
  17. FRSSUP::ShowHelp("ERROR - Required parameter BchID not found.", \$Usage) if (!exists $CMD_VARS{"BchID"});
  18. push @bchID, $CMD_VARS{"BchID"};
  19. FRSSUP::ShowHelp("ERROR - Required parameter HubID not found.", \$Usage) if (!exists $CMD_VARS{"HubID"});
  20. push @hubID, $CMD_VARS{"HubID"};
  21. push @bchTimeZone, 0;
  22. $domain = "FRSDIFF";
  23. sub CREATE_WORK_RS {
  24. my %__args = (@_);
  25. my ($__HashRef, $__k, $__v);
  26. # Restriction: All subroutine argument refs are surrounded by "%"
  27. # notation "->{...}"
  28. $__HashRef = FRS_REPLICASET->New(
  29. UNDER=>$__args{SETTINGSDN}, TYPE=>DFS, ONAME=>$__args{B}->{rep_set_name}
  30. );
  31. &FRSSUP::AddToSet("SET", $__HashRef);
  32. # root path could be changed by adding "/RP="newroot""
  33. # surrounded by angle brackets. So "&FRSSUP::SelectSet(SET)"
  34. $__HashRef = FRS_MEMBER->New(
  35. UNDER=>&FRSSUP::SelectSet(SET)->[0], SERVER=>$__args{HA}, COMPUTER=>$__args{HA}->{COMPUTER}
  36. );
  37. &FRSSUP::AddToSet("MHA", $__HashRef);
  38. $__HashRef = FRS_MEMBER->New(
  39. UNDER=>&FRSSUP::SelectSet(SET)->[0], SERVER=>$__args{B}, COMPUTER=>$__args{B}->{COMPUTER}
  40. );
  41. &FRSSUP::AddToSet("MB", $__HashRef);
  42. $__HashRef = FRS_REPLICASET->New(
  43. UNDER=>$__args{SETTINGSDN}, TYPE=>DFS, ONAME=>$__args{B}->{rep_set_name}, PRIMARY_MEMBER=>&FRSSUP::SelectSet(MHA)->[0]
  44. );
  45. &FRSSUP::AddToSet("SET", $__HashRef);
  46. FRS_CONNECTION->New(
  47. TO=>&FRSSUP::SelectSet(MB)->[0], FROM=>&FRSSUP::SelectSet(MHA)->[0], SCHED=>$__args{SC1}, ONAME=>"FROM-".$__args{HA}->{ONAME}."-TO-".$__args{B}->{ONAME}
  48. );
  49. FRS_CONNECTION->New(
  50. TO=>&FRSSUP::SelectSet(MHA)->[0], FROM=>&FRSSUP::SelectSet(MB)->[0], SCHED=>$__args{SC1}, ONAME=>"FROM-".$__args{B}->{ONAME}."-TO-".$__args{HA}->{ONAME}
  51. );
  52. &FRSSUP::DeleteSet("SET");
  53. &FRSSUP::DeleteSet("MHA");
  54. &FRSSUP::DeleteSet("MB");
  55. &FRSSUP::DeleteSet("SET");
  56. } # FRS_END_SUB
  57. for ($ib=0; $ib<scalar(@bchID); $ib++) {
  58. # The branch name ($bchName) is a concatenation (use of "."
  59. # The hub root path uses the branch name (no "."
  60. $bchName = $bchID[$ib];
  61. $bchNt4Acct = "$domain\\$bchName\$";
  62. $hubName = $hubID[$ib];
  63. $hubRootPath = "C:\\BRANCHES\\$bchName";
  64. $hubNt4Acct = "$domain\\$hubName\$";
  65. $__HashRef = FRS_SERVER->New(
  66. RP=>$hubRootPath, SP=>"C:\\FRS-STAGING", COMPUTER=>$hubNt4Acct, ONAME=>$hubName, DNS_NAME=>"$hubName.frs0419.nttest.microsoft.com"
  67. );
  68. &FRSSUP::AddToSet("HUB", $__HashRef);
  69. # TEST #
  70. $__HashRef = FRS_SERVER->New(
  71. RP=>"D:\\USERS", SP=>"C:\\FRS-STAGING", COMPUTER=>$bchNt4Acct, ONAME=>$bchName, time_zone=>$bchTimeZone[$ib], DNS_NAME=>"$bchName.frs0419.nttest.microsoft.com", rep_set_name=>"WD-$bchName"
  72. );
  73. &FRSSUP::AddToSet("BCH", $__HashRef);
  74. # TEST #
  75. }
  76. $__HashRef = FRS_SCHEDULE->New(
  77. REPL_INTERVAL=>24, REPL_DURATION=>"2:00", TIME_ZONE=>"-6:00", REPL_OFFSET=>"18:00", STAGGER=>"0:15", METHOD=>1, NAME=>'Primary Sched', DISABLE=>"su:05:00-su:18:00,mo:05:00-mo:18:00,tu:05:00-tu:18:00,we:05:00-we:18:00,th:05:00-th:18:00,fr:05:00-fr:18:00,sa:05:00-sa:18:00"
  78. );
  79. &FRSSUP::AddToSet("PRIMARY_SCH", $__HashRef);
  80. $__HashRef = FRS_SCHEDULE->New(
  81. OVERRIDE=>"su:00-sa:23:45", METHOD=>2
  82. );
  83. &FRSSUP::AddToSet("ON_SCHED", $__HashRef);
  84. $__HashRef = FRS_SETTINGS->New(
  85. DN=>"cn=system,dc=frs0419,dc=nttest,dc=microsoft,dc=com", ONAME=>"cn=file replication service"
  86. );
  87. &FRSSUP::AddToSet("SETTINGS", $__HashRef);
  88. # # test
  89. # # test
  90. for ($ib=0; $ib<scalar(@bchID); $ib++) {
  91. # a single item from the "HUB"
  92. &CREATE_WORK_RS (
  93. HA=>&FRSSUP::SelectSet(HUB)->[$ib], B=>&FRSSUP::SelectSet(BCH)->[$ib], SC1=>&FRSSUP::SelectSet(ON_SCHED)->[0], SETTINGSDN=>&FRSSUP::SelectSet(SETTINGS)->[0] );
  94. FRS_SCHEDULE::FRS_STAGGER(
  95. SCHED=>&FRSSUP::SelectSet(PRIMARY_SCH)->[0] );
  96. }
  97. __END__