Seite 1 von 2

GetNTVersion gibt NT-OS not identified zurück - Windows 10

Verfasst: 29 Sep 2015, 17:10
von fairsein
Hallo,

Ich habe folgendes Problem. In einem Skript wird die $NTVersion$ zur Installation überprüft. Dazu wird sie zuerst gesetzt.

Code: Alles auswählen

set $NTVersion$ = GetNTVersion
und dann überprüft:

Code: Alles auswählen

if ( $NTVersion$ = "Win2K" OR $NTVersion$ = "WinXP" OR $NTVersion$ = "Win NT 5.2" OR $NTVersion$ = "Windows Vista" )
Dies schlägt fehl. Es gibt wohl keine NT Version bei Windows 10 mehr. Die Log gibt folgendes aus.

Code: Alles auswählen

[1] [Sep 29 16:38:48:291] --
[1] [Sep 29 16:38:48:292] --
[1] [Sep 29 16:38:48:293] c:\tmp\opsi-script-part-An13Et20.log
[1] [Sep 29 16:38:48:294] 
[1] [Sep 29 16:38:48:295] 
[1] [Sep 29 16:38:48:296] opsi-winst 4.11.4.17 started at 9/29/2015 16:37:33
[1] [Sep 29 16:38:48:297] ======= APPEND   9/29/2015 16:38:48
[1] [Sep 29 16:38:48:327] 
[1] [Sep 29 16:38:48:328] ============ Version 4.11.4.17 script "\\10.1.1.45\opsi_depot\office365\setup.ins"
[1] [Sep 29 16:38:48:329]              used script encoding: cp1252
[1] [Sep 29 16:38:48:330]              used system encoding: cp1252
[1] [Sep 29 16:38:48:331]              start: 2015-09-29  16:38:48 
[1] [Sep 29 16:38:48:332]              on client named    "NOTE-0346"
[1] [Sep 29 16:38:48:334]              loggedin user    "admin"
[1] [Sep 29 16:38:48:335]              winst running as    "admin"
[1] [Sep 29 16:38:48:337]              winst running with admin privileges
[1] [Sep 29 16:38:48:339]              winst running in standard script mode
[1] [Sep 29 16:38:48:341] executing: "C:\Program Files (x86)\opsi.org\opsi-client-agent\opsi-winst\winst32.exe"
[1] [Sep 29 16:38:48:343] system infos:
[1] [Sep 29 16:38:48:348] ***********  -  PC hardware address
[1] [Sep 29 16:38:48:350] NOTE-0346  -  IP name 
[1] [Sep 29 16:38:48:352] **********  -  IP address
[1] [Sep 29 16:38:48:354] ENG  -  System default locale 
[1] [Sep 29 16:38:48:356] MS Windows 10.0 64 Bit
[1] [Sep 29 16:38:48:358] 
[6] [Sep 29 16:38:48:360] Registry key [HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion]  opened
[6] [Sep 29 16:38:48:362] Key closed
[6] [Sep 29 16:38:48:419] opsi-winst has version  4.11.4.17, required is : >= 4.11.3.6
[6] [Sep 29 16:38:48:421] LogLevel was 6
[6] [Sep 29 16:38:48:423] LogLevel set to 6
[5] [Sep 29 16:38:48:425] Set  $OS$ = GetOS
[6] [Sep 29 16:38:48:435]   The value of the variable "$OS$" is now: "Windows_NT"
[5] [Sep 29 16:38:48:438] Set  $NTVersion$ = GetNTVersion
[3] [Sep 29 16:38:48:440] NT-OS not identified
[6] [Sep 29 16:38:48:442]   The value of the variable "$NTVersion$" is now: "NT-OS not identified"
[5] [Sep 29 16:38:48:444] Set  $SystemType$ = GetSystemType
[6] [Sep 29 16:38:48:446]   The value of the variable "$SystemType$" is now: "64 Bit System"
[5] [Sep 29 16:38:48:448] Set  $ProductNameFull$	= "Office365"
[6] [Sep 29 16:38:48:455]   The value of the variable "$ProductNameFull$" is now: "Office365"
[5] [Sep 29 16:38:48:457] Set  $ProductPicture$	= "logo.jpg"
[6] [Sep 29 16:38:48:460]   The value of the variable "$ProductPicture$" is now: "logo.jpg"
[5] [Sep 29 16:38:48:485] message Installiere O365
[6] [Sep 29 16:38:48:488] If
[6] [Sep 29 16:38:48:491]     Free on Disk C:: 216,876,675,072 bytes  This is more than the required amount of 1,500,000,000 bytes
[5] [Sep 29 16:38:48:493]   HasMinimumSpace ("C:", "1500 MB")   <<< result true
[5] [Sep 29 16:38:48:495]   not (HasMinimumSpace ("C:", "1500 MB"))   <<< result false
[6] [Sep 29 16:38:48:497] Then
[6] [Sep 29 16:38:48:500] EndIf
[5] [Sep 29 16:38:48:502] message Installiere Office365 ...
[6] [Sep 29 16:38:48:506] If
[5] [Sep 29 16:38:48:508]   $NTVersion$ = "Windows Vista"    <<< result false
[5] [Sep 29 16:38:48:510]   $NTVersion$ = "Win NT 5.2" OR $NTVersion$ = "Windows Vista"    <<< result false
[5] [Sep 29 16:38:48:512]   $NTVersion$ = "WinXP" OR $NTVersion$ = "Win NT 5.2" OR $NTVersion$ = "Windows Vista"    <<< result false
[5] [Sep 29 16:38:48:514]   $NTVersion$ = "Win2K" OR $NTVersion$ = "WinXP" OR $NTVersion$ = "Win NT 5.2" OR $NTVersion$ = "Windows Vista"    <<< result false
[5] [Sep 29 16:38:48:516]   ( $NTVersion$ = "Win2K" OR $NTVersion$ = "WinXP" OR $NTVersion$ = "Win NT 5.2" OR $NTVersion$ = "Windows Vista" )   <<< result false
[6] [Sep 29 16:38:48:518] Then
[6] [Sep 29 16:38:48:520]   If
[6] [Sep 29 16:38:48:523]   Then
[6] [Sep 29 16:38:48:525]   EndIf
[6] [Sep 29 16:38:48:527]   If
[6] [Sep 29 16:38:48:529]   Then
[6] [Sep 29 16:38:48:531]   EndIf
[6] [Sep 29 16:38:48:533] Else
[3] [Sep 29 16:38:48:535]   Error: Kein kompatibles Betriebssystem installiert
[5] [Sep 29 16:38:48:537]   Error level set to fatal
[5] [Sep 29 16:38:48:539]   Process aborted
[1] [Sep 29 16:38:48:545] ___________________
[1] [Sep 29 16:38:48:547] script finished
[1] [Sep 29 16:38:48:549] 2 errors
[1] [Sep 29 16:38:48:550] 0 warnings
[1] [Sep 29 16:38:48:552] 
[1] [Sep 29 16:38:48:554] 
Ich weiß nicht, ob ich nun die Überprüfung anpassen muss oder nur die GetNTVersion nicht richtig funktioniert. Auf anderen Windows 10 Rechnern hat es bisher auch so funktioniert. Dort gibt die Logfile als OS aber auch MS Windowds 6.3 64 Bit zurück und opsi-winst ist in der Version 4.11.3.11-1 installiert. Auf dem Rechner mit dem Problem hat opsi-winst die Version 4.11.5.13-1. Vielleicht lieg das Problem ja da...

Gruß fairsein

Re: GetNTVersion gibt NT-OS not identified zurück - Windows 10

Verfasst: 29 Sep 2015, 17:22
von n.wenselowski
Hallo,

wurden die Versionen vorher mit einer Techpreview von Win 10 installiert? Das würde die Version 6.3 erklären.

Win10 wird mit 4.0.6 offiziell unterstützt.
Da gibt es dann auch einen winst, der das kann - in diesem Fall ist der verwendete vermutlich zu alt.


Gruß

Niko

Re: GetNTVersion gibt NT-OS not identified zurück - Windows 10

Verfasst: 29 Sep 2015, 17:30
von fairsein
Hi Niko,

Die anderen Clients wurden nur mit der ältern OPSI Software installiert. Ich denke, dass das auch der Grund für die andere OS Anzeige ist.

Die Frage ist, ob es richtig ist, dass GetNTVersion NT-OS not identified ausgibt. Dann muss ich die Skripte halt anpassen. Nur weiß ich nicht, ob GetNTVersion bei Windows 10 wirklich NT-OS not identified ausgeben sollte oder das eventuell ein Bug ist...

Gruß fairsein

Re: GetNTVersion gibt NT-OS not identified zurück - Windows 10

Verfasst: 29 Sep 2015, 22:36
von SisterOfMercy
GetNTVersion is deprecated, you should use GetMsVersionInfo!

See here: http://download.uib.de/opsi4.0/doc/html ... nctions-os

Re: GetNTVersion gibt NT-OS not identified zurück - Windows 10

Verfasst: 30 Sep 2015, 09:57
von fairsein
Hallo,

Erstmal Danke für die schnelle Info. Reicht es, wenn ich jetzt einfach das vorhandene setup.ins Skript anpasse oder muss man für so eine Änderung noch mehr machen? Meine Frage ist also wie man ein vorhandenes Paket updatet...

Die Änderung im setup.ins Skript wäre:

Code: Alles auswählen

if ( $NTVersion$ = "Win2K" OR $NTVersion$ = "WinXP" OR $NTVersion$ = "Win NT 5.2" OR $NTVersion$ = "Windows Vista" )
wird zu

Code: Alles auswählen

if ( $NTVersion$ = "Win2K" OR $NTVersion$ = "WinXP" OR $NTVersion$ = "Win NT 5.2" OR $NTVersion$ = "Windows Vista" OR $OS$ = "Windows_NT")

Gruß fairsein

Re: GetNTVersion gibt NT-OS not identified zurück - Windows 10

Verfasst: 30 Sep 2015, 10:49
von ueluekmen
Hi,

wie SisterOfMercy schrieb solltest du das GetNtVersion garnicht mehr verwenden, sondern stattdessen: GetMsVersionInfo

Dann bekommst du auch nicht mehr WinXP sondern nur noch die Nummern. Zwei wichtige Dinge für Windows 10: Sehr aktuellen Winst verwenden, da die Erkennung von Windows 10 erst mit den aktuellsten Winst-Versionen sauber funktioniert und zweitens ist ein Problem, dass bei Windows 10 die Nummer: 10.0 liefert, was im Stringvergleich kleiner ist als 6.0 weil 1 > 6... Deshalb solltest du für den Support von Windows 10 das Beispiel aus der Releasenotes von 4.0.6 verwenden: http://download.uib.de/opsi4.0/testing/ ... tes-de.pdf Kapitel 9.

Re: GetNTVersion gibt NT-OS not identified zurück - Windows 10

Verfasst: 30 Sep 2015, 11:04
von fairsein
Hallo ueluekmen,

Danke für den Tip. Reicht es, wenn ich das einfach im setup.ins im Ordner /opt/pcbin/install/ editiere oder sollte ich das anders machen. Ich weiß, dass das eine absolute Anfängerfrage ist...

Gruß fairsein

Re: GetNTVersion gibt NT-OS not identified zurück - Windows 10

Verfasst: 01 Okt 2015, 04:16
von SisterOfMercy
fairsein hat geschrieben:Danke für den Tip. Reicht es, wenn ich das einfach im setup.ins im Ordner /opt/pcbin/install/ editiere oder sollte ich das anders machen. Ich weiß, dass das eine absolute Anfängerfrage ist...
You mean /var/lib/opsi/depot/ ;-)

See this post: viewtopic.php?p=33477#p33477

Re: GetNTVersion gibt NT-OS not identified zurück - Windows 10

Verfasst: 01 Okt 2015, 08:20
von rat
ueluekmen hat geschrieben:Hi,

..... Stringvergleich kleiner ist als 6.0 weil 1 > 6... Deshalb .....
Einspruch Euer Ehren, der Satz müßte lauten:
..... Stringvergleich kleiner ist als 6.0 weil 1 < 6... Deshalb ..... ;)

Aber eine Verständnisfrage zu der Sache: Muß ich eigentlich die Version abfragen? Ich welche Probleme kann ich laufen, wenn ich es nicht tue? Ich habe genau ein OS im Betrieb (eventuell kommt noch ein zweites Serversystem dazu, aber am Client bleibts bei einem) und genau eines als Test für die Zukunft. Demnächst geht das Testsystem in den Betrieb und wenn dies ausläuft, dann kommt das nächste (hoffentlich :o ) rechtzeitig in den Test ......

Kleiner Nachsatz: kann man eigentlich die Ordner für die nichtbenötigten Betriebssysteme ganz brutal löschen oder zumindest verstecken?

Re: GetNTVersion gibt NT-OS not identified zurück - Windows 10

Verfasst: 01 Okt 2015, 08:28
von rat
fairsein hat geschrieben:..... das einfach im setup.ins im Ordner /opt/pcbin/install/ editiere oder sollte ich ....
Ich bin auch ein Anfänger 8-) aber dies müßte eine etwas ältere Opsiinstallation sein. Bei mir liegen die Pakete unter
/home/opsiproducts/
Dort liegen die "Productarbeitsverzeichnisse", die setup.ins editieren, dann das Paket neu packen (also die xyz.opsi erzeugen) und dieses dann erneut bereitstellen, zuvor das Alte "entsorgen" (außer es wird noch benötigt).