11 Replies Latest reply on Apr 1, 2011 5:08 AM by CalumField1

    Maximale Anzahl Client / Lizenzen / Shop

    Andree Apprentice
      Hallo.
      Den Titel konnte ich gerade nicht so richtig beschreiben.

      Gibt es eine Möglichkeit eine Software wie folgt einzusetzen?

      Variante A
      - Via Shop können Bestimmte Nutzer/Computer die Software installieren / deinstallieren
      - jedoch sollen nur maximal 3 PCs diese Software gleichzeitig installiert haben.

      Variante B
      - Software wird über eine Gruppe automatisch verteilt
      - Damit andere enteo-Admins nicht mehr als 3 Nutzer hinzufügen, wäre es super wenn das auch abgefangen wird.

      Oder hat jemand eine andere Idee? Fakt ist, wir haben drei Lizenzen und ich möchte diese Anzahl der Installationen nicht überschreiten.
        • 1. Re: Maximale Anzahl Client / Lizenzen / Shop
          CalumField1 Expert
          Tagchen,

          Es gibt ein Shop (niinst32 oder Rechtklick auf der Icon). Dazu muß der Software zugewiesen werden - als Shop Policy.

          Mit ein Shop Policy entscheidet der User wann oder ob er diese Software installiert.

          Wenn du der Shop Policy auf einen User zuweist, dann wird das Software überall installiert wo der User sich einloggen mag.

          Eine Lösung wäre eine dynamische Gruppe zu erstellen. Als Filter nutze der Namen diese 3Pcs. Mittels Shop oder Standard Policy weise der Software auf diese Gruppe zu, und bei der Beschränkungen füge die 3 Mitarbeiter hinzu (die Mitarbeiter mussen vorher in V6 importiert sein).
          • 2. Re: Maximale Anzahl Client / Lizenzen / Shop
            NicoS1 Master
            Hallo Andree,

            spontan würde ich das mit einer Schemaerweiterung lösen.

            Du machst eine Schemaerweiterung und fügst bei Softwarepaketen 2 Eigenschaften hinzu
            "Maximum Installations" und "Current Installations" zum Beispiel.

            Bei Maximum Installations trägst du deine Anzahl der Lizenzen ein. Bei Current Installations dann erstmal 0. Jetzt kannst du im eScript die beiden Werte abprüfen. Wenn bei "Current Installations" die Zahl kleiner ist, als bei "Maximum Installation" kann die Installation durchgeführt werden. Wenn die Zahl gleich oder größer ist, dann entsprechend nicht.

            Wenn die Installation durchläuft kannst du am Ende dann mit ModifyObjectProperty dann die Eigenschaft ändern.

            Evenutell musst du mit Batch oder VB Scripten noch etwas umjonglieren zum Werte vergleichen, erhöhen, kleiner machen. Aber so vom Gundansatz her könnte ich mir vorstellen, dass das funktioniert.

            Bei einer Deinstallation natürlich entsprechend den Wert auch um 1 verringern, wenn er nicht schon 0 sein sollte ;-)

            Es muß zwar nicht unbedingt eine Schemaerweiterung sein. Kann auch eine zentral gelegene .ini Datei sein... aber wäre aufgrund der Managebarkeit denke ich mal am saubersten ;-)

            P.S.: Wie Callum schon sagte, bitte auf keinen Fall einer Benutzergruppe eine Software Policy zuweisen, sonst wirds überall installiert wo er sich einloggt ;-)

            P.S2: Das einfachte wäre wirklich eine organisatorische Regelung: Statische Computergruppe, die 3 Rechner rein und die Kollegen Anweisen, dass es nur mit Rücksprache geändert werden darf.

            Gruß
            • 3. Re: Maximale Anzahl Client / Lizenzen / Shop
              _Mel_ Master
              also selbst wenn man
              - eine stateinfo-schemaerweiterung an software machen kann
              - diese dann mit ModifyObjectProperty modifizieren kann
              (und ich hoffe daß beides nicht geht)

              funktioniert das nicht sobald zwei clients gleichzeitig versuchen die software zu installieren.
              denn was würde passieren: beide clients lesen den wert 0, installieren die software und setzen den wert auf 1 und melden ihn an den server - und hinterher hat man zwei installationen und der lizenzzähler steht auf 1.

              und selbst wenn das funktioniert, geht es spätestens beim einsatz von BLPs schief, weil die geänderten werte nicht zwischen den BLPs repliziert werden und damit jeder BLP effektiv seinen eigenen lizenzzähler hätte.
              • 4. Re: Maximale Anzahl Client / Lizenzen / Shop
                MichaelLink Apprentice
                Ich würde auch den Weg über eine statische Gruppe gehen. Dort die 3 Rechner rein und eine Policy drauf. Wenn du mitkriegen willst, wenn jemand an der Gruppe was geändert hat, hast du über das SOAP-Interface mehrere Möglichkeiten:

                1) Per LDAP die Anzahl der Gruppenmitglieder abfragen
                2) Mit GetPolicyInstanceListByPolicy die Policyinstanzen der Policy abfragen

                Grüsse

                Michael
                • 5. Re: Maximale Anzahl Client / Lizenzen / Shop
                  Andree Apprentice
                  Hallo und danke für die Antworten.

                  Wir haben uns heute hingesetzt und folgenden Schlachtplan ausgedacht.

                  Es wird eine Zentrale (!) Software-Lizenz.ini geben.
                  Hier werden Bereiche für Software, Maximale und derzeitige Lizenzanzahl erstellt sowie die Clients aufgelistet.

                  [Irfanview]
                  MaxInst=100
                  IstInst=xxx
                  XP0001=1
                  XP0002=1
                  etc...

                  [TotalCMD]
                  MaxInst=10
                  IstInst=xx
                  XP0001=1
                  XP0002=1
                  etc....


                  Dann wollen (!) wir mit einer VB Datei diese INI ansprechen:
                  - Softwarenamen
                  - Inst / Deinst (je nach Vorlage)
                  - Hostnamen

                  Das Script soll dann wie folgt prüfen:

                  Bereits installiert
                  --> ja --> installiere
                  --> Nein --> Prüfe
                  Lizenz vorhanden (Vergleich Max / Ist) ?
                  --> ja --> installiere --> erhöhe Ist +1 --> füge Hostnamen hinzug
                  Bei der Variable Deinst dann entsprechend -1 und entfernen des Clients

                  Entsprechene Rückgabewerte müssen natürlich auch gemacht werden
                  0 = Neuer Client, installieren
                  1 = Alter Client, installieren
                  2 = Keine Lizenz, nicht installieren

                  Fehlerquellen:
                  - Client wird neuinstalliert - jedoch mit neuem Namen.



                  Werden berichten wie wir es umgesetzt haben !!!

                  Nachtrag (17:20):
                  Hier mal ein erster Plan als PDF siehe Anlage
                  • 6. Re: Maximale Anzahl Client / Lizenzen / Shop
                    Andree Apprentice
                    Servus.

                    Sind gerade dabei mit VB 2010 etwas zu basteln.
                    Status:
                      Parameter werden von der EXE angenommen
                      INI Datei wird überprüft inkl. Lizenzzählung, Client auflistung, etc
                      Problem: Rückgabewert: VB möchte das nicht wirklich machen. Derzeitige Idee, eine extra Hostname.ini mit dem Rückgabewert den Enteo auslesen soll und dann reagieren soll.
                      Problem: Was passiert wenn zwei gleichzeitig die Datei öffen möchten? Da versuchen wir noch eine Sperr-Schleife zu basteln.

                    Also, wenn jemand eine Idee hat zu den beiden Problemchen ... her mit den Infos.
                    • 7. Re: Maximale Anzahl Client / Lizenzen / Shop
                      _Mel_ Master
                      für den gegenseitigen ausschluß könnt ihr einfach eine zweite datei verwenden, die ihr exklusiv öffnet - nur der, der diese datei geöffnet hat, darf die andere datei modifizieren.
                      (man kann natürlich auch für beides dieselbe datei verwenden, aber da spielen wahrscheinlich die normalen routinen zum zugriff auf inifiles nicht mit)

                      und für den rückgabewert:
                      http://support.microsoft.com/kb/507284/de
                      • 8. Re: Maximale Anzahl Client / Lizenzen / Shop
                        Andree Apprentice

                        für den gegenseitigen ausschluß könnt ihr einfach eine zweite datei verwenden, die ihr exklusiv öffnet - nur der, der diese datei geöffnet hat, darf die andere datei modifizieren.
                        (man kann natürlich auch für beides dieselbe datei verwenden, aber da spielen wahrscheinlich die normalen routinen zum zugriff auf inifiles nicht mit)

                        und für den rückgabewert:
                        http://support.microsoft.com/kb/507284/de



                        Das mit dem Rückgabewert auf der MS Seite hatte ich auch schon gesehen. Jedoch ist das für VB5 (von 1997, Artikel selbst vom 08/2002) und nicht für die Visual Basic 2010
                        Gestern Abend habe den Returncode in eine extra Hostname.ini abgelegt, die dann ggf. von NetInstall gelöscht werden soll.
                        • 9. Re: Maximale Anzahl Client / Lizenzen / Shop
                          Frank.Scholer Master
                          Hi Andree,

                          ich hab sowas auch schon gemacht - aber etwas anders gelöst. Ist etwas umfangreicher, daher hier nur Stichworte:
                          - ein Unterverzeichnis "LicenseControl" unterhalb des Extern$-Verzeichnisses, das direkt unterm Enteo$-Share liegt (wird dann automatisch auf alle Depots repliziert
                          - darunter für jede Software (die die Lizenzverwaltung benötigt) ein eigenes Unterverzeichnis (Name z.B. die ID des Pakets oder die GUID)
                          - darin jeweils ein INI mit der Anzahl der Lizenzen
                          - jeder Client, der das Paket installiert, schreibt in das entspr. Verzeichnis eine Datei namens .lic (kann ruhig leer sein)
                          - bevor ein Client die Installation wirklich ausführt, liest er aus der INI, wieviele Lizenzen vorhanden sind und zählt (über ein kleines VBScript) die Anzahl der .lic Dateien in diesem Verzeichnis
                          - wenn Anzahl < verfügbare Lizenzen -> neue lic-Datei anlegen und dann Software installieren. Falls Fehler auftreten, lic-Datei wieder löschen (weil die Lizenz ja dann nicht verbraucht ist)
                          - wenn Anzahl > verfügbare Lizenzen -> sollte garnicht vorkommen ;-)
                          - wenn Anzahl = verfügb. Lizenzen -> Meldung am Client, dass keine Lizenz mehr verfügbar

                          Der Vorteil dieses Konzepts ist, dass mehrere Clients nicht auf eine gemeinsame Datei zugreifen müssen (und es dadurch nicht zu Zugriffskonflikten kommen kann) und außerdem (durch Ablage im zentralen Extern$) das auch ggfs. über mehrere Depots funktioniert....

                          Ist aber nur ein Vorschlag und hat auch nicht den Anspruch die beste oder einzig mögliche Option zu sein.

                          HTH, Grüße Frank
                          • 10. Re: Maximale Anzahl Client / Lizenzen / Shop
                            _Mel_ Master
                            auch nicht schlecht...
                            wenn du zuerst die licdatei anlegst und dannach zählst, dann wäre auch wenn mehrere clients gleichzeitig laufen sichergestellt, daß nicht zuviel installiert wird.
                            • 11. Re: Maximale Anzahl Client / Lizenzen / Shop
                              Frank.Scholer Master

                              wenn du zuerst die licdatei anlegst und dannach zählst, dann wäre auch  wenn mehrere clients gleichzeitig laufen sichergestellt, daß nicht  zuviel installiert wird.

                              Genau - das hab ich ja auch so geschrieben (oder zumindest fast so ;-)