Advertisement
Guest User

Untitled

a guest
Sep 25th, 2017
207
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.75 KB | None | 0 0
  1. Param(
  2. [string]$domainName, #example: mydomain.com
  3. [string]$verificationValue #example: ms23254363
  4. )
  5.  
  6. $domain_withoutDot = $domainName -Replace '\.', '-'
  7.  
  8. #make sure you're authenticated to AWS and that you've pre-created the new hosted zone
  9.  
  10. #get the hosted zone
  11. $R53Tenant = Get-R53HostedZonesByName | Where-Object { $_.Name -eq "$($domainName)." }
  12.  
  13. ######################
  14. # DOMAIN VERIFICATION
  15. ######################
  16.  
  17. #verification record for domain
  18. $change1 = New-Object Amazon.Route53.Model.Change
  19. $change1.Action = "CREATE"
  20. $change1.ResourceRecordSet = New-Object Amazon.Route53.Model.ResourceRecordSet
  21. $change1.ResourceRecordSet.Name = "$($domainName)."
  22. $change1.ResourceRecordSet.Type = "TXT"
  23. $change1.ResourceRecordSet.TTL = 3600
  24. $change1.ResourceRecordSet.ResourceRecords.Add(@{Value="`"MS=$($verificationValue)`""})
  25.  
  26. $params = @{
  27. HostedZoneId=$R53Tenant.ID
  28. ChangeBatch_Comment="Adds TXT record to validate domain for Office365"
  29. ChangeBatch_Change=$change1
  30. }
  31.  
  32. #Edit-R53ResourceRecordSet @params
  33.  
  34. ###########
  35. # EXCHANGE
  36. ###########
  37.  
  38. #mx record
  39. $change1 = New-Object Amazon.Route53.Model.Change
  40. $change1.Action = "CREATE"
  41. $change1.ResourceRecordSet = New-Object Amazon.Route53.Model.ResourceRecordSet
  42. $change1.ResourceRecordSet.Name = "$($domainName)."
  43. $change1.ResourceRecordSet.Type = "MX"
  44. $change1.ResourceRecordSet.TTL = 3600
  45. $change1.ResourceRecordSet.ResourceRecords.Add(@{Value="0 $($domain_withoutDot).mail.protection.outlook.com"})
  46.  
  47. #spf record
  48. $change2 = New-Object Amazon.Route53.Model.Change
  49. $change2.Action = "UPSERT"
  50. $change2.ResourceRecordSet = New-Object Amazon.Route53.Model.ResourceRecordSet
  51. $change2.ResourceRecordSet.Name = "$($domainName)."
  52. $change2.ResourceRecordSet.Type = "TXT"
  53. $change2.ResourceRecordSet.TTL = 3600
  54. $change2.ResourceRecordSet.ResourceRecords.Add(@{Value="`"MS=$($verificationValue)`""})
  55. $change2.ResourceRecordSet.ResourceRecords.Add(@{Value="`"v=spf1 include:spf.protection.outlook.com -all`""})
  56.  
  57. #autodiscover
  58. $change3 = New-Object Amazon.Route53.Model.Change
  59. $change3.Action = "CREATE"
  60. $change3.ResourceRecordSet = New-Object Amazon.Route53.Model.ResourceRecordSet
  61. $change3.ResourceRecordSet.Name = "autodiscover.$($domainName)."
  62. $change3.ResourceRecordSet.Type = "CNAME"
  63. $change3.ResourceRecordSet.TTL = 3600
  64. $change3.ResourceRecordSet.ResourceRecords.Add(@{Value="autodiscover.outlook.com"})
  65.  
  66. $params = @{
  67. HostedZoneId=$R53Tenant.ID
  68. ChangeBatch_Comment="MX record for Office365"
  69. ChangeBatch_Change=$change1,$change2,$change3
  70. }
  71.  
  72. #Edit-R53ResourceRecordSet @params
  73.  
  74. #####################
  75. # SKYPE FOR BUSINESS
  76. #####################
  77.  
  78. $change1 = New-Object Amazon.Route53.Model.Change
  79. $change1.Action = "CREATE"
  80. $change1.ResourceRecordSet = New-Object Amazon.Route53.Model.ResourceRecordSet
  81. $change1.ResourceRecordSet.Name = "sip.$($domainName)."
  82. $change1.ResourceRecordSet.Type = "CNAME"
  83. $change1.ResourceRecordSet.TTL = 3600
  84. $change1.ResourceRecordSet.ResourceRecords.Add(@{Value="sipdir.online.lync.com"})
  85.  
  86. $change2 = New-Object Amazon.Route53.Model.Change
  87. $change2.Action = "CREATE"
  88. $change2.ResourceRecordSet = New-Object Amazon.Route53.Model.ResourceRecordSet
  89. $change2.ResourceRecordSet.Name = "lyncdiscover.$($domainName)."
  90. $change2.ResourceRecordSet.Type = "CNAME"
  91. $change2.ResourceRecordSet.TTL = 3600
  92. $change2.ResourceRecordSet.ResourceRecords.Add(@{Value="webdir.online.lync.com"})
  93.  
  94. $change3 = New-Object Amazon.Route53.Model.Change
  95. $change3.Action = "CREATE"
  96. $change3.ResourceRecordSet = New-Object Amazon.Route53.Model.ResourceRecordSet
  97. $change3.ResourceRecordSet.Name = "_sip._tls.$($domainName)."
  98. $change3.ResourceRecordSet.Type = "SRV"
  99. $change3.ResourceRecordSet.TTL = 3600
  100. $change3.ResourceRecordSet.ResourceRecords.Add(@{Value="100 1 443 sipdir.online.lync.com."})
  101.  
  102. $change4 = New-Object Amazon.Route53.Model.Change
  103. $change4.Action = "CREATE"
  104. $change4.ResourceRecordSet = New-Object Amazon.Route53.Model.ResourceRecordSet
  105. $change4.ResourceRecordSet.Name = "_sipfederationtls._tcp.$($domainName)."
  106. $change4.ResourceRecordSet.Type = "SRV"
  107. $change4.ResourceRecordSet.TTL = 3600
  108. $change4.ResourceRecordSet.ResourceRecords.Add(@{Value="100 1 5061 sipfed.online.lync.com."})
  109.  
  110. $params = @{
  111. HostedZoneId=$R53Tenant.ID
  112. ChangeBatch_Comment="Skype4B records for Office365"
  113. ChangeBatch_Change=$change1,$change2,$change3,$change4
  114. }
  115.  
  116. Edit-R53ResourceRecordSet @params
  117.  
  118. #####################
  119. # MDM
  120. #####################
  121.  
  122. $change1 = New-Object Amazon.Route53.Model.Change
  123. $change1.Action = "CREATE"
  124. $change1.ResourceRecordSet = New-Object Amazon.Route53.Model.ResourceRecordSet
  125. $change1.ResourceRecordSet.Name = "enterpriseregistration.$($domainName)."
  126. $change1.ResourceRecordSet.Type = "CNAME"
  127. $change1.ResourceRecordSet.TTL = 3600
  128. $change1.ResourceRecordSet.ResourceRecords.Add(@{Value="enterpriseregistration.windows.net"})
  129.  
  130. $change2 = New-Object Amazon.Route53.Model.Change
  131. $change2.Action = "CREATE"
  132. $change2.ResourceRecordSet = New-Object Amazon.Route53.Model.ResourceRecordSet
  133. $change2.ResourceRecordSet.Name = "enterpriseenrollment.$($domainName)."
  134. $change2.ResourceRecordSet.Type = "CNAME"
  135. $change2.ResourceRecordSet.TTL = 3600
  136. $change2.ResourceRecordSet.ResourceRecords.Add(@{Value="enterpriseenrollment.manage.microsoft.com"})
  137.  
  138. #####################
  139. # Additional Config
  140. #####################
  141.  
  142. $change3 = New-Object Amazon.Route53.Model.Change
  143. $change3.Action = "CREATE"
  144. $change3.ResourceRecordSet = New-Object Amazon.Route53.Model.ResourceRecordSet
  145. $change3.ResourceRecordSet.Name = "msoid.$($domainName)."
  146. $change3.ResourceRecordSet.Type = "CNAME"
  147. $change3.ResourceRecordSet.TTL = 3600
  148. $change3.ResourceRecordSet.ResourceRecords.Add(@{Value="clientconfig.microsoftonline-p.net"})
  149.  
  150. $params = @{
  151. HostedZoneId=$R53Tenant.ID
  152. ChangeBatch_Comment="Skype4B records for Office365"
  153. ChangeBatch_Change=$change1,$change2,$change3
  154. }
  155.  
  156. Edit-R53ResourceRecordSet @params
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement