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' |