[RTC] NAV PowerShell auf Client Rechner?

21. August 2018 13:15

Hi,

ich möchte mir ein PowerShell Script basteln welches mir die Mandanten einer DB listet, und die vorhanden Profile, damit ich den RTC Client mit X Beliebigen Profil und Wahlweise im Config Modus starten kann.

Auf dem Server gibt es die Administration Shell, und auf mein Client/Dev Rechner sollte es die NAV Development Shell geben, gibt es nicht, was habe ich vergessen zu installieren?

Habe mir dann mal die PS Sachen vom Server auf mein rechner kopiert:

Code:
Import-Module (Join-Path ${env:ProgramFiles(x86)} '\Microsoft Dynamics NAV\110\RoleTailored Client\NAVWebClientManagement.psm1')
Import-Module (Join-Path ${env:ProgramFiles(x86)} '\Microsoft Dynamics NAV\110\RoleTailored Client\Microsoft.Dynamics.Nav.Management.dll') -NoClobber


Komme aber beim Befehl Get-NAV Company schon nicht weiter, während auf dem Server in der AdminShell :

Code:
Get-NavCompany DYNAMICSNAV110


mir alle Mandanten listet, bekomme ich beim Aufruf vom Client Rechner die Meldung dass die ServerInstanz nicht gefunden werden kann.

Code:
Get-NAVCompany -ServerInstance NAV18SERVER$DYNAMICSNAV110

gibt mir:
Get-NAVCompany : Unable to locate the server instance: MicrosoftDynamicsNavServer$NAV18SERVER

Hängt das mit der CustomSettings.conf zusammen? Oder gebe ich die Parameter falsch an?

Danke

Re: [RTC] NAV PowerShell auf Client Rechner?

21. August 2018 14:50

Ich habe die Vermutung das man ein NavAdminTool nur auf Servicetieren installiert und es deswegen nur lokal funktioniert?

Re: [RTC] NAV PowerShell auf Client Rechner?

21. August 2018 15:24

So wie hier beschrieben kann man eine Remotesession zu dem Server aufbauen, wo der Dienst läuft, und dort mit den Cmdlets des Admintools agieren.

elTorito hat geschrieben:auf mein Client/Dev Rechner sollte es die NAV Development Shell geben, gibt es nicht, was habe ich vergessen zu installieren?

Funktioniert diese Zeile auf dem Client?
Code:
Import-Module "${env:ProgramFiles(x86)}\Microsoft Dynamics NAV\110\RoleTailored Client\Microsoft.Dynamics.Nav.Model.Tools.psd1" -WarningAction SilentlyContinue | out-null

Re: [RTC] NAV PowerShell auf Client Rechner?

21. August 2018 15:49

Wenn ich den Code ausführe bekomme ich keine Fehler.

Gibt also ein Unterschiede zwischen den PS Scripten auf den Server und jene welche in "Dev Shell" auf den Client zur Verfügung stehen sollten?
Wahrscheinlich einfacher / Schneller wenn ich ein PS Script schreibe und die paar Mandanten und Profile manuell in eine Listbox pflege zur Auswahl :-)
Zuletzt geändert von McClane am 21. August 2018 19:02, insgesamt 1-mal geändert.
Grund: Bitte keine Komplettzitate!

Re: [RTC] NAV PowerShell auf Client Rechner?

21. August 2018 17:24

Gibt also ein Unterschiede zwischen den PS Scripten auf den Server und jene welche in "Dev Shell" auf den Client zur Verfügung stehen sollten?

Das hängt von der Installation ab. Ein Server hat üblicherweise keinen Client installiert und ein Client für "normale" User (also keine Entwickler) keinen Server. Entsprechend sind auch die jeweiligen Module für die PowerShell vorhanden oder nicht.

Die Development Shell hat man nur, wenn man die Developer Option beim Installieren auswählt.
Nach Import der Module über die Profildatei beim Start des ISE hat man aber die gleiche Funktionalität bei den Cmdlets und kann wesentlich besser damit arbeiten.

Re: [RTC] NAV PowerShell auf Client Rechner?

22. August 2018 10:15

Ok. Hab die DeveloperShell auf dem Client / Entwicklerrechner "gefunden". :oops:

Mache ich ein

Code:
Get-AppInfo -ServerInstance NAV18SERVER$NAVInstanzname


sagt diese mir auch

Unable to locate the server instance: MicrosoftDynamicsNavServer$NAV18SERVER

Re: [RTC] NAV PowerShell auf Client Rechner?

22. August 2018 10:35

Was auf jedenfall funktioniert ist, wenn du ne Powershell Session auf dem Server auf machst.
Ggf. musst du aber der win-rm service erst aktivieren

Code:
$PSServerSession = New-PSSession NAV18SERVER
Invoke-Command -Session $PSServerSession -ScriptBlock {
    Import-Module 'C:\Program Files (x86)\Microsoft Dynamics NAV\110\RoleTailored Client\Microsoft.Dynamics.Nav.Model.Tools.psd1' -WarningAction SilentlyContinue | out-null
    Import-Module 'C:\Program Files\Microsoft Dynamics NAV\110\Service\NavAdminTool.ps1' -WarningAction SilentlyContinue | out-null
    Import-Module 'C:\Program Files (x86)\Microsoft Dynamics NAV\110\RoleTailored Client\Microsoft.Dynamics.Nav.Apps.Tools.psd1' -WarningAction SilentlyContinue | out-null
}
$Company = Invoke-Command -Session $PSServerSession -ScriptBlock ${Function:Get-NAVCompany} -ArgumentList DYNAMICSNAV110

Re: [RTC] NAV PowerShell auf Client Rechner?

22. August 2018 10:56

Dann bekomme ich die Meldung:

Der WinRM-Client kann die Anforderung nicht verarbeiten. Wenn das
Authentifizierungsschema nicht Kerberos ist oder der Clientcomputer nicht Mitglied einer Domäne ist, muss der HTTPS-Datentransport verwendet werden, oder der Zielcomputer muss der
TrustedHosts-Konfigurationseinstellung hinzugefügt werden.


Ich vertage die Angelegenheit mal.
Der aktuelle Testserver hängt in ner eigenen Domäne, mein Rechner ist noch kein Mitglied einer Domäne, Kollege arbeitet gerade daran dass ich den NAV18 Testserver in der richtigen Domäne bekomme, und ich auch noch reingehängt werde, damit insbesondere die ständigen Probleme mit Zugriff geht hier nicht / da nicht ... mal aufhören :-)