bugger
Goto Top

Powershell - Ordner löschen mit Ausnahme

Hi,

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

Get-WMIObject -class Win32_UserProfile | Where {(!$_.Special) -and ($_.LocalPath -ne "C:\Users\Administrator") -and ($_.ConvertToDateTime($_.LastUseTime) -lt (Get-Date).AddDays(-0))} | Remove-WmiObject  
get-childitem "C:\Users\" -recurse | where {(!$_.Special) -and -not $_.psiscontainer -and ($_.LocalPath -ne "C:\Users\Administrator")} |% {remove-item $_.fullname -force -Recurse -verbose -whatif}  

Der erste Teil funktioniert aber ich würde auch gerne übrig gebliebene Leichen entfernen außer Administrator, Default und Public. Aber irgendwie will das nicht.^^ WhatIf zeigt trotzdem noch Administrator oder gar nichts an. *verwirrt bin*

Danke & Gruß
Bugger

Content-Key: 317884

Url: https://administrator.de/contentid/317884

Ausgedruckt am: 19.03.2024 um 08:03 Uhr

Mitglied: 131026
131026 14.10.2016 aktualisiert um 16:23:16 Uhr
Goto Top
Zum löschen von Profilen ohne vorher mit takeown und Rechten zu hantieren:
https://helgeklein.com/free-tools/delprof2-user-profile-deletion-tool/

get-childitem "C:\Users\" -recurse
?? Du willst nur die Ober-Ordner bekommen und nutzt recurse ??
$_.Special
$_.Localpath
Diese Eigenschaften gibts bei Get-ChildItem nicht.

Gruß R.
Mitglied: Bugger
Bugger 14.10.2016 um 16:25:15 Uhr
Goto Top
Gibt es auch was ohne extra Tools?
Mitglied: 131026
131026 14.10.2016 aktualisiert um 16:30:57 Uhr
Goto Top
Mit takeown den zu löschenden Ordner übernehmen und Rechte auf den Ordner mit icacls setzen,
oder mit robocopy einem "leeren" Dummy-Ordner drüber kopieren.
Mitglied: Bugger
Bugger 17.10.2016 um 11:40:55 Uhr
Goto Top
Ich habe doch bereits volle Rechte auf dem Ordner. Dachte nicht, dass es so schwer ist den Inhalt eines Ordners zu löschen - mit ein paar Ausnahmen...
Mitglied: 131026
131026 17.10.2016 aktualisiert um 11:48:30 Uhr
Goto Top
Ist es ja auch nicht. Die Fehler die du machst habe ich dir oben bereits genannt. Ein bißchen Hirn benutzen sollte jeder schaffen, oder wollen hier alle alles mundgerecht serviert bekommen?!
Mitglied: Bugger
Bugger 17.10.2016 um 11:56:56 Uhr
Goto Top
Jap, mundgerecht klingt gut. Zumal deine Hilfe mich bis jetzt leider kein Stück weitergebracht hat. Wenn es $_.Special nicht gibt, wie muss die Außnahme denn dann heißen für die erwähnten Ordner?
Mitglied: 131026
131026 17.10.2016 aktualisiert um 12:01:32 Uhr
Goto Top
Wie wärs mal mit
gci C:\Users | gm
Dann siehst du welche Eigenschaften die Objekte haben! Deine gewünschte heißt Name.
Zumal deine Hilfe mich bis jetzt leider kein Stück weitergebracht hat.
Dann bist du für Powershell ungeeignet.
Jap, mundgerecht klingt gut.
Klopfst du per PM an, dann gerne gegen Gebühr.
Mitglied: Bugger
Bugger 17.10.2016 um 12:11:28 Uhr
Goto Top
Ach, ich habe schon einiges mit Powershell gebastelt, sowohl alleine als auch mit der Hilfe von einigen netten Mitgliedern hier. Und wenn du mir nicht helfen möchtest ist das OK, das Internet ist groß genug und ich werde schon jemanden finden der gerne anderen hilft auch ohne Gebühr face-wink
Mitglied: 131026
Lösung 131026 17.10.2016 aktualisiert um 13:57:01 Uhr
Goto Top
Wir helfen dir besser indem wir dir so helfen das du selber auf die Lösung kommst indem wir dir Tricks verraten wie du and die Eigenschaften kommst (s.o.) die du dazu brauchst.
Mit Copy n' paste lernst du ja nichts und kommst zwei Tage später wieder face-wink weil du's nicht verstanden hast.

Falls es immer noch nicht Klick gemacht hat:
gci 'C:\Users' -Directory | ?{$_.Name -notin @('Administrator','Public','Default User','Default','All Users')}  
Mitglied: Bugger
Bugger 17.10.2016 um 14:55:42 Uhr
Goto Top
Danke. Beim nächsten Script weiß ich Bescheid. Ich lerne irgendwie immer besser wenn ich die Lösung sehe lol. Man sieht ja ganz klar, was bei der Zeile passiert.^^ Also danke und schöne Woche noch face-wink