1 2 Previous Next 19 Replies Latest reply on Sep 25, 2008 3:27 AM by dkoenig

    Laptop-Erkennung funktioniert nicht

    Ratzratz Expert
      Hallo Zusammen,

      ich bins schon wieder.
      Ich habe ein Problem mit der Laptop-Erkennung für einen FSC AMILO M7400.
      Der wird nicht als Laptop, sondern als normaler Desktop-PC erkannt.

      In der cmsextSvc_0000000001.log steht folgendes:
      08:10.23.101  1 cmsext.dll  --------------------------------------------------------------------------------
      08:10.23.101  1 cmsext.dll  Performing site determination
      08:10.23.101  1 cmsext.dll  --------------------------------------------------------------------------------
      08:10.23.101  1 cmsext.dll  Computer is a testworkstation: No
      08:10.23.101  1 cmsext.dll           Computer is a laptop: No
      08:10.23.101  0 cmsext.dll  Initializing nwcm client DLL now
      08:10.23.121  0 cmsext.dll  Not running on management point. Management point fixed site is not evaluated.


      Da sollte halt eben "Computer is a laptop: Yes" kommen.

      Beim IBM ThinkPad T43 hat die Laptop-Erkennung übrigens funktioniert.

      Unsere Version ist V6.1 Patch 2229.

      Gibt es evtl. einen Weg, dem enteo nachträglich beizubringen, daß der AMILO ein Laptop ist?

      Gruß
      M. Metzger
        • 1. Re: Laptop-Erkennung funktioniert nicht
          dkoenig Apprentice
          Hi,

          ja das ist nicht wirklich schön gelöst. Ein Workaround als Vorschlag:

          1) Erstelle einen neue Schema Extension die Computerseitig geschrieben werden kann (Wird an der Gruppe festgemacht, in der du die SchemaExtension anlegst) als String value.
          2) baue eine eScript das per WMI die Property "Win32_SystemEnclosure\ChassisType" ausliest.
          3) "Normalisiere" /(wenn gewünscht) mit ein paar "IF" im eScript die 24 Type die es gibt (siehe [URL="http://www.microsoft.com/technet/scriptcenter/resources/qanda/sept04/hey0921.mspx"]technet) zu einfachen Typen wie "Laptop"; "Desktop"; "Server", etc.
          4) Schreibe den ganzen Kram per ModifyObjectProperty hoch in deinen SchemaExtension.
          5) Vergiss (bis auf weiteres) die default Eigenschaft Computer\ComputerType

          Gruss Dave
          • 2. Re: Laptop-Erkennung funktioniert nicht
            Ratzratz Expert
            Hallo Dave,

            Danke für Deine schnelle Antwort.

            Das ist äußert interessant, daß man hier eigene Eigenschaften definieren kann.

            Ich weiß jetzt jedoch, warum der Amilo nicht als Laptop erkannt wird.

            Wenn man das VB-Skript in "http://www.microsoft.com/technet/scriptcenter/resources/qanda/sept04/hey0921.mspx" auf dem Laptop startet, wird als Gehäusetyp "Other" zurückgegeben.
            Da sollte eigentlich einer der 3 Werte "Portable", "Laptop" oder "Notebook" zurückgegeben werden.

            Offensichtlich haben die bei FSC da irgendwie geschlampert.

            Ich werde aber weiter ausprobieren, ob man vielleicht noch andere Werte in dieser Klasse "Win32_SystemEnclosure" dazu verwenden kann, ein Mobilgerät zu erkennen.

            Gruß
            M. Metzger
            • 3. Re: Laptop-Erkennung funktioniert nicht
              dkoenig Apprentice
              Hi,

              mh, wenn der ChassisType nicht korrekt befüllt ist, wird dir die Klasse nichts bringen. Aber genau das ist der Grund, warum ich das über ein eScript und eine eigene Property bauen würde. Du kannst im eScript ja auch den Hersteller und das Produkt auslesen und entsprechend deine eigene SchemaExtension auf "Laptop" setzen, wenn du dort ein Amilo findest.

              Das auslesen des Herstellers und des Produktnamen kannst du dann entweder auf Basis des enteo BasicInventory durchführen (Ich glaube über die NI Variable "%CurrentComputer.BasicInventory.Manufacturer%", aber ich bin nicht ganz sicher, weil ich grade Artikel aus dem Kopf schreibe und kein v6 vor mir habe) oder direkt per WMI Abfrage.

              Gruss Dave
              • 4. Re: Laptop-Erkennung funktioniert nicht
                Ratzratz Expert
                Hallo Dave,

                es gibt in dieser Klasse den Wert "Manufacturer".
                Der liefert "FUJITSU SIEMENS"

                Unsere normalen FSCs liefern aber denselben Wert. Daran kann ich es also nicht festmachen.
                "Model" liefert "null".

                Es gibt aber in der Basis-Inventarisierung den Wert "Produkt". Da steht "AMILO M" drin.

                Ich kann also ohne das WMI-Skript prüfen, ob in "Produkt" die Zeichenkette "AMILO" vorkommt.

                Das werde ich mal probieren.

                Gruß
                M. Metzger
                • 5. Re: Laptop-Erkennung funktioniert nicht
                  Ratzratz Expert
                  Hallo Dave,

                  ich habe jetzt eine Schema-Erweiterung "Custum_Mobilgerät" unter "Computer" angelegt, mit der Einstellung "Eigenschafts-Werte in der eMMC festlegen". Das reicht mir aus, da ich auch manuell festlegen kann, ob das ein Laptop ist oder nicht.

                  Wie gehts jetzt weiter?
                  In der Hilfe steht "Die Werte werden vom Administrator in der eMMC manuell für jedes Objekt eingegeben.".
                  Weiter unten kommt "Fügen Sie mithilfe des Kontextmenüs Eigenschaften für Computer, Benutzer oder Pakete hinzu.".

                  Wo finde ich jetzt meine Einstellung "Mobilgerät"?
                  In den Eigenschaften ist sie jedenfalls nicht vorhanden.
                  Im Kontextmenü gibt es auch kein "Mobilgerät".

                  Das sollte jetzt echt klappen, da ich festgestellt habe, daß man diese Custum-Einstellung nicht mehr löschen kann (AAArghhhhh ....).

                  Gruß
                  M. Metzger
                  • 6. Re: Laptop-Erkennung funktioniert nicht
                    dkoenig Apprentice
                    Hi,

                    du findest die neue Property in den Eigenschaften des Computers. Wenn du einen ältere v6 Version hast, musst du die emmc neu starten, dann taucht in den Eigenschaften deine Propertygruppe mit deiner neuen Eigenschaft auf.
                    Allerdings, wenn du die Eingeschaft, ob es ein Laptop oder Server oder sonstwas ist, hättest du auch den Computertyp verwenden können, der standardmässig am Computer hängt. wenn du den einmal manuell veränderst, wird der nicht wieder überschrieben.

                    Das SchemaExtensions nicht wieder gelöscht werden können ist korrekt, cih bin davin ausgegangen das das bekannt ist. Also mit Vorsicht da rangehen.

                    gruss Dave
                    • 7. Re: Laptop-Erkennung funktioniert nicht
                      Ratzratz Expert
                      Hallo Dave,

                      daß man das nicht mehr löschen kann, war mir nicht bekannt. Wir sind seinerzeit in der Schulung nicht so ins Eingemachte gegangen.

                      Wo finde ich "Computertyp"?
                      In den Eigenschaften finde ich das nicht.

                      Gruß
                      M. Metzger
                      • 8. Re: Laptop-Erkennung funktioniert nicht
                        Michi Expert
                        Hi,

                        wenn Du eine Computer Schemaerweiterung anlegst,
                        findest Du das Feld in der emmc im Reiter Eigenschaften des Clients.
                        Dort ist dann ein neuer Punkt mit der Bezeichnung, die Du als Anzeigename vergeben hast.
                        Ggf. die emmc mal neu starten.

                        Gruß,
                        Michi
                        • 9. Re: Laptop-Erkennung funktioniert nicht
                          dkoenig Apprentice
                          Hi,

                          der Computertype ist nur sichtbar, wenn du den Filter in den Eigenschaften ausmacht. Das ist so ein kleiens Trichtersymbol im Header der Computereigenschaften.

                          Gruss Dave
                          • 10. Re: Laptop-Erkennung funktioniert nicht
                            Ratzratz Expert
                            Hallo Michi und Dave,

                            das mit dem Trichter war der entscheidende Hinweis!!!!!!!!

                            Warum nicht gleich so?
                            Ich habe ja ganz am Anfang geschrieben, daß ich auch zufrieden wäre, wenn ich das nachträglich manuell einstellen müsste.

                            Jetzt kann ich ganz ohne dieses Schemaerweiterungs-Gedöns dem enteo sagen daß das ein Laptop ist.

                            Wenn wir schonmal dabei sind. Wir haben auch einige VMs drin (VMware Workstation 5.5), die alle als "Desktop" angezeigt werden, obwohl im Dropdown-Feld auch "Virtual Machine" angeboten wird.
                            Ist es allgemein so, daß diese Architekturen und Chassis-Typen nicht sauber erkannt werden oder hat enteo sowieso geplant, daß das vom Administrator manuell eingestellt wird?

                            Gruß
                            M. Metzger
                            • 11. Re: Laptop-Erkennung funktioniert nicht
                              Ratzratz Expert
                              Ich hätte da noch eine Frage bzgl. der Schemaerweiterungen.

                              Können die evtl. in einer späteren Version (v6.2 etc.) gelöscht werden oder werde ich mit denen in Rente gehen?

                              Gruß
                              M. Metzger
                              • 12. Re: Laptop-Erkennung funktioniert nicht
                                dkoenig Apprentice
                                Das meinte ich am Anfang: Die Erkennung der ComputerTypen tut irgendwie nicht sauber. Du erkennt an der Formulierung, das ich auch nicht genau weiss warum und wieso.
                                Deswegen baue ich gerne einen eigenen Automatismus mit der Schemaerweiterung ein. Ausserdem ist der "ComputerTyp" nicht grade sonderlich gut nutzbar. Du findest dort zum beispiel den Typ "Virtuelle Maschine" und "Server". Was mache ich aber wenn ich eine Server in eine virtuelle Maschine installiere?

                                Mit der Schemaerweiterung die du jetzt angelegt hast, musst du wohl auch längerfristig leben. Sozusagen bis das der Tod euch scheidet ;-)
                                Hintergrund: Beim anlegen einer Schemaerweiterung wird eine neue Tabelle in der Datenbank erstellt und in Beziehungen zu anderen Tabellen gesetzt. Diese Beziehungen automatisiert wieder aufzulösen (was Voraussetzung für das löschen einer Tabellle ist) und die Tabelle wieder zu entfernen und dabei alle referenzielle integritäten zu beachten ist gelinde gesagt: HORROR. Deswegen bin ich ziemlich sicher, das dies ein Feature ist was noch länger auf sich warten lassen wird.
                                Ein Vergleich: Schemaerweiterungen im AD lassen sich erst seit Windows 2003 wieder rückgängig machen. Also haben wir noch ca. 2 Jahre Zeit uns was einfallen zu lassen.
                                • 13. Re: Laptop-Erkennung funktioniert nicht
                                  Ratzratz Expert
                                  Hallo Dave,

                                  das Drama mit dem Computertyp geht weiter,

                                  Ich will in einem eScript prüfen per "If IsLaptop" prüfen, ob der PC ein Laptop ist (siehe Anhang 1).
                                  In der eMMC habe ich den Laptop fest auf "Laptop" eingestellt (siehe Anhang 2).

                                  Nun rate mal, was das eScript ausgibt.
                                  Richtig geraten. Es gibt "kein Mobilgerät" aus.

                                  In der "cmsextSvc_0000000004.log" erscheint immer noch "Computer is a laptop: No".

                                  In der "NISRV32_6.LOG" erscheint:
                                  08:10:50.389 2        ---->Starting installation of "Prüfen auf Mobilgerät"

                                  08:10:50.389 1        Evaluating condition "IsLaptop"
                                  08:10:50.389 2        Condition FALSE  -> skipping IF part
                                  08:10:50.389 2        Skipping command : MsgBox


                                  08:10:50.389 1        Evaluating condition "not IsLaptop"
                                  08:10:50.389 2        Condition TRUE  -> entering IF part

                                  08:10:50.389 2        ->  MsgBox  kein Mobilgerät
                                  08:19:24.000 2        xniFPS: '{D9B968F8-6A9F-4E7A-92FD-8F0B3558C9B9}' is installed
                                  08:19:24.000 1        FPSClnt.dll: --------------- FpsClientAnnounceFilePackageState interface called ---------------
                                  08:19:24.070 1        FPSClnt.dll: --------------- FpsClientAnnounceFilePackageState finished ---------------
                                  08:19:24.070 1        xniFPS: Switching package folder for package 'Prüfen auf Mobilgerät' to 'C:\Programme\Gemeinsame Dateien\enteo\RepositoryCache\35254\rev\3\'.
                                  08:19:24.070 1        FPS.dll: --------------- FpsCloseFilePackage interface called ---------------
                                  08:19:24.070 2        FPS.dll: Closing the file package '\\?\C:\Programme\Gemeinsame Dateien\enteo\RepositoryCache\35254\rev\3\'.
                                  08:19:24.070 1        FPS.dll: --------------- FpsCloseFilePackage finished ---------------

                                  08:19:24.070 2        ---->Installation of Prüfen auf Mobilgerät complete.


                                  Er glaubt es mir also immer noch nicht, daß das ein Laptop ist. Das eScript scheint sich für diese Einstellung in der eMMC nicht zu interessieren.

                                  Ich bräuchte das halt, weil ich mit Basis-Inventar-Voraussetzungen arbeiten will, um Pakete unter bestimmten Bedingungen auszurollen oder eben auch nicht.

                                  Gruß
                                  M. Metzger
                                  • 14. Re: Laptop-Erkennung funktioniert nicht
                                    mle Apprentice
                                    Hallo,

                                    die Laptoperkennung (IsLaptop) die hier abgefragt wird kommt nicht über die "eMMC" Einstellungen, sondern über die NCP Einstellungen in der Infrastruktur (siehe Screenshot). Hier muss jedoch selbst eine Eigenschaft definiert werden, z.B. anhand des Namens, hier kann auch mit Wildcards gearbeitet werden.

                                    Grüße
                                    Marc
                                    1 2 Previous Next