Para gerar uma lista de utilizadores de licença de Terminal Service por Dispositivo crie um arquivo no bloco de notas com o código abaixo em vermelho e salve com “licencas.vbs”.
Após é só executar o arquivo. Se quiser salvar para um arquivo texto executar no prompt:
cscript licencas.vbs > c:\licencas.txt
‘—————————————————————————-
‘ Inicio do Arquivo
‘—————————————————————————-
SET Args = WScript.Arguments
NameSpace = “root\cimv2”
ClassName = “Win32_TSIssuedLicense”
IF Args.Length > 2 THEN
Help
WSCRIPT.QUIT(1)
END IF
IF Args.Length = 1 THEN
Help
WSCRIPT.QUIT(1)
END IF
IF Args.Length = 2 THEN
‘ Checking if Server Name has been provided
CompResult = strComp(Args(0), “-server”,1)
IF CompResult = 0 THEN
ServerName = Args(1)
ELSE
Help
WSCRIPT.QUIT(1)
END IF
ELSE
‘ if argc.length = 0, no arg supplied
ServerName = “.”
END IF
GeneratePerDeviceReport
WSCRIPT.QUIT
‘—————————————————————————-
‘ FUNCTIONS
‘—————————————————————————-
SUB Help()
WSCRIPT.ECHO “Usage: GeneratePerDeviceReport.vbs [-Server ServerName]”
WSCRIPT.ECHO ” If no ServerName is provided, then report generation”
WSCRIPT.ECHO ” is attempted at host machine”
END SUB
SUB GeneratePerDeviceReport()
Err.Clear
Set ObjWMIService = GetObject(“winmgmts:\\” & ServerName & “\” & NameSpace )
IF ERR.NUMBER <> 0 THEN
WSCRIPT.ECHO “Unable to connect to the Namespace”
WSCRIPT.QUIT(2)
END IF
Set ObjectSet = ObjWMIService.ExecQuery (“Select * from Win32_TSIssuedLicense”)
ReportCountBefore = ObjectSet.Count
‘ No Reports are present
IF ObjectSet.Count = 0 THEN
WSCRIPT.ECHO “No Per Device license issued”
WScript.Quit(5)
END IF
WSCRIPT.ECHO “KeyPackID,LicenseID,IssuedToMachine,HWID,ExpiryDate”
FOR EACH ObjectClass IN ObjectSet
WSCRIPT.ECHO ObjectClass.KeyPackId & “,” & ObjectClass.LicenseId & “,” & ObjectClass.sIssuedToComputer & “,” & ObjectClass.sHardwareId & “,” & ObjectClass.ExpirationDate
NEXT
END SUB
E era isto… by Ajay