function Install-ORB { <# .SYNOPSIS Provides an entry point to install ORB on a Web or App Tier Server. This function is primarily utilized by automation which may not know what tier it may be installing. .DESCRIPTION Provides an entry point to install ORB on a web or app tier server. In order to leverage this function the machine must be properly instrumented with a ServerRole envirornmental variable, if it is a new machine. The ServerRole system environmental variable value should be set to one of either Web or App. If your machines have not been tagged during provisioning you may add the variable manually, or call the Install-ORBAppServer / Install-ORBWebServer functions directly with the appropriate parameters .PARAMETER clientUrl Alias: ClientSiteUrl Provide the Client Site URL without preceeding protocol or trailing slash. For example, instead of https://orb.alkamitech.com/, provide orb.alkamitech.com. This parameter is only used when installing on a web tier server. .PARAMETER adminUrl Alias: AdminSiteUrl Provide the Admin Site URL without preceeding protocol or trailing slash. For example, instead of https://admin-orb.alkamitech.com/, provide admin-orb.alkamitech.com. This parameter is only used when installing on a web tier server. .PARAMETER ipstsUrl Alias: IPSTSSiteUrl Provide the IPSTS Site URL without preceeding protocol or trailing slash. For example, instead of https://orb-ip.alkamitech.com/, provide orb-ip.alkamitech.com. This parameter is only used when installing on a web tier server. .PARAMETER skipSiteAndAppWarmup Alias: SkipWarmup Will skip the warmup of sites or services when set .PARAMETER doCombineAdminAppPools Alias: CombineAdminAppPools Will configure admin websites to use an app pool named 'Admin' when set .PARAMETER doCombineClientAppPools Alias: CombineClientAppPools Will configure client websites to use an app pool named 'WebClient' when set .PARAMETER doCombineIPSTSAppPools Alias: CombineIPSTSAppPools Will configure IPSTS websites to use an app pool named 'IPSTS' when set .EXAMPLE Install-ORB -ClientSiteUrl orb.alkamitech.com -AdminSiteUrl admin-orb.alkamitech.com -IpstsSiteUrl orb-ip.alkamitech.com -SecretServerUserName foobar -SecretServerPassword barfoo -SecretServerFolders "POD6,Common" .EXAMPLE Install-ORB -Broadcasters "Server1,Server2,Server3" -SkipWarmup #> [CmdletBinding()] Param( [Parameter(Mandatory = $false)] [Alias("ClientSiteUrl")] [string]$clientUrl, [Parameter(Mandatory = $false)] [Alias("AdminSiteUrl")] [string]$adminUrl, [Parameter(Mandatory = $false)] [Alias("IPSTSSiteUrl")] [string]$ipstsUrl, [Parameter(Mandatory = $false)] [Alias("SecretServerUserName")] [string]$secretUserName, [Parameter(Mandatory = $false)] [Alias("SecretServerPassword")] [string]$secretPassword, [Parameter(Mandatory = $false)] [Alias("SecretServerFolders")] [string]$secretFolderNames, [Parameter(Mandatory = $false)] [Alias("SecretServerDomain")] [string]$secretDomain = "corp.alkamitech.com", [Parameter(Mandatory = $false)] [Alias("SkipWarmup")] [switch]$skipSiteAndAppWarmup, [Parameter(Mandatory = $false)] [Alias("CombineAdminAppPools")] [switch]$doCombineAdminAppPools, [Parameter(Mandatory = $false)] [Alias("CombineClientAppPools")] [switch]$doCombineClientAppPools, [Parameter(Mandatory = $false)] [Alias("CombineIPSTSAppPools")] [switch]$doCombineIPSTSAppPools ) $logLead = (Get-LogLeadName); Write-Verbose ("$logLead : Received Arguments:"); Write-Verbose (" ClientSiteUrl: $clientUrl"); Write-Verbose (" AdminSiteUrl: $adminUrl"); Write-Verbose (" IpstsSiteUrl: $ipstsUrl"); Write-Verbose (" SecretServerUserName: $secretUserName"); Write-Verbose (" SecretServerPassword: REDACTED"); Write-Verbose (" SecretServerFolders: $secretFolderNames"); Write-Verbose (" SecretServerDomain: $secretDomain"); if (Test-IsAppServer) { Install-ORBAppServer -SecretServerUserName $secretUserName -SecretServerPassword $secretPassword -SecretServerFolders $secretFolderNames -SecretServerDomain $secretDomain -SkipAppWarmup:$skipSiteAndAppWarmup; } elseif (Test-IsWebServer) { Install-ORBWebServer -ClientSiteUrl $clientUrl -AdminSiteUrl $adminUrl -IpstsSiteUrl $ipstsUrl -SecretServerUserName $secretUserName -SecretServerPassword $secretPassword -SecretServerFolders $secretFolderNames -SecretServerDomain $secretDomain -SkipSiteWarmup:$skipSiteAndAppWarmup -CombineAdminAppPools:$doCombineAdminAppPools -CombineClientAppPools:$doCombineClientAppPools -CombineIPSTSAppPools:$doCombineIPSTSAppPools; } else { Write-Warning "Could not automatically determine if this server is a web or app tier machine."; Write-Output "You may still call Install-ORBAppServer or Install-ORBWebServer directly"; } }