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-ID: 26731

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

Ausgedruckt am: 22.11.2024 um 21:11 Uhr

16568
16568 23.02.2006 um 14:51:29 Uhr
Goto Top
Jupp, gibt Möglichkeiten, User auszulesen, kann aber gerade nicht.
Melde mich später.


Lonesome Walker
16568
16568 23.02.2006 um 16:51:22 Uhr
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
mr.quickly
mr.quickly 01.03.2006 um 10:32:01 Uhr
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)?
Xaero1982
Xaero1982 06.04.2006 um 07:01:57 Uhr
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