yannosch
Goto Top

VBS: alle lokalen Benutzer eines Rechners in einer MsgBox anzeigen lassen

Guten Tag liebe Community!

Habe google durchforstet und Kollegen und Mitarbeiter gefragt, aber keiner konnte mir so wirklich helfen.
Ich versuche den Namen aller lokalen Benutzer aus meinem System auszulesen und in einer einzigen MsgBox anzuzeigen.
Also folgende Situation:
Rechtsklick auf Arbeitsplatz , dann auf Verwaltung.
In der Computerverwaltung auf Lokale Benutzer und Gruppen im Ordner "Benutzer" stehen folgende Benutzer:

test 1
test 2
Administrator
test3

und ich möchte das mein Script diese Benutzernamen in einer MsgBox ausgibt.

bisheriger Lösungsansatz:

Set wshShell = WScript.CreateObject( "WScript.Shell" )
strComputerName = wshShell.ExpandEnvironmentStrings( "%COMPUTERNAME%" )

Set objwmi = GetObject("winmgmts:\\" & strComputerName & "\root\CIMV2")
Set collitems = objwmi.execquery("Select * from win32_useraccount")
For Each objitem In collitems
WScript.Echo objitem.Name
Next


Sollte dies geschehen sein wär einer evtl. noch so nett und könnte mir noch sagen wie ich lokale benutzer mittels VBS auch wieder löschen kann ? ... also Name des zu löschenden Benutzer in ne InputBox und dann ausm System löschen ?

Vielen Dank schonmal im Vorraus, wäre echt sehr dankbar für eine rasche Antwort.
Grüße
Yannosch

Content-Key: 215241

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

Printed on: April 23, 2024 at 14:04 o'clock

Member: colinardo
colinardo Aug 26, 2013 updated at 12:05:45 (UTC)
Goto Top
Hallo Yannosch,
könntest du so machen
strComputer = "."  
Set objWMIService = GetObject("winmgmts:" _  
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")  

Set colItems = objWMIService.ExecQuery _
    ("Select * from Win32_UserAccount Where LocalAccount = True")  
allUsers = ""  
For Each objItem in colItems
    If objItem.Name <> "" Then  
    	allUsers = allUsers & objItem.Name & vbNewLine
    End If
Next

MsgBox "Alle Benutzer dieses Computers: " & vbNewLine & "--------------------------------------" & vbNewLine & allUsers  
strUsername = InputBox("Welchen Benutzer möchtest du löschen?","User löschen")  
If strUsername <> "" Then  
	Set objComputer = GetObject("WinNT://.")  
	objComputer.Delete "user", strUsername  
	MsgBox "Benutzer '" & strUsername & "' wurde gelöscht"   
Else
	MsgBox "Sie haben keinen Benutzernamen angegeben",48  
End If

Grüße Uwe
Member: Yannosch
Yannosch Aug 26, 2013 at 12:32:24 (UTC)
Goto Top
Sau stark , danke dir ! Genau das was ich suchte ! :p