functions/dynamicsnav/servicesetup/Enable-ServiceExcelAddIn.ps1
function Enable-NavServerExcelAddIn { param ( [Parameter(Mandatory)] [string]$ServerInstance, [Parameter(Mandatory)] [string]$ExcelAppId, # Optional, should already be set [string]$PublicWebBaseUrl, [string]$PublicODataBaseUrl, [switch]$Force ) $CurrentExcelAppId = Get-NAVServerConfiguration -ServerInstance $ServerInstance -KeyName ExcelAddInAzureActiveDirectoryClientId if (-not [string]::IsNullOrWhiteSpace($CurrentExcelAppId) -and ($ExcelAppId -ne $CurrentExcelAppId) -and -not $Force) { Write-Error "Server already has ExcelAddInAzureActiveDirectoryClientId set to $CurrentExcelAppId! Use -Force to overwrite." return $false } if ($CurrentExcelAppId -ne $ExcelAppId) { Set-NAVServerConfiguration -ServerInstance $ServerInstance -KeyName ExcelAddInAzureActiveDirectoryClientId -KeyValue $ExcelAppId } if ($PublicWebBaseUrl) { $CurrentPublicWebBaseUrl = Get-NAVServerConfiguration -ServerInstance $ServerInstance -KeyName PublicWebBaseUrl if (-not [string]::IsNullOrWhiteSpace($CurrentPublicWebBaseUrl) -and ($PublicWebBaseUrl -ne $CurrentPublicWebBaseUrl) -and -not $Force) { Write-Error "Server already has PublicWebBaseUrl set to $CurrentPublicWebBaseUrl! Use -Force to overwrite." return $false } Set-NAVServerConfiguration -ServerInstance $ServerInstance -KeyName PublicWebBaseUrl -KeyValue $PublicWebBaseUrl } if ($PublicODataBaseUrl) { $CurrentPublicODataBaseUrl = Get-NAVServerConfiguration -ServerInstance $ServerInstance -KeyName PublicODataBaseUrl if (-not [string]::IsNullOrWhiteSpace($CurrentPublicODataBaseUrl) -and ($PublicODataBaseUrl -ne $CurrentPublicODataBaseUrl) -and -not $Force) { Write-Error "Server already has PublicODataBaseUrl set to $CurrentPublicODataBaseUrl! Use -Force to overwrite." return $false } Set-NAVServerConfiguration -ServerInstance $ServerInstance -KeyName PublicODataBaseUrl -KeyValue $PublicODataBaseUrl } [bool]$ODataServicesEnabled = Get-Navserverconfiguration -ServerInstance $ServerInstance -KeyName ODataServicesEnabled if (-not $ODataServicesEnabled) { Set-Navserverconfiguration -ServerInstance $ServerInstance -KeyName ODataServicesEnabled -KeyValue true } [bool]$ODataServicesSSLEnabled = Get-NavServerConfiguration -ServerInstance $ServerInstance -KeyName ODataServicesSSLEnabled if (-not $ODataServicesSSLEnabled) { Set-NavServerConfiguration -ServerInstance $ServerInstance -KeyName ODataServicesSSLEnabled -KeyValue True } [bool]$ApiServicesEnabled = Get-NAVServerConfiguration -ServerInstance $ServerInstance -KeyName ApiServicesEnabled if (-not $ApiServicesEnabled) { Set-NAVServerConfiguration -ServerInstance $ServerInstance -KeyName ApiServicesEnabled -KeyValue true } return $true } |