Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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...

Frage Microsoft Windows Userverwaltung

Mitglied: muLio

muLio (Level 1) - Jetzt verbinden

23.08.2007, aktualisiert 24.08.2007, 12301 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 ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Batch & Shell
Mehrere lokale Drucker löschen (4)

Frage von Tealk144 zum Thema Batch & Shell ...

Windows Server
Active Directory User löschen inkl Profilordner (23)

Frage von aif-get zum Thema Windows Server ...

Batch & Shell
gelöst älteste dateien via batch löschen (6)

Frage von cali169 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...