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

Home-Shares aufräumen

Frage Microsoft Windows Userverwaltung

Mitglied: 30190

30190 (Level 1)

22.05.2006, aktualisiert 30.05.2006, 5457 Aufrufe, 6 Kommentare

User Home-Shares anhand existierender Domain-User aufräumen (löschen).

Hallo an alle,

seit einiger Zeit habe ich die Vermutung dass einige Verzeichnisse auf unserem Home-Share Server (Win2003) nicht mehr aktuell sind.
Damit meine ich dass die User in der Domäne überhaupt nicht mehr existieren.

Gibt es eine einfache Möglichkeit die existierenden User zu ermitteln - die Homeshares auslesen (sind im Profil angegeben, nicht per *.bat oder *.kix) - die "benötigten" Home-Shares gegen eine Liste der vorhandenen laufen zu lassen und alle Home-shares zu nicht existenten Usern anzuzeigen?

Klingt doch eingentlich sehr einfach - ich hab nur keine Startvorstellung. Leider kann ich selber kein VBS und möchte damit meine vielbeschäftigten Kollegen nicht nerven. Ich würde einen Versuch per PHP starten da ich dies kann ist aber nicht wirklich sinnvoll in dieser angelegenheit wie ich finde.

FYI:

ca. 3500 User
Windows 2003 Domain


PS: Ich kann mir nicht vorstellen dass dieses Problem noch kein Anderer hatte. Vielen lieben Dank für jede Hilfe und / oder Info!!


Cheers

Nils
Mitglied: superboh
22.05.2006 um 21:03 Uhr
Hm,

mit VBS kenne ich mich auch nicht so aus, aber mit einer Liste der User und einer Schleife kannst Du die Basisverzeichnisse mit der Zeile

net user HansDampf /Domain | find "Basisverzeichnis"

auslesen. Jetzt noch gegenprüfen und das wars
Sorry, mehr bekomme ich auf die Schnelle nicht zusammen.

Gruß,
Thomas
Bitte warten ..
Mitglied: 30190
24.05.2006 um 13:00 Uhr
Hi superboh,

lieben Dank für die Antwort, leider hilft mir das nicht wirklich weiter bei der Anzahl von Usern.
Das sollte schon ein etwas automatierterer Prozess sein.

Also eine Liste der existierenden User könnte ich hinbekomen.

Ich denke ich werde es dann doch mit PHP machen obwohl dies ja nun als Adminscript nicht wirklich schön unetr Windows ist da es hier keine CLI für PHP gibt - oder kenne ich die nur nicht?

Vielleicht hat jemand hier noch n Hint für mich ...


Ich kann mir wirklich nicht vorstellen dass ich der einzige bin der dieses Problem auf seinen Windows Servern hat ...

hmm...


Lieben Gruß

Nils
Bitte warten ..
Mitglied: superboh
24.05.2006 um 15:20 Uhr
Hi,

also ich meinte schon automatisiert ...
- eine Lister der User erstellen
- eine Liste aller Homeverzeichnisse erstellen
- dann pro User aus der Userliste das Homeverzeichnis mit der Befehlszeile die ich Dir geschrieben habe auslesen und vergleichen ob dieser Pfad in der Liste der Homeverzeichnisse steht. Wenn ja, diese Zeile aus der Liste löschen. Somit wird die Liste immer kürzer und Du hast zum Schluss die Verzeichnisse, welche keinem User zugeordnet sind.

Per Batch bin ich leider nicht so fit dass ich das mit der Schleife grad so aus dem Ärmel schütteln könnte. Persönlich würde ich so was in KIX schreiben.

Der einzige bist Du sicher nicht der das Problem hat, aber gerade bei der Anzahl der User müsste es halt irgendwie geregelt sein, dass wenn ein User gelöscht wird, auch das Homeverzeichnis, das Profil, das Postfach, ... mit gelöscht wird.
Und wenn man Altlasten beseitigen muss, ist das halt 1x Fleissarbeit, entweder ein Script zu schreiben oder es von Hand zu machen.

Versuch mal ob Du weiterkommst, wenn nicht melde Dich nochmal.

Gruß,
Thomas
Bitte warten ..
Mitglied: superboh
30.05.2006 um 00:18 Uhr
Hi Nils,

falls Du es noch nicht selbst gelöst hast ... ich hatte Langeweile ... hier eine Lösung als KIX-Script:

01.
Break on 
02.
 
03.
$Homepfad="\\Server1\Home\" 
04.
 
05.
; Homeverzeichnisse aus ADS auslesen 
06.
$rc=GetUserHome(@DOMAIN) 
07.
 
08.
; Liste der vorhandenen Home-Verzeichnisse erstellen 
09.
$l3=FreeFileHandle() 
10.
$rc=Open($l3,"%TEMP%\Vorhandene_Verzeichnisse.txt",5) 
11.
$FileName = Dir($Homepfad) 
12.
While $FileName <> "" AND @ERROR = 0 
13.
  If $Filename <> "." AND $FileName <> ".." 
14.
    $rc=WriteLine($l3,$Homepfad+$FileName+@CRLF) 
15.
  EndIf 
16.
  $FileName = Dir() 
17.
Loop 
18.
$rc=Close($l3) 
19.
 
20.
; Einträge vergleichen 
21.
Del "C:\nicht_eingetragene_Verzeichnisse.txt" 
22.
$l4=FreeFileHandle() 
23.
$rc=Open($l4,"%TEMP%\Vorhandene_Verzeichnisse.txt",2) 
24.
$l5=FreeFileHandle() 
25.
$rc=Open($l5,"C:\nicht_eingetragene_Verzeichnisse.txt",5) 
26.
$line=ReadLine($l4) 
27.
While @ERROR=0 
28.
  $merker=0 
29.
  For $i = 0 to Ubound($Home) 
30.
    If $Home[$i]=$line 
31.
      $merker=1 
32.
    EndIf 
33.
  Next 
34.
  If $merker=0 ; keine Übereinstimmung gefunden 
35.
    $rc=WriteLine($l5,$line+@CRLF) ; in Liste schreiben 
36.
  EndIf 
37.
  $line=ReadLine($l4) 
38.
Loop 
39.
$rc=Close($l4) 
40.
$rc=Close($l5) 
41.
 
42.
Del "%TEMP%\Vorhandene_Verzeichnisse.txt" 
43.
Exit 
44.
 
45.
Function GetUserHome ($DomainName) 
46.
	Dim $UHome[10000]	 
47.
	$Domain = GetObject("WinNT://" + $DomainName + ",domain") 
48.
	$Container = $Domain 
49.
		For Each $User In $Container 
50.
	  	  If $User.Class = "User" 
51.
	      	$UHome[$x] = $User.HomeDirectory 
52.
	      	$x = $x + 1 
53.
	  	EndIf 
54.
	Next 
55.
	ReDim Preserve $UHome[$x - 1] 
56.
	$Home = $UHome 
57.
	$Domain = 0 
58.
	$Container = 0 
59.
EndFunction
Du musst nur ganz oben den Pfad eintragen, in dem die Homeverzeichnisse liegen.
Das Script liest aus der Benutzerverwaltung von allen Usern den Pfad des Basisverzeichnisses aus. Dann erstellt es eine Liste aller auf dem Server vorhandenen Homeverzeichnisse in %Temp%. Alternativ kannst Du diese Datei auch selbst anlegen und den Teil des Scripts auskommentieren, wenn Du mehr als ein Pfad hast an dem die Homeverzeichnisse liegen.
Als nächstes vergleicht das Script diese vorhandenen Verzeichnisse mit allen Pfaden die es aus der Benutzerveraltung ausgelesen hat. Wenn es einen Pfad nicht findet (sprich kein User hat in eingetragen) landet der Pfadname in einer Text-Datei direkt auf Laufwerk C: .
Diese kannst Du Dir dann mal vornehmen und schauen ob sie wirklich weg können.

Gruß,
Thomas
Bitte warten ..
Mitglied: 30190
30.05.2006 um 09:12 Uhr
Hi Thomas,

WOW !!!

Vielen lieben Dank für die Mühe !! Großer Respekt für die ordentliche nachhaltige Pflege !

Ich habe das script kopiert und werde mir das nachher mal anschauen und evtl. ein bissl anpassen. Hier gibt es ja ein recht gutes Tutorial für *.kix Geschichten.

Leider gibt es hier noch ein paar Stolpersteine die durch eine unsaubere Pflege der server shares enstanden sind ... leider, leider. Doch dafür ham die ja jetzt Dich und mich

Ich werde Dich auf dem Laufenden halten und die Änderunugen posten.


btw. ich bin in den letzten Tagen generell sehr begeistert von administrator.de. Nette, kompetente, ordentliche und tolerante Comunity !



Bis dahin...

Cheers

Nils
Bitte warten ..
Mitglied: gogoflash
30.05.2006 um 12:44 Uhr
Hi,


eine Variante per Batch. Die folgendermassen funktioniert.

Aus einer OU im AD werden die Usernamen exportiert. (Userlist.txt)
Es wird geprüft, ob der jeweilige Nutzer ein Homeverzeichnis hat.
Die Verzeichnise die keinen Besitzer haben werden gemeldet. Ein del muss dann um es scharf zu machen eingebaut werden.

Diese Lösung geht davon aus das die Userverzeichnisse
- in einem Ordner liegen.
- und mit dem Sam Accountnamen übereinstimmen.

Läuft nur auf einem Windows Server ab 2000.

01.
set hpfad=d:\users 
02.
set logpfad=d:\log 
03.
 
04.
REM Variablen setzen fuer AD 
05.
REM DC Namen 
06.
	set domainc=serverA 
07.
REm Domänenname  
08.
	set dc1=wurst 
09.
	set dc2=de 
10.
REM OU Informationen 
11.
	set ou1=Oben 
12.
	set ou2=Users 
13.
 
14.
 
15.
ldifde -f %logpfad%\ExportUsers.ldf -s "%domainc%" -d "ou=%ou2%,ou=%ou1%,dc=%dc1%,dc=%dc2%" -p subtree -r "(objectClass=person)" -l "SamAccountName" >> %logpfad%\log.txt 
16.
for /f "tokens=2 delims= " %%a in ('find "sAMAccountName:" %logpfad%\ExportUsers.ldf ') do (echo %%a >> %logpfad%\userlist.txt) 
17.
 
18.
REM Verzeichnisse ohne Besitzer finden 
19.
for /f %%b in ('dir /b %hpfad%\*.* /a:D') DO findstr %%b %logpfad%\userlist.txt || echo %%b hat keinen Besitzer >> %logpfad%\loeschen.txt 
20.
 
21.
 
22.
REM User ohne HOmeverzeichnis finden 
23.
for /f %%b in (%logpfad%\userlist.txt) do (IF exist %hpfad%\%%b (echo User %%b hat Userverzeichnis unter %hpfad% >> %logpfad%\verzeichnis.txt) else echo User %%b hat kein Userverzeichnis unter %hpfad% >> %logpfad%\verzeichnis.txt) 
24.
 

Gruß Miguel
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Windows Vista
Vista Home Premium nur Basic Key (8)

Frage von Chonta zum Thema Windows Vista ...

Datenschutz
NAS aufräumen (1)

Frage von Kizuko zum Thema Datenschutz ...

TK-Netze & Geräte
gelöst Hardware für Sophos UTM9 Home? (4)

Frage von istike2 zum Thema TK-Netze & Geräte ...

Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...

Microsoft Office
Keine Updates für Office 2016 (11)

Frage von Motte990 zum Thema Microsoft Office ...