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, 210 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
Peripheriegeräte
Unterschrank für HP Drucker
Tipp von NixVerstehen vor 1 TagPeripheriegeräte1 Kommentar

Als kurzen Freitags-Tipp möchte ich gerne meinen neuen Drucker-Unterschrank Modell Amica KS 15423W vorstellen. Das Gerät eignet sich hervorragend ...

Windows 10
Windows 10 - Probleme mit Point-And-Print
Tipp von emeriks vor 2 TagenWindows 103 Kommentare

Hi, wir kämpfen z.Z. mit einigen Druckertreibern, welche unter Win10 beim Verbinden eines Druckers von Printserver mit dem Dialog ...

Windows 10

Windows 10 1803 - Ihr Roamingbenutzerprofil wurde nicht vollständig synchronisiert

Anleitung von Deepsys vor 2 TagenWindows 101 Kommentar

Bei allen Windows 10 1803 PCs traten Probleme mit den Servergespeicherten Profilen auf. Das Abmelden dauerte sehr lange und ...

Exchange Server
Exchange - Fehler mit 2018-07 Sicherheitsupdate
Tipp von ArnoNymous vor 4 TagenExchange Server7 Kommentare

Hallo, es gibt mal wieder Freude mit den MS-Updates. KB4338814 führt dazu, dass der Exchange keine Mails mehr zustellt. ...

Heiß diskutierte Inhalte
Humor (lol)
Freitagsfrage: Was tun, wenn der Admin der DAU ist?
gelöst Frage von VoiperHumor (lol)32 Kommentare

Moin Zusammen, Eine nicht ganz ernst gemeinte Frage an die Außendienstler unter uns. Zusammenfassung: Ein Inhouse Admin ruft bei ...

LAN, WAN, Wireless
HP Probook 470 G4 - abbrechende Downloads
Frage von joern1LAN, WAN, Wireless19 Kommentare

Folgendes Problem, für einen Tipp wäre ich dankbar: Bei WLAN-Verbindung zum Internet (nicht LAN) kommt es bei etwas größeren ...

Windows Netzwerk
LTE Modul - Kein Internet trotz Verbindung
Frage von killtecWindows Netzwerk19 Kommentare

Hallo, ich habe hier ein Dell 7390 2-in-1 mit W10 Pro wo ich nachträglich eine LTE-Karte (Original Dell DW5811e ...

Router & Routing
Routing Problem mit Kaskade FritzBox und pfsense zugeriff nur von der firewall auf die clients und 0.0.0.0
Frage von ukl1967Router & Routing17 Kommentare

Hallo, ich habe ein an sich triviales Problem elches ich allerdings nicht gelöst bekomme. NAS 10.5.10.53 Mein Netz baut ...