Hi Chris!
Danke für den Tipp, aber ich brauche alle eingeloggten User. Unter System.environment.* findet man nur die umgebung des Programms dh der User der das Programm ausführt. Wird das Programm unter dem Benutzer System gestartet dann wird dort als Username System angezeigt (zB bei Systemservices - und ich programmier eins unter dem User System).
Mit WMI kann man alle User herausfinden die aktuell eingeloggt sind und die schon mal seit dem letzten systemboot eingeloggt waren. der Sourcecode schaut dazu folgendermaßen aus:
ms = New ManagementScope(ManagementPath.DefaultPath)
q = New SelectQuery(„Win32_LoggedOnUser“)
query = New ManagementObjectSearcher(ms, q)
querycollection = query.Get()
For Each mo In querycollection
o = New ManagementObject(mo(„Dependent“).ToString())
If ((o(„LogonType“).ToString()) = „2“) Then 'only interactive logins
o = New ManagementObject(mo(„Antecedent“).ToString())
Console.WriteLine(o(„Caption“).ToString() & vbCrLf & o(„Description“).ToString() & vbCrLf & o(„SID“).ToString() & vbCrLf & o(„Name“).ToString)
End If
mo.Dispose()
o.Dispose()
Next
Leider liefert mir der ja auch die User die sich schon ausgeloggt haben. Kann sein dass ma einfach einen zusätzlichen parameter setzen muss, aber mit WMI kenn ich mich leider zu wenig aus.
Ideen?
Mfg
Alex