Powershell - Austauschordner löschen
Hallo,
ich habe folgendes Skript
über welches ich auf unserem FileServer (2012 R2) per Aufgabenplanung (jeden letzten im Monat) den Austauschordner lösche und anschließend für jeden User einen Unterordner erstelle.
Seit einiger Zeit habe ich aber das Problem, das teilweise Ordner nicht gelöscht werden. Über die Computerverwaltung ist ersichtlich, dass noch Verbindungen zu den Ordnern oder Dateien in den Ordner offen sind, welche nicht gelöscht werden. Über die Computerverwaltung lassen sich die Verbindungen problemlos schließen und das Skript läuft dann ganz normal zu Ende.
Das Skript läuft mit Administratorrechten.
Ich finde irgendwie keine Ansatzpunkt an dem ich prüfen kann warum die Verbindungen nicht geschlossen werden. Es ist auch nicht an einem Benutzer festzumachen, sind immer verschiedene.
Vielleicht hat jemand von euch eine Idee was hier dazwischen funkt, oder wie ich das Skript besser machen kann, damit der Fehler nicht mehr auftritt.
Danke und Grüße
Cullen
ich habe folgendes Skript
$TargetFolder = "E:\temp\"
$TargetFolderOpen = $TargetFolder + "*"
$OUs = "OU=Abt-1,OU=Standort1,DC=XXX,DC=local",
"OU=Abt-n,OU=Standort1,DC=XXX,DC=local",
"OU=Abt-2,OU=Standort2,DC=XXX,DC=local",
"OU=Abt-n,OU=Standort2,DC=XXX,DC=local"
$Users = $OUs | ForEach-Object { Get-ADUser -Filter * -SearchBase $_ }
$OpenFiles = Get-SmbOpenFile | Where-Object Path -like $TargetFolderOpen
foreach ($File in $OpenFiles)
{
Close-SmbOpenFile -FileId $File.FileId -Force
}
Get-ChildItem $TargetFolder * -Recurse | Remove-Item -Force -Recurse
do
{
Start-Sleep 20
}
while (Test-Path $TargetFolder\*)
foreach ($User in $users)
{
New-Item -Path $TargetFolder -Name $User.Name -ItemType directory
}
über welches ich auf unserem FileServer (2012 R2) per Aufgabenplanung (jeden letzten im Monat) den Austauschordner lösche und anschließend für jeden User einen Unterordner erstelle.
Seit einiger Zeit habe ich aber das Problem, das teilweise Ordner nicht gelöscht werden. Über die Computerverwaltung ist ersichtlich, dass noch Verbindungen zu den Ordnern oder Dateien in den Ordner offen sind, welche nicht gelöscht werden. Über die Computerverwaltung lassen sich die Verbindungen problemlos schließen und das Skript läuft dann ganz normal zu Ende.
Das Skript läuft mit Administratorrechten.
Ich finde irgendwie keine Ansatzpunkt an dem ich prüfen kann warum die Verbindungen nicht geschlossen werden. Es ist auch nicht an einem Benutzer festzumachen, sind immer verschiedene.
Vielleicht hat jemand von euch eine Idee was hier dazwischen funkt, oder wie ich das Skript besser machen kann, damit der Fehler nicht mehr auftritt.
Danke und Grüße
Cullen
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 467957
Url: https://administrator.de/forum/powershell-austauschordner-loeschen-467957.html
Ausgedruckt am: 23.12.2024 um 00:12 Uhr
4 Kommentare
Neuester Kommentar
Hi,
wenn das Script zu einer Zeit läuft, wenn normalerweise kein Benutzer mit diesen Ordnern arbeitet, dann könntest Du zwischenzeitlich die Freigabe sperren, z.B. indem Du diese zwischenzeitlich löschst und abschließend wieder erstellst, oder indem Du die Freigabe-Berechtigungen einschränkst und abschließend wieder restaurierst. Dadurch sollten auch alle Locks geschlossen werden.
E.
wenn das Script zu einer Zeit läuft, wenn normalerweise kein Benutzer mit diesen Ordnern arbeitet, dann könntest Du zwischenzeitlich die Freigabe sperren, z.B. indem Du diese zwischenzeitlich löschst und abschließend wieder erstellst, oder indem Du die Freigabe-Berechtigungen einschränkst und abschließend wieder restaurierst. Dadurch sollten auch alle Locks geschlossen werden.
E.