Functions/CreateInstance.ps1
function CreateInstance { $Version = GetVersion $InstanceParams = @{'ServerInstance'='<InstanceName>'; 'ManagementServicesPort'='7045'; 'ClientServicesPort'='7046'; 'SOAPServicesPort'='7047'; 'ODataServicesPort'='7048'; 'DeveloperServicesPort'='7049'; 'DatabaseServer'='<ServerName>'; 'DatabaseInstance'=''; 'DatabaseName'='<DatabaseName>'; 'DatabaseCredentials'=''; 'ClientServicesCredentialType'='Windows'; 'ServicesCertificateThumbprint'=''; 'ServiceAccount'='NetworkService'; 'ServiceAccountCredential'=''} do { $Choice = $InstanceParams | Out-GridView -Title "Select parameter (cancel for continue)" -OutputMode Single if ($Choice) { switch ($Choice.Name) { 'DatabaseCredentials' { $Value = Get-Credential -Message "Enter credentials for $($Choice.Name)" $InstanceParams.($Choice.Name) = $Value } 'ServiceAccountCredential' { $Value = Get-Credential -Message "Enter credentials for $($Choice.Name)" $InstanceParams.($Choice.Name) = $Value } default { $Value = Read-Host -Prompt "Enter value for $($Choice.Name)" $InstanceParams.($Choice.Name) = $Value } } } } while ($Choice) Write-Host @" Executing: New-NAVServerInstance -ManagementServicesPort $($InstanceParams.ManagementServicesPort) ` -ClientServicesPort $($InstanceParams.ClientServicesPort) ` -SOAPServicesPort $($InstanceParams.SOAPServicesPort) ` -ODataServicesPort $($InstanceParams.ODataServicesPort) ` -DeveloperServicesPort $($InstanceParams.DeveloperServicesPort) ` -DatabaseServer $($InstanceParams.DatabaseServer) ` -DatabaseInstance $($InstanceParams.DatabaseInstance) ` -DatabaseName $($InstanceParams.DatabaseName) ` -DatabaseCredentials $($InstanceParams.DatabaseCredentials) ` -ClientServicesCredentialType $($InstanceParams.ClientServicesCredentialType) ` -ServicesCertificateThumbprint $($InstanceParams.ServicesCertificateThumbprint) ` -ServiceAccount $($InstanceParams.ServiceAccount) ` -ServiceAccountCredential $($InstanceParams.ServiceAccountCredential) ` -Force "@ If ($InstanceParams.ServiceAccountCredential -eq '') { $InstanceParams.Remove('ServiceAccountCredential') } if ($InstanceParams.DatabaseCredentials -eq '') { $InstanceParams.Remove('DatabaseCredentials') } LoadModules -Version $Version Write-Host "Creating instance" -ForegroundColor Green New-NAVServerInstance -Force @InstanceParams Read-Host "Press enter to continue" } RegisterFunction -Function 'CreateInstance' -Name 'Create new instance' |