Licence/Get-NAVServerLicenceDetails.ps1

$ScriptBlock = {
    if ([IO.File]::Exists('C:\Program Files\Microsoft Dynamics NAV\90\Service\Microsoft.Dynamics.Nav.Management.dll'))
    {
        Import-Module 'C:\Program Files\Microsoft Dynamics NAV\90\Service\Microsoft.Dynamics.Nav.Management.dll'
    }
    else
    {
        Import-Module 'C:\Program Files\Microsoft Dynamics NAV\80\Service\Microsoft.Dynamics.Nav.Management.dll'
    }

    $NAVServers = Get-NAVServerInstance | Where-Object -Property State -eq 'Running'
    $LicenceConfigs = @()
    foreach ($NAVServer in $NAVServers)
    {   
        $ServerConfig = Get-NAVServerConfiguration $NAVServer.ServerInstance 
        $DatabaseName = ($ServerConfig | Where-Object -Property Key -EQ DatabaseName).Value
     
        if (($LicenceConfigs | Where-Object -Property Database -eq $DatabaseName).Count -eq 0)
        {
            $LicenceConfig = New-Object System.Object

            $LicenceInfo = Export-NAVServerLicenseInformation $NAVServer.ServerInstance          
     
            $LicenceConfig | Add-Member -MemberType NoteProperty -Name 'Database' -Value $DatabaseName
            $LicenceConfig | Add-Member -MemberType NoteProperty -Name 'ServerInstance' -Value $NAVServer.ServerInstance
            $LicenceConfig | Add-Member -MemberType NoteProperty -Name 'AccountNo' -Value ([Regex]::Match($LicenceInfo,'VOICE Acc.*:.*').Value.Substring(26)).TrimEnd([Environment]::NewLine)
            $LicenceConfig | Add-Member -MemberType NoteProperty -Name 'Name' -Value ([Regex]::Match($LicenceInfo,'Licensed to *:.*').Value.Substring(26)).TrimEnd([Environment]::NewLine)

            if ([Regex]::Match($LicenceInfo,'Configuration *:.*').Success)
            {
                $LicenceConfig | Add-Member -MemberType NoteProperty -Name 'Configuration' -Value ([Regex]::Match($LicenceInfo,'Configuration *:.*').Value.Substring(26)).TrimEnd([Environment]::NewLine)
            }
            else
            {
                $LicenceConfig | Add-Member -MemberType NoteProperty -Name 'Configuration' -Value ''
            }

            $LicenceConfigs += $LicenceConfig
        }
    }

    $LicenceConfigs | Sort-Object -Property DatabaseName
}

$Results = @()

$Results += Invoke-Command $ScriptBlock -ComputerName TMAZ-NAV-MT02
$Results += Invoke-Command $ScriptBlock -ComputerName TMAZ-NAV-MT03
$Results += Invoke-Command $ScriptBlock -ComputerName TMAZ-NAV-MT04

$Results | Out-GridView -Title 'Dynamics NAV Licence Details'