Mit Batch - Alle lokale User löschen ausser...

muLio

Lösche alle User ausser Administrator, Service

Hallo

Ich möchte über eine Batch alle User löschen ausser 2 vorgebene User die erhalten bleiben sollen.
Bei den Usern handelt es sich um lokale User die Administratorrechte haben.

Hintergrund der Aktion ist eine Installationsbatch die nach einer Imageerstellung auf dem jeweiligen
Client auszuführen ist. Nachdem das Image aufgesetzt ist sollen alle User gelöscht werden, ausser
eben Administrator und Service. Weiss jemand wie man das bewerkstelligen kann ?

Ich bin für jeden Tipp dankbar.

Grüße

muLio

Content-Key: 66917

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

Ausgedruckt am: 26.01.2022 um 05:01 Uhr

Mitglied: MRosoft
MRosoft 23.08.2007 um 15:06:51 Uhr
Goto Top
Mit diesem Script kannst Du einen expliziten User löschen.

Name: DelUser.vbs

Option Explicit
On Error Resume Next

Dim strComputer
Dim oComputer
Dim oUser
Dim oNetwork
Dim oGroup

'Hier den Namen des zu löschenden Benutzers eintragen
Const cUsername="Benutzername"

'Wie heißt der Rechner
Set oNetwork = WScript.CreateObject("WScript.Network")
strComputer=oNetwork.ComputerName
Set oComputer = GetObject("WINNT://" & strComputer & ",computer")

'Löschen von cUsername
oComputer.Delete "User", cUsername


Die VBS mit cScript DelUser.vbs aufrufen und los geht's
Mitglied: 38873
38873 23.08.2007 um 15:13:29 Uhr
Goto Top
Ich glaube ich wurde missverstanden.

Nochmal eine kurze Erklärung:

Ein Image wird auf ein Notebook installiert (es gibt verschiedene images mit verschiedenen usern [abteilungsspezifisch] )

Nachdem man sich mit dem lokalen Administrator eingelogged hat, startet man "händisch" eine Batch. Diese Batch soll unter anderem alle lokalen User löschen ausser "Administrator" und "Service" <- Das soll automatisch funktionieren.

Mein Problem ist, dass ich nicht weiss wie ich mit Bordmitteln von WindowsXP eine Userliste erstellen kann bei der User für User in einer Zeile steht. Wenn ich das hätte könnte ich alle User löschen ausser "Administrator" und "Service"

Löschen wollte ich die User mit dem Befehl:

net user


Ich hoffe dass das jetzt verständlicher war.
Mitglied: paulepank
paulepank 23.08.2007 um 16:04:57 Uhr
Goto Top
Hallo ,

du meinst so ?



gilt für ein deutsches System
Den Schmus ringsrum schreibst du allein :) face-smile

cu paulepank

EDIT: in einer Batch wird aus % natürlich %%
Mitglied: bastla
bastla 23.08.2007 um 16:32:23 Uhr
Goto Top
... oder, um die bis zu 2 unschönen Zeilen am Ende der Liste zu vermeiden:

Grüße
bastla
Mitglied: paulepank
paulepank 23.08.2007 um 16:45:52 Uhr
Goto Top
@bastla,

das mach ich doch auch mit "if not ..." :) face-smile

deine Lösung gefällt mir aber auch :) face-smile:) face-smile

cu paulepank
Mitglied: 38873
38873 23.08.2007 um 16:59:12 Uhr
Goto Top
Hallo

Erstmal vielen Dank für eure kreativen Antworten.

Ich habs mittlerweile recht easy lösen können.

@echo OFF
cd "C:\Dokumente und Einstellungen"
dir /b > users.txt

Wenn ich das so mache dann schreibt er mir alle schön brav in eine Datei.

Jetzt muss ich nur noch den Administrator und Service Account aus der Datei schmeissen und dann alle anderen User löschen. Wer da noch eine Idee hat -> ich bin für alles offen.

btw: also die Idee mit dir /b find ich irgendwie nice :) face-smile))

Grüße

muLio
Mitglied: paulepank
paulepank 23.08.2007 um 17:19:06 Uhr
Goto Top
Hallo
Mein Problem ist, dass ich nicht weiss wie ich mit Bordmitteln von WindowsXP eine Userliste erstellen kann bei der User für User in einer Zeile steht.

Das hast du ja jetzt.

Wenn ich das hätte könnte ich alle User löschen ausser "Administrator" und "Service"

Das wolltest (und solltest - learning by doing) du also allein machen


@ECHO OFF
cd "C:\Dokumente und
Einstellungen"
dir /b > users.txt

Wenn ich das so mache dann schreibt er mir
alle schön brav in eine Datei.

ja aber
1. auch "All Users" und der wird gebraucht !
2. nur die User, die sich schon mal angemeldet hatten und nicht alle die eingerichtet sind.

cu paulepank
Mitglied: bastla
bastla 23.08.2007 um 17:26:36 Uhr
Goto Top
@paulepank

Ich hatte gemeint, wenn die Useranzahl nicht ein Vielfaches von 3 ist und daher %j und/oder %k leer sind, steht "ECHO ist eingeschaltet (ON)." in der Liste ...

Im übrigen waren wir uns hinsichtlich der Vorgangsweise ja ohnehin ziemlich einig ... :-) face-smile

@38873
Was mich irgendwie interessieren würde - warum sind die User im Image überhaupt drin? Wäre doch eigentlich einfacher, sie gleich vor dem Erstellen des Images zu eliminieren ...

Grüße
bastla
Mitglied: 38873
38873 23.08.2007 um 17:47:18 Uhr
Goto Top
@bastla

Ich arbeite erst seit Juli in dieser EDV Abteilung. Und da muss ich mich halt mit dem zufrieden geben was ich so vorfinde. Warum da teilweise Images mit verschiedenen Usern angelegt sind konnte ich bis jetzt selber auch nicht verstehen. Aber ich versuche es eben einfach so zu umgehen. Da pro Abteilung teilweise 3 verschiedene Images vorhanden sind, ist es etwas schwierig jetzt ein StandardImage zu erstellen. Mein Ansatz war erstmal das alles so hinzubiegen, dass es erstmal funktioniert und vor allem schneller geht.

Diese Usergeschichte ist ja nur ein kleiner Teil der Batch.

@paulepank

Auch hier scheint es ein Verständnisproblem zu geben. Natürlich habe ich nicht vor den Ordner "All Users" zu löschen. Ich habe das lediglich dazu "genutzt" um an die Usernamen ranzukommen. Das war für mich in dem Moment das einfachste was mir eingefallen ist.

Jetzt muss ich ja nur noch - so wie du schon erwähnt hast, alles unnötige aus der users.txt schmeissen und dann User für User einlesen und entsprechend löschen.

Vielen Dank für eure Hilfe ;)

Gruß

muLio
Mitglied: paulepank
paulepank 23.08.2007 um 18:12:11 Uhr
Goto Top
Hallo,

@38873
da dein eigentliches Problem gelöst ist, kannst du den niedlichen grünen Haken setzen.

@bastla,
wo du Recht hast hast du Recht :) face-smile

cu paulepank
Mitglied: 38873
38873 24.08.2007 um 09:21:44 Uhr
Goto Top
Hi Leute

Ich bin heute morgen mit dem Abschnitt User löschen fertig geworden und wollte euch einfach mal das Ergebnis posten.

Vielen Dank and dieser Stelle den beiden Kollegen paulepank sowie basta


@echo OFF
SET APATH="%CD%"

del %TEMP%\users.txt
for /f "skip=4 tokens=1,2,3" %%i in ('net user^|findstr /v "Der"') do @(echo %%i & echo.%%j & echo.%%k)>>%TEMP%\users.txt

findstr /v "Administrator" %TEMP%\users.txt>%TEMP%\users1.txt&findstr /v "edv_tech" %TEMP%\users1.txt>%TEMP%\users2.txt&findstr /v "Gast" %TEMP%\users2.txt>%APATH%\users.txt

For /f "tokens=1" %%i IN (users.txt) DO (
cls
echo Loesche User %%i
net user %%i /DELETE
echo User %%i -> O.K.
ping 127.0.0.1 -n 10 -w 10000 > NUL
)



Viele Grüße
Mitglied: bastla
bastla 24.08.2007 um 10:06:39 Uhr
Goto Top
Hallo muLio!

Da "findstr" mehrere durch Leerstellen getrennte Suchbegriffe akzeptiert, sollte es auch so gehen:
Unterschied (Nachteil?): In "users.txt" stehen bei dieser Variante noch alle User, also auch die nicht zu löschenden.

Falls übrigens bei Deinem Batch die "O.K."-Meldungen nicht sichtbar sein sollten, liegt es daran, dass ">" ohne Maskierung mit "^" als Umleitungszeichen verwendet wird ...

Grüße
bastla
Mitglied: 38873
38873 24.08.2007 um 10:24:23 Uhr
Goto Top
Unterschied (Nachteil?): In
"users.txt" stehen bei dieser
Variante noch alle User, also auch die nicht
zu löschenden.

Falls übrigens bei Deinem Batch die
"O.K."-Meldungen nicht sichtbar
sein sollten, liegt es daran, dass
">" ohne Maskierung mit
"^" als Umleitungszeichen verwendet
wird ...

Grüße
bastla

Wo ist da jetzt der Unterschied was die users.txt angeht ? sie wird doch genauso erstellt wie bei mir ? Und danach laut deiner "for findstr" Variante werden alle user gelöscht bis auf x y z ?

bis auf dass du den findstr in eine for schleife gepackt hast fällt mir da jetzt nichts auf was anders is.

Danke für die Info wg. "Maskierung". Da hab ich wohl einen Fehler gemacht.
Mitglied: bastla
bastla 24.08.2007 um 10:29:30 Uhr
Goto Top
Hallo muLio!

In Deiner "%TEMP%\users.txt" steht der gleiche Inhalt wie in meiner "users.txt" - Du erzeugst aber auch noch abschließend eine gefilterte "%APATH%\users.txt", in welcher nur mehr die zu löschenden User stehen ...

Grüße
bastla
Mitglied: 38873
38873 24.08.2007 um 10:32:25 Uhr
Goto Top
hi bastla

Ja, das ist ja auch richtig. Ich will ja denn die ganzen gefilterten löschen :) face-smile
Mitglied: bastla
bastla 24.08.2007 um 10:39:05 Uhr
Goto Top
Hallo muLio!

Mit Deiner Variante hast Du dann sozusagen eine "Protokolldatei" (zwar nicht der gelöschten, aber zumindest der zu löschenden User) erstellt - deshalb meine Überlegung, ob es ein Nachteil wäre, wenn (wie bei mir) alle User in der Liste stehen ...

Wenn es aber tatsächlich ein Protokoll werden soll, könntest Du noch etwas in der Art versuchen (ungetestet):
Falls der Löschbefehl ohne Fehler ausgeführt wurde, wird eine entsprechende Zeile ins Protokoll geschrieben.

Grüße
bastla
Heiß diskutierte Beiträge
question
LTO-5 Bänder Löschen geht nichtkreuzbergerVor 1 TagFrageBackup23 Kommentare

Hallo ihr Helden, ich hab da ein blödes Problem: Ich habe einen Stapel gebrauchte LTO-5-Bänder bekommen, die soweit völlig i. O. sind. Mit welchem Programm ...

question
Teilenummer für weiße Esprimo Mini-PC?LochkartenstanzerVor 1 TagFrageHardware22 Kommentare

Moin, Ich habe eine eigenwillige Kundin, die einen weißen Fujitsu Esprimo Mini-PC haben will. Und der Kundin ist, wie sollte es anders sein, die Farbe ...

question
Ein Smartphone für privat und geschäftliche NutzungNebellichtVor 1 TagFragePeripheriegeräte5 Kommentare

Hallo, für die Firma werden aktuell Smartphone(s) gesucht, die da eine Dual Sim ermöglichen und zusätzlich trennende Sicherheit, d.h. ein Trennen von privaten Daten und ...

question
Tipp für Firewall mit mehreren DHCP-Instanzen für VLAN gesucht gelöst Holly484Vor 1 TagFrageFirewall5 Kommentare

Hallo zusammen, hatte in einer Gemeinschaftspraxis bisher tolle Erfahrungen mit Netgear über die letzten vielen Jahre gesammelt. Jetzt ist Netgear aus dem Firewall-Business ausgestiegen. Bisher ...

question
Suche nach "Beschreibung"ThabeusVor 1 TagFrageVmware11 Kommentare

Moin, ich stehe gerade auf dem Schlauch bei der Suche nach einer Anleitung. Vielleicht kann mir jemand helfen die "Begrifflichkeit" zu finden. In meinem Netzwerk ...

question
User verschickt mit kryptischer Outlook.com Adresse aus on-prem Exchange 2016LauneBaerVor 1 TagFrageExchange Server10 Kommentare

Servus in die Runde, ich habe ein für mich nicht nachvollziehbares Problem bei einem User, das heute zum 2ten mal aufgetreten ist. Und zwar verschickte ...

question
Windows Admin Center - Zugriff verweigertsaschakpVor 1 TagFrageWindows Update5 Kommentare

Hallo ich habe das Windows Admin Center Installiert, leider bekomme ich beim öffnen die Meldung: Zugriff verweigert Sie sind leider nicht zum Senden dieser Anforderung ...

question
Ransomware verschlüsselte Dateien gelöst ben1300Vor 19 StundenFrageViren und Trojaner4 Kommentare

Hi ! haben ihr ein Notebook, worauf Dateien mit Ransomware verschlüsselt wurden. Die Bilder haben seit dem die Endung JPG.YJQS und lassen sich natürlich nicht ...