Get-NAVTenant

Gets the tenants that are mounted against the specified Business Central Server instance.

Syntax

Get-NAVTenant
   [[-Tenant] <TenantId>]
   [-ServerInstance] <String>
   [-Force]
   [<CommonParameters>]
Get-NAVTenant
   [[-Tenant] <TenantId>]
   -ApplicationDatabaseServer <String>
   -ApplicationDatabaseCredentials <PSCredential>
   -ApplicationDatabaseName <String>
   [-Force]
   [<CommonParameters>]
Get-NAVTenant
   [[-Tenant] <TenantId>]
   -ApplicationDatabaseServer <String>
   -ApplicationDatabaseName <String>
   [-Force]
   [<CommonParameters>]
Get-NAVTenant
   [-Tenant] <TenantId>
   [-ServerInstance] <String>
   [-ForceRefresh]
   [-Force]
   [<CommonParameters>]

Description

Gets the tenants that are mounted against the specified Business Central Server instance. You can use the Mount-NAVTenant and Dismount-NAVTenant cmdlets to mount and dismount tenants.

Examples

EXAMPLE 1

Get-NAVTenant -ServerInstance 'BusinessCentral'

    ServerInstance                         : BusinessCentralServer$BusinessCentral
    TenantDatabaseId                       : TenantDB1
    State                                  : Mounted
    DetailedState                          :
    IsInExclusiveAccessMode                : False
    TenantDataVersion                      : 'Uninitialized'
    Id                                     : Tenant1
    AlternateId                            : {}
    AllowAppDatabaseWrite                  : True
    NasServicesEnabled                     : False
    RunNasWithAdminRights                  : False
    EncryptionProvider                     : LocalKeyFile
    AzureKeyVaultSettings                  :
    DefaultCompany                         :
    DefaultTimeZone                        : UTC
    ExchangeAuthenticationMetadataLocation : https://*.microsoft.com/,https://outlook.office365.com/,https://*.outlook.com/
    AadTenantId                            : common

This example gets the tenant information from the Business Central Server instance called 'BusinessCentral'. The output is a list of the tenant information about all mounted tenants, in this case two tenants. In this example, the server instance is configured to use the shared schema data model. If your instance is not running the shared schema data model, instead of the 'TenantDatabaseId', 'DatabaseName', 'DatabaseServer', and 'DatabaseUserName' are listed. ---------- EXAMPLE 2 ----------

Get-NAVTenant -ServerInstance 'BusinessCentral' -Tenant 'Tenant1' -ForceRefresh

ServerInstance                         : BusinessCentralServer$BusinessCentral
TenantDatabaseId                       : TenantDB1
State                                  : Operational
DetailedState                          :
IsInExclusiveAccessMode                : False
TenantDataVersion                      : 13.0.17887.0
Id                                     : Tenant1
AlternateId                            : {}
AllowAppDatabaseWrite                  : True
NasServicesEnabled                     : False
RunNasWithAdminRights                  : False
EncryptionProvider                     : LocalKeyFile
AzureKeyVaultSettings                  :
DefaultCompany                         :
DefaultTimeZone                        : UTC
ExchangeAuthenticationMetadataLocation :

https://.microsoft.com/,https://outlook.office365.com/,https://.outlook.com/ AadTenantId : common

This example gets the information about the tenant with the ID 'Tenant1' on Business Central Server instance 'BusinessCentral'. By setting the -ForceRefresh parameter, the 'State' and 'TenantDataversion' are refreshed to display the actual values (as compared to the first example).

Parameters

-ApplicationDatabaseCredentials

Specifies the user name and password of the login account that the Business Central Server instance uses to access the application database in SQL Server when using SQL Server Authentication.

This parameter is only relevant when you set with the ApplicationDatabaseServer and ApplicationDatabaseName parameters

Type:PSCredential
Position:Named
Default value:None
Accept pipeline input:True (ByPropertyName)
Accept wildcard characters:False
-ApplicationDatabaseName

Specifies the name of the application database that is used by the tenant database. This parameter is only relevant if the Business Central Server instance is configured for multitenancy.

This parameter, together with the ApplicationDatabaseServer parameter, enables you to dismount a tenant from a Business Central Server instance without having a running connection to the Business Central Server instance.

Type:String
Position:Named
Default value:None
Accept pipeline input:True (ByPropertyName)
Accept wildcard characters:False
-ApplicationDatabaseServer

Specifies the SQL Server name and instance, such as MyServer\MyInstance, that hosts the application database that is used with the tenant database.

This parameter, together with the ApplicationDatabaseName parameter, enables you to get the tenants that are mounted on a Business Central Server instance without having a running connection to the Business Central Server instance.

Type:String
Position:Named
Default value:None
Accept pipeline input:True (ByPropertyName)
Accept wildcard characters:False
-Force

Forces the command to run without asking for user confirmation.

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-ForceRefresh

Specifies to update a tenant's state and data version based, in part, on the data version of the tenant database that contains the tenant. By default, the data retrieved by the Get-NAVTenant is not necessarily up to date with the tenant database. This can happen, for example, after a Business Central Server instance restart. In this case, the 'State' would be 'Mounted', even if its actual state is 'Operational', and the 'TenantDataVersion' would be 'Uninitialized'. By setting the -ForceRefresh parameter, the server instance reads the data version of the tenant database from the database itself, and the tenant's state and data version are recalculated. Note: Running operations, such as sync, mount and dismount, on a specific tenant always ensures that tenant settings are up-to-date with the tenant database.

Type:SwitchParameter
Position:Named
Default value:False
Accept pipeline input:True (ByPropertyName)
Accept wildcard characters:False
-ServerInstance

Specifies the name of a Business Central Server instance, for example, BC or myinstance. You can specify either the full name of an instance, such as MicrosoftDynamicsNavServer$myinstance or the short name such as myinstance.

Type:String
Position:0
Default value:None
Accept pipeline input:True (ByPropertyName, ByValue)
Accept wildcard characters:False
-Tenant

Specifies the ID of the specific tenant that you want to get information about, such as Tenant1.

If you do not set the Tenant parameter, the Get-NAVTenant cmdlet returns all tenants that are mounted against the Business Central Server instance.

When using Get-NAVTenant through a connection to a Business Central Server instance, if the specified tenant ID is not found, then an error occurs. When using Get-NAVTenant through a connection to the application database, if the specified tenant ID is not found, then all mounted tenants are returned in the results.

Type:TenantId
Aliases:Id
Position:1
Default value:None
Accept pipeline input:True (ByPropertyName)
Accept wildcard characters:False

Inputs

System.String

You can pipe the ServerInstance as a string to this cmdlet.

Outputs

Microsoft.Dynamics.Nav.Types.NavTenantSettings

Returns a Microsoft.Dynamics.Nav.Types.NavTenantSettings object for each tenant. The following information is returned:

ServerInstance
TenantDatabaseId
State
DetailedState
IsInExclusiveAccessMode
TenantDataVersion (see notes)
Id
AlternateId
AlternateId
AllowAppDatabaseWrite
NasServicesEnabled
RunNasWithAdminRights
EncryptionProvider
DefaultCompany
DefaultTimeZone ExchangeAuthenticationMetadataLocation

Notes

The Tenant Data Version indicates the version of the tenant data. When and how the version is assigned can be explained by the following upgrade flow:

  • When an application is created, it is assigned an Application Version.
  • When a tenant database is upgraded, the Application Version is transferred to the tenant database.
  • When data upgrade is executed on the tenant data. the Application Version is transferred to the Tenant Database Version field.
  • When the upgrade process is completed, the tenant database will have the same version as the application (schema is synchronized) and the tenant data is the same as the application (tenant data has been upgraded).