Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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
GELÖST

Mit Powershell Benutzerprofile löschen

Frage Entwicklung Batch & Shell

Mitglied: SoullessInk

SoullessInk (Level 1) - Jetzt verbinden

19.07.2011 um 15:47 Uhr, 10986 Aufrufe, 3 Kommentare

Ordner Anwendungsdaten will sich nicht löschen lassen

Hallo,

ich habe aktuell das Problem, dass ich beim Serverneustart (ist ein Remote Desktop Sitzungshost) Benutzerprofile löschen will, die älter sind, als 7 Tage. Die Abfrage wie alt usw. ist alles kein Problem, nur will er nicht die "schreibgeschützten" Ordner unter AppData löschen. Fehlermeldung: Der Zugriff auf den Pfad "C:\users\Benutzer\Anwendungsdaten" wurde verweigert. Auch mit "-force" geht es leider nicht. Kann mir jemand sagen, was ich vergessen habe?

Grüße

SoullessInk
Mitglied: carp-catcher
21.07.2011 um 14:51 Uhr
huhu,
kann dir net sagen was du dafür ins skript schreiben musst,
aber vll hilft es mit administrator rechten zu starten ?

greez
Bitte warten ..
Mitglied: SoullessInk
22.07.2011 um 14:44 Uhr
Hi, danke für die Antwort. Soweit ich weiß, wird das Skript mit den Berechtigungen gestartet, die der startende User inne hält. Es scheint in diesem Sinne also kein Berechtigungsproblem zu sein. Wenn man den Ordner versucht per Hand zu löschen, bekommt man eine Abfrage, das wären Systemdateien und ob man wirklich löschen wolle. Die Powershell ist scheinbar nicht ohne weiteres in der Lage dazu, diese Frage einfach mit "ja" zu beantworten.

Hier mal das aktuelle Codebeispiel:
01.
$heute = Get-Date 
02.
$users2delete = Get-ChildItem ".\users\*" | Where {$_.PSIsContainer} | where {$_.Name -notmatch "administrator*|Default User|All Users|public" } | Where-Object {($Heute - $_.LastWriteTime).Days -gt 7} 
03.
$i = 0 
04.
do{ 
05.
 
06.
$User = $users2delete[$i].Name 
07.
Remove-Item -Path "c:\Users\$User" -recurse -force 
08.
Write-Output "Benutzer $User wurde gelöscht" 
09.
$i++ 
10.
}While ($i -lt $users2delete.Count)
Bitte warten ..
Mitglied: SoullessInk
10.09.2013 um 17:24 Uhr
$profiles = gwmi -Class Win32_UserProfile

Danach muss man eigentlich nur noch schauen, welche Bedingungen erfüllt sein sollten. Bei mir war wichtig, dass der Profilpfad ein "C:\users\*" beinhaltete und die letzte Anmeldezeit länger als sieben Tage zurückliegt. Der Code Dafür sieht folgendermaßen aus:

01.
$now = get-date 
02.
$profiles = gwmi -Class Win32_UserProfile 
03.
foreach ( $pro in $profiles ) { 
04.
$lastlogon = $pro.converttodatetime($pro.lastusetime) 
05.
if ( ($now - $lastlogon).totaldays -ge 7 -and $pro.LocalPath -like "C:\users\*" ) { 
06.
	$pro.Delete() 
07.
08.
}
Vielleicht hilft es ja noch wem.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Powershell - Ordner löschen mit Ausnahme (10)

Frage von Bugger zum Thema Batch & Shell ...

Batch & Shell
gelöst "Konto unbekannt" auf AD-Clients per Powershell löschen (6)

Frage von rudeboy zum Thema Batch & Shell ...

Batch & Shell
gelöst Powershell - Datei prüfen ob vorhanden, dann löschen (9)

Frage von Bugger zum Thema Batch & Shell ...

Neue Wissensbeiträge
Google Android

Cyanogenmod alternative Downloadquelle

(2)

Tipp von Lochkartenstanzer zum Thema Google Android ...

Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(5)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Heiß diskutierte Inhalte
Windows 7
gelöst Lokales Adminprofil defekt (25)

Frage von Yannosch zum Thema Windows 7 ...

LAN, WAN, Wireless
gelöst Statische Routen mit ISC-DHCP Server für Android Devices (22)

Frage von terminator zum Thema LAN, WAN, Wireless ...

Server
gelöst Wie erkennen, dass nur deutsche IPs Zugang zu einer Website haben? (22)

Frage von Coreknabe zum Thema Server ...

Exchange Server
gelöst Migration Exchange 2007 zu 2013 - Public Folder teilweise weg (16)

Frage von Andy1987 zum Thema Exchange Server ...