Bonjour,
Comme j'ai lancé une question scabreuse, je vais essayer d’y répondre. Heureusement j’avais un long week-end de libre devant moi. Voici un code qui me remplit un fichier avec les ouvertures de session.
Dim obj
CheminBase = "c:\logTSE.log"
On Error Resume Next
Set WshShell = CreateObject("WScript.Shell")
LogonUser = WshShell.ExpandEnvironmentStrings("%USERNAME%")
Set obj = CreateObject("TS.Info")
i = 0
Do While i < 1000
MaVar = ""
If obj.GetSessionInformation(i, WTSUserName) = LogonUser And obj.GetSessionInformation(i, WTSWinStationName) <> "Console" Then
Open CheminBase For Append As #1
MaVar = MaVar + obj.GetSessionInformation(i, WTSUserName)
MaVar = MaVar + ";" + Str(Date)
MaVar = MaVar + ";" + Str(Time)
'MaVar = MaVar + obj.GetSessionInformation(i, WTSInitialProgram) ' vide
'MaVar = MaVar + ";" + obj.GetSessionInformation(i, WTSApplicationName) ' vide
'MaVar = MaVar + ";" + obj.GetSessionInformation(i, WTSWorkingDirectory) ' vide
'MaVar = MaVar + ";" + obj.GetSessionInformation(i, WTSOEMId) ' vide
'MaVar = MaVar + ";" + Str(obj.GetSessionInformation(i, WTSSessionId)) ' id de session
'MaVar = MaVar + ";" + obj.GetSessionInformation(i, WTSWinStationName) ' RDP-Tcp#
'MaVar = MaVar + ";" + obj.GetSessionInformation(i, WTSDomainName) ' Nom de domaine du serveur
'MaVar = MaVar + ";" + obj.GetSessionInformation(i, WTSConnectState) ' état de la connexion
MaVar = MaVar + ";" + Str(obj.GetSessionInformation(i, WTSClientBuildNumber)) 'N° Client ?
MaVar = MaVar + ";" + obj.GetSessionInformation(i, WTSClientName) ' Nom du PC client
'Mavar = Mavar + ";" + obj.GetSessionInformation(i, WTSClientDirectory) ' Dossier courant du client
MaVar = MaVar + ";" + Str(obj.GetSessionInformation(i, WTSClientProductId)) '
'MaVar = MaVar + ";" + Str(obj.GetSessionInformation(i, WTSClientHardwareId))' 0
MaVar = MaVar + ";" + obj.GetSessionInformation(i, WTSClientAddress) ' IP du client
'MaVar = MaVar + ";" + obj.GetSessionInformation(i, WTSClientDisplay) ' Affichage du client
'MaVar = MaVar + ";" + obj.GetSessionInformation(i, WTSClientProtocolType) ' ?
Print #1, MaVar
Close #1
Set obj = Nothing
Exit Do
End If
i = i + 1
Loop