Dieser Beitrag ist schon älter. Bitte vergewissern Sie sich, dass die Rahmenbedingungen oder der enthaltene Lösungsvorschlag noch dem aktuellen Stand der Technik entspricht.

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

Mitglied: 38873

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: 16.09.2021 um 21:09 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.

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


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


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
info
Israelische Sicherheitsfirma kauft im großen Stil VPN-AnbieterLochkartenstanzerVor 1 TagInformationErkennung und -Abwehr15 Kommentare

Moin, Weil viel hier meinen, sie nutzen einen VPN-Anbieter im Ausland, um sich vor den "Behörden" zu verstecken. Die israelische Sicherheitsfirma Kape Securities kauf im ...

question
Netzwerkstruktur für ein Unternehmen errichtennasir21Vor 1 TagFrageNetzwerke18 Kommentare

Hallo liebes Forum :) Ich habe eine Ausbildung zum Fachinformatiker für Systemintegration gestartet und nun auch meine erste, kleine Projektaufgabe erhalten. Die Aufgabenstellung lautet wie ...

question
Drucker Gäste WLANmarkaurelVor 1 TagFrageLAN, WAN, Wireless23 Kommentare

Hallo zusammen und bitte um eure Hilfe! Ich hab in einer kleinen Schule ein LAN aufgebaut. Mit der Zeit kam natürlich auch der Bedarf an ...

question
Virtualisierungsprojekt für die FacharbeitVentimonusVor 1 TagFrageVirtualisierung15 Kommentare

Heyho, Ich habe mal ein paar fragen, bezüglich meines Abschlussprojektes, ob das alles überhaupt so Sinnig ist wie ich es mir denke. Kurz zur Erläuterung: ...

question
Welcher Harddisk Typ und welches Raid in ServerMazenauerVor 1 TagFrageServer-Hardware21 Kommentare

Grüezi zusammen Was würdet ihr - stand heute und jetzt - für einen Raid Typ erstellen und mit was für Disks? Wünschenswert wäre Ausfallsicherheit von ...

general
HomeServer noch mal anfassen?dertowaVor 12 StundenAllgemeinServer-Hardware20 Kommentare

Hallo zusammen, erst im Juli dieses Jahres habe ich mein Homeserver-System angefasst und ein paar Upgrades vorgenommen. Der Threadripper 1920x wurde durch einen Ryzen 5 ...

general
Backup "to go" für Laptops - wie macht ihr das? gelöst GrinskeksVor 1 TagAllgemeinBackup11 Kommentare

Hallo zusammen, ich frage mich gerade wie ihr das Thema Laptop und Backup angeht. Bei uns sollen nun einige Laptops angeschafft werden und ich tendiere ...

question
An Konsole geht der Root Account über SSH Permission denieditnirvanaVor 1 TagFrageUbuntu17 Kommentare

Hallo, wenn ich bei Ubuntu 16.04 über SSH einlogge, kommt Permission denied. Bin ich aber direct an der Konsole im VMWARE geht der Root User. ...