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

Powershell Ordner Löschen

Mitglied: Sv-Schneider

Sv-Schneider (Level 1) - Jetzt verbinden

11.07.2018, aktualisiert 15:06 Uhr, 282 Aufrufe, 2 Kommentare

Guten Tag,

Ich habe ein Powershellscript geschrieben das aus der Ad die User ausliest und für jeden User jeweils einen Scan Ordnern erstellt
Dies ist mein Scirpt:

01.
Import-Module ActiveDirectory 
02.
 
03.
$Userliste = "C:\Scripts\Ordner_anlage\AD_Export_Ordner.txt" 
04.
 
05.
Get-ADUser -Filter * -SearchBase "OU=**,OU=**,DC=**,DC=**"| Select -ExpandProperty SamAccountName | Out-File $Userliste 
06.
Get-ADUser -Filter * -SearchBase "OU=**,OU=**,DC=**,DC=**"| Select -ExpandProperty SamAccountName | Out-File $Userliste -Append 
07.
 
08.
$Users = Get-Content $Userliste 
09.
 
10.
 
11.
ForEach ($user in $users) 
12.
13.
    if (Test-Path "\\Pfad\Scan\$user"){ 
14.
    # Hier sollte irgendwann gerpüft werden ob der User noch existiert 
15.
16.
    else  { 
17.
        $newPath = Join-Path "\\Pfad\Scan" -childpath $user 
18.
        New-Item $newPath -type directory 
19.
 
20.
        $acl = Get-Acl $newpath 
21.
        $acl.SetAccessRuleProtection($True, $False) 
22.
        $accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule("Domain\$user","AppendData,CreateDirectories,CreateFiles,DeleteSubdirectoriesAndFiles,ExecuteFile,ListDirectory,Modify,Read,ReadAndExecute,ReadAttributes,ReadData,ReadExtendedAttributes,ReadPermissions,Synchronize,Traverse,Write,WriteAttributes,WriteData,WriteExtendedAttributes","ContainerInherit, ObjectInherit","None","Allow") 
23.
        $acl.SetAccessRule($accessRule) 
24.
        $accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule("NT AUTHORITY\SYSTEM","FullControl","ContainerInherit, ObjectInherit","None","Allow") 
25.
        $acl.SetAccessRule($accessRule) 
26.
        $accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule("Domain\Administrator","FullControl","ContainerInherit, ObjectInherit","None","Allow") 
27.
        $acl.SetAccessRule($accessRule) 
28.
        $accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule("Domain\scan","AppendData,CreateDirectories,CreateFiles,DeleteSubdirectoriesAndFiles,ExecuteFile,ListDirectory,Modify,Read,ReadAndExecute,ReadAttributes,ReadData,ReadExtendedAttributes,ReadPermissions,Synchronize,Traverse,Write,WriteAttributes,WriteData,WriteExtendedAttributes","ContainerInherit, ObjectInherit","None","Allow") 
29.
        $acl.SetAccessRule($accessRule) 
30.
        $acl | Set-Acl $newpath 
31.
32.
     
33.
}

Dieses Script Funktioniert auch ohne Probleme.

Ich möchte nun aber eine neue Bedingung undzwar soll der Ordner Gelöscht werden sobald der User in der Ad Gelöscht wird.

Kann mir Jemand helfen wie ich dies am besten Abfrage?


Vielen Dank Schonmal
Mitglied: emeriks
11.07.2018, aktualisiert um 15:04 Uhr
Hi,
zuerst: Benutze bitte Code-Tags! So kann man das ja kaum lesen ....

$newPath = Join-Path "\\Pfad\Scan" -childpath $user
Dieser Logik folgend könntest Du in einem zweiten Durchlauf testen, welche Ordner existieren und ob es den assoziierten Benutzer noch gibt. Die Assoziaition kannst Du entweder über den Ordnernamen herstellen oder über die ACL. Da Du beim Erstellen "Domain\$user" direkt berechtigst, müsstest Du nach dem Löschen des Benutzers in der ACL eine ACE haben, für welche Du die SID nicht in den Benutzernamen auflösen kannst.

E.
Bitte warten ..
Mitglied: colinardo
11.07.2018, aktualisiert um 16:04 Uhr
Auch das gabs schon mal hier:
https://www.administrator.de/forum/ad-user-gel%C3%B6scht-basisordner-ble ...
# Hier sollte irgendwann gerpüft werden ob der User noch existiert
Zu dem Zeitpunkt bringt dir das überhaupt nichts, denn du hast nur alle existierenden User in der Variablen $users die du ja mit Get-ADUser eingelesen hast. Du musst es also separat verarbeiten, nicht in dieser Schleife. Wie das geht steht im o. Link. Btw. wieso erst das ganze in eine Textdatei und dann erneut davon geladen?? => Überflüssig.

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

Powershell - Ordner löschen mit Ausnahme

gelöst Frage von BuggerBatch & Shell10 Kommentare

Hi, ich stehe irgendwie auf dem Schlauch, vielleicht liegt es auch daran, dass Freitag ist :D Suche hat mir ...

Batch & Shell

Powershell - Wenn ein Ordner leer ist, diesen auch löschen hinzufügen?

gelöst Frage von pixel0815Batch & Shell2 Kommentare

Hallo zusammen, das Skript läuft gut und ich dachte kurz darüber Nach ob es möglich ist ohne großen Aufwand ...

Batch & Shell

Powershell - über ACL einen Benutzer für einen Ordner herausfinden und Ordner löschen

gelöst Frage von TheMaDimonBatch & Shell2 Kommentare

Hallo Administrator-Community. Seit Februar mache ich meine Ausbildung zum Anwendungsentwickler und soll mich jetzt in Powershell einarbeiten. Dazu bekam ...

Batch & Shell

Powershell: Dateien nach Version löschen in mehreren Ordnern

gelöst Frage von ImmerKindBatch & Shell4 Kommentare

Hallo zsm Ich habe für mein Backup ein Skript geschrieben. Dieses soll am Ende des Skriptes im Zielordner nachschauen, ...

Neue Wissensbeiträge
Datenschutz

Die Datenkrake Google verlängert ihr Arme mal wieder ein wenig, automatische Anmeldung

Tipp von magicteddy vor 14 StundenDatenschutz2 Kommentare

Benutzer mit einem Google Account und gespeicherten Zugangsdaten werden von chrome 69 automatisch bei Google angemeldet, natürlich alles zum ...

Verschlüsselung & Zertifikate
Meine Wissenssammlung zu Bitlocker
Erfahrungsbericht von DerWoWusste vor 1 TagVerschlüsselung & Zertifikate3 Kommentare

Die Motivation für diesen Beitrag waren die vielen Posts rund um dieses Thema, die deutlich machen, wie viele Einzelaspekte ...

E-Mail
Email-Apps und Verhalten bei Pop3
Erfahrungsbericht von kfranzk vor 3 TagenE-Mail11 Kommentare

Hallo Freunde, da mir mein diesbezüglicher Faden als gelöst markiert wurde, muss ich hier neu aufsetzen. Ich arbeite bewusst ...

Hyper-V

Optimiertes Ubuntu per Microsoft Hyper-V-Schnellerstellung verfügbar

Anleitung von Frank vor 3 TagenHyper-V1 Kommentar

Für Microsofts Virtualisierungssoftware Hyper-V ist ab sofort auch ein optimiertes Ubuntu 18.04.1 LTS verfügbar. In der "Hyper-V-Schnellerstellung" App, die ...

Heiß diskutierte Inhalte
Hardware
Sophos SG135 - Routing
gelöst Frage von Xaero1982Hardware22 Kommentare

Moin Zusammen, ich ersetze gerade nen alten Cisco DualWAN Router durch eine SG 135. Ich muss bestimmte Ziele über ...

E-Mail
Welche ist die beste E-Mail Groupware für die Zukunft?
Frage von ITCrowdSupporterE-Mail18 Kommentare

Guten Tag allerseits :) Ich möchte mich mit einer Frage heute mal an die Schwarmintelligenz wenden. Aktuell befasse ich ...

Netzwerke
Hilfe bei der Planung meines Heimnetzwerks
Frage von DHD082Netzwerke15 Kommentare

Hallo zusammen, wir bauen gerade ein Einfamilienhaus, welches ich mit einem Heimnetzwerk ausstatten möchte. Da ich zwar auch in ...

Windows 7
Mit gpedit gesetzte Richtlinien in rsop.msc nicht definiert und ausgegraut
gelöst Frage von 137006Windows 715 Kommentare

Hallo zusammen, anfangs verweise ich fairerweise daruf dass ich dieses Thema bereits im Forum angeschnitten habe, nachdem ich hier ...