bountyhunter
Goto Top

Benutzer per WMI auslesen über VB Script?

Hallo,
gibt es eine Möglichkeit über WMI den aktuell angemeldeten Benutzer mit Hilfe eines VB Script auszulesen?
Vielen Dank
Gruß
Michael

Content-Key: 26731

Url: https://administrator.de/contentid/26731

Printed on: April 18, 2024 at 04:04 o'clock

Mitglied: 16568
16568 Feb 23, 2006 at 13:51:29 (UTC)
Goto Top
Jupp, gibt Möglichkeiten, User auszulesen, kann aber gerade nicht.
Melde mich später.


Lonesome Walker
Mitglied: 16568
16568 Feb 23, 2006 at 15:51:22 (UTC)
Goto Top
So, nu etwas mehr Zeit ^^

Also, quick and dirty:


http://www.activevb.de/rubriken/apikatalog/deklarationen/getusername.ht ...


Für eine ausführlichere Erklärung hier noch ma nachfragen.


Gruß

Lonesome Walker
Member: mr.quickly
mr.quickly Mar 01, 2006 at 09:32:01 (UTC)
Goto Top
Gibt es auch eine Möglichkeit zu schauen, ob ein Benutzer angemeldet ist, egal auf welchem Computer (ich spreche von einem Netzwerk mit Win NT, 2k, xp)?
Member: Xaero1982
Xaero1982 Apr 06, 2006 at 05:01:57 (UTC)
Goto Top
So, nu etwas mehr Zeit ^^

Also, quick and dirty:


http://www.activevb.de/rubriken/apikatalog/deklarationen/getusername.ht ...


Für eine ausführlichere
Erklärung hier noch ma nachfragen.


Gruß

Lonesome Walker

Sorry, aber das ist VB und nicht VB Script face-smile

Es geht auch via vb script und wmi, oder einfach mit den Systinternals PSTools.

Mit den PStools kannst du auch nach einem Nutzer suchen.Das dauert aber lange, da er jeden PC im Netz durchsucht...

cmd> psloggedon Username

via wmi gehts nur bei 2000 und höheren Systemen.
Alternativ kannst du WMI auf auf nt4.0 rechnern nachinstallieren (Stichwort: WMI CORE 1.5)

Const WbemAuthenticationLevelPktPrivacy = 6

strComputer = "PCNAME"  
strNamespace = "root\cimv2"  
strUser = "ADMINISTRATOR"  
strPassword = "ADMINPW"  

Set objWbemLocator = CreateObject("WbemScripting.SWbemLocator")  
Set objWMIService = objwbemLocator.ConnectServer _
    (strComputer, strNamespace, strUser, strPassword)
objWMIService.Security_.authenticationLevel = WbemAuthenticationLevelPktPrivacy

Set colItems = objWMIService.ExecQuery _
    ("Select * From Win32_ComputerSystem")  
For Each objItem in ColItems
    Wscript.Echo strComputer & ": " & objItem.UserName  
Next

Die oberen zeilen sind natürlich sehr unsicher. Alternativ kannst du sie mit einer Inputbox abfragen, wobei sich Passwörter nicht verstecken lassen sprich pw = xxxxx.

Haben die Benutzer auf den PC's nur Benutzerrechte bei den W2000 Maschinen? Wenn ja hast du bei WMI ein Problem.
Es geht nicht. Bin derzeitig mit MS in Kontakt um eine Lösung zu finden.

EDIT: Hotfix von MS bekommen -> Ergebnis: Es geht NICHT kotz face-sad