netzwerkdude
Goto Top

Ausgabe vom 3rd Party Tool durchsuchen und vergleichen per Powershell

Moin,

der Lizenzserver von Autodesk lässt sich per Kommandozeile abfragen und liefert ergebnisse in folgender form:

lmutil.exe lmstat -a -c @lizenzserver
lmutil - Copyright (c) 1989-2015 Flexera Software LLC. All Rights Reserved.
Flexible License Manager status on Fri 11/24/2017 10:55

[Detecting lmgrd processes...]
License server status: 27000@lizenzserver
    License file(s) on lizenzserver: C:\Users\user1\Desktop\Autodesk\lizenzserver.lic:

lizenzserver: license server UP (MASTER) v11.13.1

Vendor daemon status (on lizenzserver):

  adskflex: UP v11.13.1
Feature usage info:

Users of 85527MAYA_F:  (Total of 25 licenses issued;  Total of 4 licenses in use)

  "85527MAYA_F" v1.000, vendor: adskflex, expiry: 1-jan-0  
  floating license

    u.user1 Workstation1 Workstation1 (v1.000) (lizenzserver/27000 9976), start Mon 11/20 17:15
    u.user2 Workstation2 Workstation2 (v1.000) (lizenzserver/27000 752), start Thu 11/23 15:32
    u.user2 Workstation3 Workstation3 (v1.000) (lizenzserver/27000 11633), start Fri 11/24 9:48
    u.user3 Workstation4 Workstation4 (v1.000) (lizenzserver/27000 2558), start Fri 11/24 10:40

Users of 85694MAYAMMR1_F:  (Total of 55 licenses issued;  Total of 0 licenses in use)

Users of 85860TRTLPB_F:  (Total of 55 licenses issued;  Total of 0 licenses in use)

Users of 86437TRTLPB_2016_0F:  (Total of 55 licenses issued;  Total of 0 licenses in use)

Users of 86214TRTLPB_2015_0F:  (Total of 55 licenses issued;  Total of 0 licenses in use)

Users of 86095TRTLPB_2014_0F:  (Total of 55 licenses issued;  Total of 0 licenses in use)

Users of 86437MAYAMMR1_2016_0F:  (Total of 55 licenses issued;  Total of 0 licenses in use)

Users of 86213MAYAMMR1_2015_0F:  (Total of 55 licenses issued;  Total of 0 licenses in use)

Users of 86058MAYAMMR1_2014_0F:  (Total of 55 licenses issued;  Total of 0 licenses in use)

Users of 86884MAYA_2018_0F:  (Total of 25 licenses issued;  Total of 0 licenses in use)

Users of 86618MAYA_2017_0F:  (Total of 25 licenses issued;  Total of 4 licenses in use)

  "86618MAYA_2017_0F" v1.000, vendor: adskflex, expiry: 1-jan-0  
  floating license

    u.user1 Workstation1 Workstation1 (v1.0) (lizenzserver/27000 10076), start Mon 11/20 17:15
    u.user2 Workstation2 Workstation2 (v1.0) (lizenzserver/27000 852), start Thu 11/23 15:32
    u.user2 Workstation3 Workstation3 (v1.0) (lizenzserver/27000 11533), start Fri 11/24 9:48
    u.user3 Workstation4 Workstation4 (v1.0) (lizenzserver/27000 2658), start Fri 11/24 10:40

Users of 86437MAYA_2016_0F:  (Total of 25 licenses issued;  Total of 0 licenses in use)

Users of 86213MAYA_2015_0F:  (Total of 25 licenses issued;  Total of 0 licenses in use)

Users of 86058MAYA_2014_0F:  (Total of 25 licenses issued;  Total of 0 licenses in use)

pause
Drücken Sie eine beliebige Taste . . .


Das ist ein vereinfachtes Beispiel - "in wirklichkeit" sind mehrere Server abzufragen bzw. viel mehr User & Produkte
Daher würde ich gerne diese Ausgabe automatisch durchsuchen, und mir anzeigen lassen ob evtl. ein user mehrmals in der Liste auftaucht.

Dabei ist folgendes zu beachten: Die Ausgabe liefert die ergebnisse immer 2x, einmal als gesamtnutzung unter "85527MAYA_F" und einmal die ganeue versionsnutzung unter "86618MAYA_2017_0F"" - d.h. zuerst müsste man die Ausgabe teilen, und sich die einzelnen ergebnisse (diese aufzährung mit u.user1 ... u.user4) einzeln prüfen ob dort ein user mehrmals auftaucht (in diesem beispiel ist es u.user2 der zwei lizenzen benutzt).

Bin schon beim ersten schritt gescheitern da Powershell aus Ergebnissen von anderen Programmen per -Split ein Array erstellt statt "einfach den string zweizuteilen".

Content-Key: 355999

Url: https://administrator.de/contentid/355999

Printed on: April 16, 2024 at 15:04 o'clock

Member: colinardo
Solution colinardo Nov 24, 2017 updated at 10:32:52 (UTC)
Goto Top
Servus,
mit ein bißchen Regex nicht das große Problemchen face-smile
gci "\\Server\Freigabe\*.log" -Recurse -File -PipelineVariable file | %{  
    $doubleusers = [regex]::match((gc $_.Fullname -raw) ,'(?ism)(?:floating license)(.*?)^Users').Groups[1].Value -split '[\r\n]+' | ?{$_ -notmatch '^\s*$'} | %{($_ -split '\s+')[1]} | group -NoElement | ?{$_.Count -gt 1} | select -Expand Name  
    $doubleusers | %{
        write-host "User '$_' ist in Datei '$file' doppelt vorhanden." -F Green   
    }
}
Regular Expressions Tutorial

Grüße Uwe
Member: NetzwerkDude
NetzwerkDude Nov 24, 2017 at 10:50:17 (UTC)
Goto Top
Würde ich Regex können face-smile
Vielen Dank für das Skript!

PS: der Link geht leider nicht
Member: colinardo
colinardo Nov 24, 2017 updated at 11:17:21 (UTC)
Goto Top
Zitat von @NetzwerkDude:

Würde ich Regex können face-smile
Vielen Dank für das Skript!
Keine Ursache.
PS: der Link geht leider nicht
Ups, scheint aber gerade nur temporär offline zu sein.