Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

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

Mitglied: muLio

muLio (Level 1) - Jetzt verbinden

23.08.2007, aktualisiert 24.08.2007, 13420 Aufrufe, 16 Kommentare

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
Mitglied: MRosoft
23.08.2007 um 15:06 Uhr
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
Bitte warten ..
Mitglied: muLio
23.08.2007 um 15:13 Uhr
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.
Bitte warten ..
Mitglied: paulepank
23.08.2007 um 16:04 Uhr
Hallo ,

du meinst so ?

01.
for /f "skip=4 tokens=1,2,3" %i in ('net user') do @if not "%i"=="Der" @echo %i >>user.txt & @echo %j >>user.txt & @echo %k >>user.txt

gilt für ein deutsches System
Den Schmus ringsrum schreibst du allein

cu paulepank

EDIT: in einer Batch wird aus % natürlich %%
Bitte warten ..
Mitglied: bastla
23.08.2007 um 16:32 Uhr
... oder, um die bis zu 2 unschönen Zeilen am Ende der Liste zu vermeiden:
01.
for /f "skip=4 tokens=1,2,3" %i in ('net user^|findstr /v "ausgeführt."') do @(echo %i & echo.%j & echo.%k)>>UserList.txt
Grüße
bastla
Bitte warten ..
Mitglied: paulepank
23.08.2007 um 16:45 Uhr
@bastla,

das mach ich doch auch mit "if not ..."

deine Lösung gefällt mir aber auch

cu paulepank
Bitte warten ..
Mitglied: muLio
23.08.2007 um 16:59 Uhr
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 ))

Grüße

muLio
Bitte warten ..
Mitglied: paulepank
23.08.2007 um 17:19 Uhr
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
Bitte warten ..
Mitglied: bastla
23.08.2007 um 17:26 Uhr
@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 ...

@muLio
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
Bitte warten ..
Mitglied: muLio
23.08.2007 um 17:47 Uhr
@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
Bitte warten ..
Mitglied: paulepank
23.08.2007 um 18:12 Uhr
Hallo,

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

@bastla,
wo du Recht hast hast du Recht

cu paulepank
Bitte warten ..
Mitglied: muLio
24.08.2007 um 09:21 Uhr
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
Bitte warten ..
Mitglied: bastla
24.08.2007 um 10:06 Uhr
Hallo muLio!

Da "findstr" mehrere durch Leerstellen getrennte Suchbegriffe akzeptiert, sollte es auch so gehen:
01.
@echo off
02.
del users.txt
03.
for /f "skip=4 tokens=1,2,3" %%i in ('net user^|findstr /v "Der"') do @(echo %%i & echo.%%j & echo.%%k)>>users.txt
04.
for /f %%i in ('findstr /v "Administrator edv_tech Gast" users.txt') do (
05.
	echo Loesche User %%i
06.
	net user %%i /DELETE
07.
	echo User %%i: -^> O.K.
08.
	echo.
09.
	ping 127.0.0.1 -n 10 -w 10000 > NUL
10.
)
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
Bitte warten ..
Mitglied: muLio
24.08.2007 um 10:24 Uhr
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.
Bitte warten ..
Mitglied: bastla
24.08.2007 um 10:29 Uhr
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
Bitte warten ..
Mitglied: muLio
24.08.2007 um 10:32 Uhr
hi bastla

Ja, das ist ja auch richtig. Ich will ja denn die ganzen gefilterten löschen
Bitte warten ..
Mitglied: bastla
24.08.2007 um 10:39 Uhr
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):
01.
net user %%i /DELETE && echo Gelöscht: %%i >> Protokoll.txt
Falls der Löschbefehl ohne Fehler ausgeführt wurde, wird eine entsprechende Zeile ins Protokoll geschrieben.

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Per Batch aktuell angemeldete User auslesen

Frage von Peter32Batch & Shell1 Kommentar

Hallo, ich habe einen Windows-Rechner mit 3 Benutzerkonten auf den man per Remotedesktop zugreifen kann (und man kann sich ...

Batch & Shell

Batch Datei : Via FTP - Ordner und darin enthaltene Dateien lokal downloaden

Frage von koehloBatch & Shell

Ich habe folgendes Problem. Ich möchte auf einen FTP zugreifen und die darin enthaltenen Ordner inkl. den, in den ...

Netzwerke

Serverumzug lokal (physisch)

Frage von freakalabenniNetzwerke10 Kommentare

Hallo Allerseits, ich hätte da eine Frage bzgl. eines Projektes das wir uns für eine unserer Niederlassungen vorstellen. Derzeit ...

Batch & Shell

Batch - erkennen, ob ein Pfad lokal ist oder im Netzwerk liegt

gelöst Frage von zimbosmurfBatch & Shell3 Kommentare

Hallo! Ich möchte mit einer Batchdatei etwas nach %programfiles%, also bei deutschem Windows nach c:\Programme kopieren. Konkret soll ein ...

Neue Wissensbeiträge
Internet
Copyright-Reform: Upload-Filter
Information von Frank vor 15 StundenInternet

Hallo, viele Menschen reden aktuell von Upload-Filtern. Sie reden darüber, als wären es eine Selbstverständlichkeit, das Upload-Filter die Seitenbetreiber ...

Google Android

Blokada: Tracking und Werbung unter Android unterbinden

Information von AnkhMorpork vor 17 StundenGoogle Android1 Kommentar

In Ergänzung zu meinem vorherigen Beitrag: Blokada efficiently blocks ads, tracking and malware. It saves your data plan, makes ...

Google Android
Facebooks unsichtbare Datensammlung
Information von AnkhMorpork vor 17 StundenGoogle Android1 Kommentar

Rund 30 Prozent aller Apps im Play-Store nehmen Kontakt zu Facebook auf, sobald man sie startet. So erfährt der ...

Exchange Server

Exchange 2010 bis 2019 Sicherheitslücke durch CU RU schließen

Information von sabines vor 20 StundenExchange Server

Für die hier: und hier: besprochene Sicherheitslücke ist ein Patch für Microsoft Exchange Server 2010 - 2019 verfügbar. RU ...

Heiß diskutierte Inhalte
Windows 10
Windows Update funktioniert nicht - Keine Verbindung mit dem Updatedienst
gelöst Frage von anveWindows 1030 Kommentare

Hallo, ich kann schon länger keine Updates mehr machen. Wenn ich auf Update suchen gehe, dann schreibt er folgendes: ...

LAN, WAN, Wireless
NETBEUI unter Windows 10
Frage von certifiedit.netLAN, WAN, Wireless26 Kommentare

Guten Abend, wir stehen gerade vor dem Rästel, warum man in einer Industriemaschine (wert gut 6-stellig, paar mal vorhanden) ...

Hardware
Was passiert wenn ein Server zu heiß wird?
Frage von LohrakHardware21 Kommentare

Hallo Sollte ein Server zu heiß werden, da z.B ein Lüfter ausfällt, was würde passieren? Wie meldet sich der ...

Internet
EU-Gremien einigen sich auf die schärfste Form von Upload-Filter und Leistungsschutzrecht
Information von FrankInternet17 Kommentare

Nun ist es . Die Verlage, die in der Vergangenheit das Internet verschlafen hatten und kurz vor ihrer Auflösung ...