Bonjour,
je cherche un script ou un moyen de surveiller la consommation de licences citrix
merci pour vos reponses
il faudra faire un script WMI
tu cherches quoi exactement?
En fait je cherche un moyen de m alerter sur la consommation de licences
Par exemple alerte si 90 % de licences utilisés ou alerte si utilisation de plus de 900 licences sur 1000
ya dejà la possibilité de définir des alertes dans la console de gestion des licences
oui mais il est nécessaire de vérifier dans la licence management console
J’aimerais créé une alerte par mail ou autre qui ne necessite pas de vérifier dans la console réguliérement
est il possible dinterroger le sereur de licences avec les objets mfcom ?
Il existe ce script que je n’ai pas testé :
This is how I do it. I have the script below scheduled to run every couple of minutes. It will email you when license usage hits the limit (or whatever limit you set). An SMTP server is required.
' Script : CitrixLicCount.vbs
' Description : Check Licenses in use
' Author : Super Pippo
' Date : 7.10.2005
' Revision :
' Argument : none
'
smtpServer = "your SMTP server"
sRecipients = "recipient"
sFrom = "sender"
sSL = "Citrix Licensing Warning"
Const cdoSendUsingMethod = "http://schemas.microsoft.com/cdo/configuration/sendusing"
Const cdoSendUsingPort = 2 '//This is for network, for a localhost smtp server use 1
Const cdoSMTPServer = "http://schemas.microsoft.com/cdo/configuration/smtpserver"
Const cdoSMTPServerPort = "http://schemas.microsoft.com/cdo/configuration/smtpserverport"
Public countLicenses
WarningLimit = 1000 'choose the limit that triggers the alarm
CheckMPSLicUsage
Function CheckMPSLicUsage
CommandLine = "c:program filescitrixlicensinglslmstat -a"
Set objShell = CreateObject("WScript.Shell")
Set oExec = objShell.Exec(CommandLine)
countLicenses = 0
Do Until oExec.StdOut.AtEndOfStream
Input = oExec.StdOut.ReadLine
if InStr(Input, "MPSCLIENT") Then
countLicenses = countLicenses + 1
end if
Loop
End Function
if countLicenses WarningLimit Then
Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")
Set Flds = iConf.Fields
With Flds
.Item(cdoSendUsingMethod) = cdoSendUsingPort
.Item(cdoSMTPServer) = smtpServer
.Update
End With
With iMsg
Set .Configuration = iConf
.To = sRecipients
.CC = sCopy
.From = sFrom
.Sender = sSender
.Subject = sSL
.TextBody = "Citrix Licensing server is using " & countLicenses & " licenses."
.Send
End With
Set iMsg = Nothing
Set iConf = Nothing
End if
http://www.brianmadden.com/Forum/Topic/35819
Bonjour,
WMI...
On Error Resume Next
Const wbemFlagReturnImmediately = &h10
Const wbemFlagForwardOnly = &h20
StrLicencesInfo = ""
arrComputers = Array(inputbox("serveur de licences:"))
For Each strComputer In arrComputers
Set objWMIService = GetObject("winmgmts:" & strComputer & "rootCitrixLicensing")
Set colItems = objWMIService.ExecQuery("SELECT * FROM Citrix_GT_License_Pool", "WQL", _
wbemFlagReturnImmediately + wbemFlagForwardOnly)
For Each objItem In colItems
StrLicencesInfo = StrLicencesInfo & VBCRLF & objItem.PLD & ": " & objItem.InUseCount & "/" & objItem.Count
Next
Next
wscript.echo StrLicencesInfo
Effectivement, c’est plus pratique en WMI.
Par contre Laurent, il faut que tu vire les balises de code, cela déconne.
c’est marrant … c’est-y pas que ce j’avais dit tout en haut ? ok… j’avais pas donné de script mais ya des exemples sur www.citrix.com/cdn
Merci pour les scripts je vais tester cela