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

Printed on: April 24, 2024 at 22:04 o'clock

Mitglied: 131026
131026 Oct 14, 2016 updated at 14:23:16 (UTC)
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.
Member: Bugger
Bugger Oct 14, 2016 at 14:25:15 (UTC)
Goto Top
Gibt es auch was ohne extra Tools?
Mitglied: 131026
131026 Oct 14, 2016 updated at 14:30:57 (UTC)
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.
Member: Bugger
Bugger Oct 17, 2016 at 09:40:55 (UTC)
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 Oct 17, 2016 updated at 09:48:30 (UTC)
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?!
Member: Bugger
Bugger Oct 17, 2016 at 09:56:56 (UTC)
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 Oct 17, 2016 updated at 10:01:32 (UTC)
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.
Member: Bugger
Bugger Oct 17, 2016 at 10:11:28 (UTC)
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
Solution 131026 Oct 17, 2016 updated at 11:57:01 (UTC)
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')}  
Member: Bugger
Bugger Oct 17, 2016 at 12:55:42 (UTC)
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