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

Frage Entwicklung VB for Applications

VBScript AD durchsuchen und Verzeichnisleichen löschen

Mitglied: zmankay

zmankay (Level 1) - Jetzt verbinden

02.07.2008, aktualisiert 03.07.2008, 5063 Aufrufe, 2 Kommentare

Hallo,

ich habe ein Script welches mir in einer AD alle Verzeichnisse löscht, die keinem Benutzer mehr zugeordnet sind. Nun möchte ich aber, dass ich nicht mehr jedesmal die OU angeben muss in dem das Script suchen muss, sondern möchte dass das Script auf der gesamten AD sucht. Dies hätte den Vorteil, dass ich beliebig viele OUs mit Benutzern anlegen kann und das Script nur einmal ausführen muss und nicht ständig an die OU anpassen.

Leider fehlt mir hier absolut der Ansatz, wie ich danach suchen soll, bzw. wie ich eine solche Suche erstelle. Wenn ich unten die OU einfach weglasse, dann sucht mir das Script zwar auf dem Base Level der AD, löscht aber logischerweise alle Verzeichnisse, weil ja auf dem Level keine Benutzer existieren.

Wenn ich nur eine OU angebe, löscht er mir folglich auch die Verzeichnisse von Benutzern aus einer anderen OU.

Es wäre toll, wenn mir jemand eine Idee, oder sogar Lösung für das Problem hat.

Danke

<code>

Const strDomainOU = "LDAP://OU=test, DC=ads,DC=test,DC=local"

Const strDomainPath = "LDAP://OU=test, DC=ads,DC=test,DC=local"
Const strLDAPHead = "LDAP://"
Const strDomain = ",OU=test, DC=ads,DC=test,DC=local"
Const strHomeDirRoot = "\\server\home$\"


/code>
Mitglied: bastla
02.07.2008 um 21:25 Uhr
Hallo zmankay!

Wenn sich Dein Problem auf "Finde alle AD-Benutzer" reduzieren lässt, gäbe es etwa folgende Lösung: Find all users (VBScript)

Anderer Ansatz: List all users and some of their properties in a Windows 2000 AD domain or Windows NT4 domain

Grüße
bastla
Bitte warten ..
Mitglied: zmankay
03.07.2008 um 14:55 Uhr
Das "Finde alle AD-Benutzer" Script ist schon eine gute Sache. Nun ist es aber so, dass ich hier auf einem für mich völlig neuen Gebiet bin.

Ich will das Script

01.
' ------ SCRIPT CONFIGURATION ------ 
02.
strDomainDN = "<DomainDN>"    ' e.g. dc=rallencorp,dc=com 
03.
' ------ END CONFIGURATION --------- 
04.
 
05.
strBase   =  "<LDAP://" & strDomainDN & ">;" 
06.
' To search the whole forest using the global catalog, uncomment the following line: 
07.
' strBase   =  "<GC://" & strDomainDN & ">;" 
08.
 
09.
strFilter = "(&(objectclass=user)(objectcategory=person));"  
10.
strAttrs  = "name;" 
11.
strScope  = "subtree" 
12.
 
13.
set objConn = CreateObject("ADODB.Connection") 
14.
objConn.Provider = "ADsDSOObject" 
15.
objConn.Open "Active Directory Provider" 
16.
set objRS = objConn.Execute(strBase & strFilter & strAttrs & strScope) 
17.
objRS.MoveFirst 
18.
while Not objRS.EOF 
19.
    Wscript.Echo objRS.Fields(0).Value 
20.
    objRS.MoveNext 
21.
wend
mit meinem Löschskript kombinieren.

01.
 
02.
Const strDomainOU		= "LDAP://OU=test,DC=ads,DC=test,DC=local" 
03.
Const strHomeDirRoot    	= "\\server\home$\" 
04.
 
05.
 
06.
' Bind to Domain. Create Array of Users. 
07.
 
08.
Set objDomain = GetObject(strDomainOU) 
09.
objDomain.Filter=Array("user") 
10.
 
11.
' Output error if bind fails. 
12.
If Err.Number <> vbEmpty Then 
13.
    WScript.Quit 
14.
End If 
15.
 
16.
set objFileSystem = CreateObject("Scripting.FileSystemObject") 
17.
set objFolder = objFileSystem.GetFolder(strHomeDirRoot) 
18.
 
19.
'Check every folder for existing user 
20.
 
21.
For Each objSubFolder in objFolder.SubFolders 
22.
 
23.
    bool = false   			'No existing user  
24.
 
25.
     For Each objUser in objDomain	 
26.
         If objSubFolder.Name=objUser.sAMAccountName then 
27.
         bool=true					        'Folder match User  
28.
         End If 
29.
     Next    ' End of objUser 
30.
         
31.
     'check for matched user  
32.
     if not bool then 
33.
        set objDeleteFileSystem = CreateObject("Scripting.FileSystemObject")  
34.
        set objDeleteFolder = objFileSystem.GetFolder(strHomeDirRoot&objSubFolder.Name) 
35.
'	Wscript.Echo("Folder gelöscht:" & objDeleteFolder.Name) 
36.
        objDeleteFolder.Delete true      
37.
     End If 
38.
 
39.
 
40.
Next    ' End of objSubFolder
Ich würde gerne wissen, wo ich da ansetzen muss, dass es funktioniert. Zum Beispiel die Benutzer in ein Array übergegen und das Array an das andere Script, oder beide ineinander packen?. Nur wie, das ist die große Frage.

Danke für Eure Hinweise.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
CSV durchsuchen und löschen
Frage von leonmmBatch & Shell3 Kommentare

Hallo Admins Ich habe eine CSV Datei bekommen (habe schei in der Firma gemacht) In dieser Datei sind umlaute ...

Batch & Shell
Batch zum durchsuchen eines Verzeichnisses inkl. löschen
gelöst Frage von zeroblue2005Batch & Shell4 Kommentare

Hallo Zusammen, ich weiß garnicht, ob man das was ich vorhabe überhaupt so lösen kann aber ich lege einfach ...

Windows Userverwaltung
AD-Benutzer löschen
gelöst Frage von PeterzWindows Userverwaltung3 Kommentare

Hallo, ich Suche ein Script oder ein kleines kostenloses Tool, das mir eine AD-Benutzer samt Profilpfad, Homeverzeichnis und Exchangemailbox ...

Microsoft
Verwaiste Computerkonten aus AD löschen
Frage von petjol3Microsoft6 Kommentare

liebe IT Spezialisten, in einer großen Testumgebung ( 400 SRV, 300 Clients) fallen im Jahre tausende verwaiste Computer-AD-Konten an ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 1 TagLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 2 TagenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 2 TagenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 2 TagenSicherheit10 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Batch & Shell
Meltdown Microsoft Prüf Script - .zip Datei leider leer
gelöst Frage von MasterBlaster88Batch & Shell13 Kommentare

Hallo zusammen, ich patche gerade unsere Windows Server bzgl. der Meltdown Lücke. Patch vorhanden, Reg Keys gesetzt Um das ...

Batch & Shell
Shell-Skript - Syntax error: Unterminated quoted string
Frage von newit1Batch & Shell13 Kommentare

Hallo Ich schreibe ein Skript das eine CSV-Datei in eine mySQL Datenbank schieben soll. Bekomme nach start des Skrips ...

E-Mail
Erfahrungen mit hMailServer gesucht
Frage von it-fraggleE-Mail10 Kommentare

Hallo, meine neue Stelle möchte einen eigenen Mailserver. Ich als Linuxkind war direkt geistig mit Postfix dabei. Leider wollen ...

Entwicklung
VBS: alle PDF-Dateien in einem Ordner gleichzeitig öffnen
gelöst Frage von JuweeeEntwicklung9 Kommentare

Hallo, ich habe in deiner Ordnerstruktur (.\Tagesberichte\xx.18\) mehrere dynamische PDF-Formulare (mit LCD erstellt). Die Berichtsformulare sind im Layout alle ...