Joining a new controller to an existing site.
$DataBase = 'MySiteDatabaseName' ## Replace with site database name $Commands = Get-Command | Where-Object {$_.Name -like "*DBSchema"} | Get-Unique Foreach ($Command In $Commands) {Out-File -FilePath C:\Temp\GetSchema.ps1 -InputObject "$Command -DatabaseName $DataBase -ScriptType Instance >> C:\Temp\1-Join.sql" -Append} TIMEOUT 10 Invoke-Command {C:\Temp\GetSchema.ps1}
$DatabaseConnectionString = "Server=SQLServer.domain.lab;Initial Catalog=MySiteDatabaseName;Integrated Security=True" ## Replace with correct SQL server address and site database name, or copy database connection string from existing Delivery Controller and assign to variable $DatabaseConnectionString . $Commands = Get-Command | Where-Object {$_.Name -like "Set*DBConnection"} | Get-Unique foreach ($Command in $Commands) {Out-File -FilePath C:\Temp\2-SetDBConnectionString.ps1 -InputObject "$Command -DBConnection ""$DatabaseConnectionString"" -Force" -Append} TIMEOUT 10 Invoke-Command {C:\Temp\2-SetDBConnectionString.ps1}
$Commands = Get-Command | Where-Object {$_.Name -like "Get*ServiceInstance"} | Where-Object {$_.Name -ne "Get-ConfigRegisteredServiceInstance"} | Get-Unique Foreach ($Command in $Commands) {Out-File -FilePath C:\Temp\3-RegisterServiceInstance.ps1 -InputObject "$Command | Register-ConfigServiceInstance" -Append} TIMEOUT 10 Invoke-Command {C:\Temp\3-RegisterServiceInstance.ps1}
$Commands = Get-Command | Where-Object {$_.Name -like "Reset-*ServiceGroupMembership"} | Get-Unique
Foreach ($Command in $Commands) {Out-File -FilePath C:\Temp\4-ResetServiceGroupMembership.ps1 -InputObject "Get-ConfigServiceInstance | $Command " -Append}
TIMEOUT 10
Invoke-Command {C:\Temp\4-ResetServiceGroupMembership.ps1}