Umgebungsvariablen

15. Juni 2016 08:59

Hallo zusammen,

ich bin gerade bei einem kleinen Projekt - ein Ticketsystem für die IT.
Hier soll für nicht NAV-User ein kleines Programm aufgerufen werden "Neues Ticket" - dieses öffnet eine Email - diese wird in NAV eingelesen...
klappt schon wunderbar.
Jetzt soll es auch möglich sein eine Anfrage in NAV zu stellen - was natürlcih noch einfacher ist :-)
Soviel zum "Grund-Projekt".

Bei dem Progarmm gebe ich Umgebungsvariablen mit und zwar:

Computername
IP Addresse
User Name
OSVersion
OSTyp

Computername und User Name sind ja einfach in NAV mit ENVIRON('computername') auszulesen - aber wie komme ich an die anderen Daten?

Ich denke mit SHELL oder so?

Vielen Dank für eure Hilfe...

Re: Umgebungsvariablen

15. Juni 2016 10:02

Mit PowerShell ist das alles machbar.

OS-Version: Use PowerShell to Find Operating System Version (Anmerkung wie dort beschrieben: Die Build-Rückgabewerte der PowerShell-ISE und -Konsole sind erfahrungsgemäß bei [environment]::OSVersion.Version nicht immer identisch, daher immer in der Praxisumgebung testen. (Get-CimInstance Win32_OperatingSystem).version wie am Ende des Artikels beschrieben liefert bei ISE und Konsole identische Ergebnisse).

IP-Adresse: PowerTip: Use PowerShell to Get IP Addresses

Falls auch die .NET-Version benötigt wird, ist es komplizierter.
http://stackoverflow.com/questions/3487265/powershell-script-to-return-versions-of-net-framework-on-a-machine
Das dortige Codebeispiel haben wir mit unseren Kunden schon erfolgreich genutzt:
Code:
Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -recurse |
Get-ItemProperty -name Version,Release -EA 0 |
Where { $_.PSChildName -match '^(?!S)\p{L}'} |
Select PSChildName, Version, Release, @{
  name="Product"
  expression={
      switch($_.Release) {
        378389 { [Version]"4.5" }
        378675 { [Version]"4.5.1" }
        378758 { [Version]"4.5.1" }
        379893 { [Version]"4.5.2" }
        393295 { [Version]"4.6" }
        393297 { [Version]"4.6" }
        394254 { [Version]"4.6.1" }
        394271 { [Version]"4.6.1" }
      }
    }
}

Der dort erwähnte MSDN-Artikel erläutert den Hintergrund, bzgl. der Switch-Werte siehe "Value of the Release DWORD".
How to: Determine Which .NET Framework Versions Are Installed

Bei Windows 10 können z.B. je nach Releasestand aktuell 4.5 bis 4.6.1 im Einsatz sein.