Bonjour,

Je cherche à connaître l'état des postes de mon parc (tous sous Win XP).
Il y a 3 états qui m'intéressent :
. Poste inaccessible (éteint, hors réseau, hs ...)
. Poste en session (en cours d'utilisation)
. Poste en session verrouillée (en session, mais utilisateur afk)

Aucun souci pour les 2 premiers états, mais je ne sais pas comment faire (ni si cela est possible) pour obtenir l'info qu'un poste est verrouillé.

Voici les 2 fonctions que j'utilise :

. Poste inaccessible
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
Sub online
Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}!\\").ExecQuery("select * from Win32_PingStatus where address = '" & StrComputer & "'")
For Each objStatus in objPing
If objStatus.Statuscode = 0 Then inaccessible = 1 else inaccessible = 0
Next
End Sub
. Poste en session
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
Sub Session
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & StrComputer & "\root\cimv2")
Set colComputer = objWMIService.ExecQuery ("Select * from Win32_ComputerSystem")
For Each objComputer in colComputer
	UsrName = objComputer.UserName
	if Not IsNull(UsrName) then En_session = 1 else En_session = 0
	End If
Next
End Sub
Quelqu'un aurait-il une idée pour savoir qu'un poste est verrouillé ?
Merci d'avance !