NAV Service Instance erstellen mit PowerShell

1. November 2018 14:03

Hallo liebe Community

Da wir bei jedem Kunden die gleichen 3 Dynamcis NAV Dienste erstellen müssen und die Konfigurationen (Ports, Namen, Optionen etc.) bis auf wenige Ausnahmen (Service Account, Servername) immer gleich sind möchte ich den Prozess via Powershell automatisieren.
Ich möchte also 3 Config Files (CustomSettings.config) haben und damit dann via Powershell die 3 Instanzen erstellen.

Aktuell habe ich folgenden Code, dieser generiert zwar die Instanzen erstellt aber ein neues CustomerSettings im jeweiligen Ordner. Habe ich irgendwie die Möglichkeit beim erstellen des Services via PS das Config File anzugeben oder es nach dem erstellen via eines Commands zu hinterlegen? Ich könnte natürlich via PS im entsprechenden Ordner einfach mein File hinkopieren und replacen, ist aber etwas unschön und die Credentials für den Service Account würden verloren gehen und durch die des Files ersetzt.

Wie kann ich ein Dienst vorkonfigurieren?

Aktuell sieht mein Code so aus:

Code:
$cred = Get-Credential
New-NAVServerInstance NAV-ServiceAccount User -ManagementServicesPort
7045 -ClientServicesPort 7046 -SOAPServicesPort 7047 -ODataServicesPort 7048 -ServiceAccountCredential $cred -verbose
New-NAVServerInstance NAV_TEST -ServiceAccount User -ManagementServicesPort
9045 -ClientServicesPort 9046 -SOAPServicesPort 9047 -ODataServicesPort 9048 -ServiceAccountCredential $cred -verbose
New-NAVServerInstance NAV_DEV -ServiceAccount User -ManagementServicesPort
7045 -ClientServicesPort 8046 -SOAPServicesPort 7047 -ODataServicesPort 7048 -ServiceAccountCredential $cred -verbose

Re: NAV Service Instance erstellen mit PowerShell

1. November 2018 15:34

Schau dir mal https://docs.microsoft.com/en-us/powershell/module/microsoft.dynamics.nav.management/set-navserverconfiguration?view=dynamicsnav-ps-2017 und https://docs.microsoft.com/en-us/dynamics-nav/configuring-microsoft-dynamics-nav-server-2017 an.

Du kannst damit in deinem Script die Parameter direkt über PowerShell setzen.

Re: NAV Service Instance erstellen mit PowerShell

1. November 2018 16:01

Hallo MarkusWeiland

Danke für deinen Vorschlag. Das ist mir bewusst, ich wollte aber nicht alle Parameter einzeln setzen, sondern das CustomerSettings.config als Vorlage verwenden und dann via Set-NAVServerConfiguration die wenigen Parameter setzen die pro Kunde unterschiedlich sind.

Ansonsten müsste ich ca. 30 Parameter einzeln setzen via Set-NAVServerConfiguration, die jedes mal gleich sind, das wäre etwas ineffizient.

Re: NAV Service Instance erstellen mit PowerShell

1. November 2018 20:43

Klar, einzeln ist das aufwendig.
Du könntest dir aber auch einfach ein Powershell Script schreiben, welches über eine Config (z.B deine Vorlage XML) iteriert und die Befehle für dich ausführt.