Utilizzo di PowerShell per il deploy di Microsoft Dynamics NAV
- On 31 Luglio, 2017
- automatization, crm, deploy, dynamics, dynamics nav, erp, navision, powershell, user
Microsoft Dynamics NAV 2017 include due gruppi di “cmdlets” per Windows PowerShell:
- Microsoft Dynamics NAV 2017 Administration Shell include cmdlets per il deploy di Microsoft Dynamics NAV, come ad esempio creare e configurare istanze Microsoft Dynamics NAV Server, database, utenti e per la gestione delle estensioni.Microsoft Dynamics NAV 2017 Administration Shell è installato con Microsoft Dynamics NAV Server.
- Microsoft Dynamics NAV 2017 Development Shell include cmdlets per eseguire il merge e la modifica degli oggetti, oltre a comprendere cmdlets per la creazione delle estensioni.
Microsoft Dynamics NAV 2017 Development Shell è installato con l’ambiente di sviluppo di Microsoft Dynamics NAV.
Con questo post scopriremo come utilizzare al meglio le cmdlets del modulo Administration Shell per rendere più veloce il deploy delle installazioni di Microsoft Dynamics NAV, preparare file .ps1 da schedulare o lanciare manualmente, in cui di volta in volta andremo a modificare solo i parametri collegati alla macchina come ad esempio il nome del server, dell’instanza sql o le porte da utilizzare.
In questa primo post vedremo come creare una sequenza di comandi che ci permetta di:
- Creare un nuovo database a partire dal backup del db Cronus.
- Creare una nuova istanza del servizio NAV Server.
- Caricare la licenza sull’istanza.
- Creare una nuova società, a partire dalla società Cronus.
Per prima cosa apriamo Windows Power Shell ISE :
Per proseguire con l’esecuzione dei comandi è necessario eseguire l’import delle cmdlet di NAV.
- Creare un nuovo database a partire dal backup del db Cronus.
Per creare un nuovo database utilizziamo il comando New-NAVDatabase
Per cui specifico
- il nome dell’istanza SQL
- il nome del nuovo database
- L’account da utilizzare
- Il percorso in cui creare il nuovo backup
- E il percorso del file .bak da utilizzare
Al termine dell’esecuzione del comando PowerShell restituirà il seguente messaggio:
Il database TPSOLUZIONI è stato creato con successo.
- Creare una nuova istanza del servizio NAV Server
Procedo a creare una nuova istanza del servizio NAV Server, per farlo utilizzo la cmdlet
New-NAVServerInstance
Per cui specifico le porte da utilizzare e il nome dell’istanza stessa.
Notiamo che per specificare le credenziali da usare utilizziamo il comando Get-Credential.
L’esecuzione del comando comporta l’apertura di una finestra di dialogo in cui inserire username e password da utilizzare.
Le credenziali inserite saranno salvate nella variabile $cred ed utilizzate nella creazione del servizio.
Procediamo all’esecuzione del comando per la creazione del servizio. Al termine avremo dell’operazione avremo il seguente risultato:
E tra i servizi presenti sulla macchina:
- Caricare la licenza sull’istanza
Per caricare la licenza sull’istanza appena creata utilizzo il comando Import-NAVServerLicense
Prima di eseguire il comando però mi assicuro che lo stato del servizio sia running, per questo eseguo il comando:
Set-NAVServerInstance $newSrvInstance -Start -Verbose
Per avviare l’istanza.
Per poter caricare la licenza occorre specificare il percorso in cui è salvato il file .flf e l’istanza su cui caricarla.
Entrambe le informazioni sono memorizzate in due variabili:
$licenseFilePath = ‘C:\Users\aderrico\Desktop\tpsoluzioni.flf’
$newSrvInstance= ‘TPSOLUZIONI’
Al termine del caricamento e dopo il riavvio dell’istanza PowerShell restituirà il seguente messaggio:
- Creare una nuova società
Per creare una nuova società utilizzo il comando Copy-NAVCompany, per cui specifico i seguenti parametri all’interno di altrettante variabili:
- Nome della company destinazione
- Nome della company di partenza
- Descrizione della company di destinazione
Al termine dell’operazione PowerShell restituirà il seguente messaggio:
Con questi pochi passaggi abbiamo visto come è possibile rendere più veloci tutte le operazioni che di solito svolgiamo per preparare un ambiente Dynamics NAV al suo utilizzo, il tutto senza aprire il client, l’ambiente di sviluppo, o il management studio di SQL Server.
L’utilizzo delle variabili ci consente di modificare solo le informazioni relative alla macchina su cui si intende procedere al deploy, tutto il resto rimane invariato. Con un notevole risparmio di tempo e risorse macchina.
Nel prossimo post andremo avanti con lo studio dei comandi dell’Administration Shell, procedendo con la creazione dei PermissionSet e dei Web Services.
0 Comments