i'm writing simple script delete usmt migration folders after amount of days:
## server list ## $servers = "delorean","adelaide","brisbane","melbourne","newcastle","perth" ## number of days (-3 on 3 days ago) ## $days = -3 $timelimit = (get-date).adddays($days) foreach ($server in $servers) { $deletedusers = @() $folders = get-childitem \\$server\usmt$ | {$_.psiscontainer} write-host "checking server : " $server foreach ($folder in $folders) { if ($folder.lastwritetime -lt $timelimit -and $folder -ne $null) { $deletedusers += $folder remove-item -recurse -force $folder.fullname } } write-host "users deleted : " $deletedusers write-host }
however keep hitting dreaded remove-item : specified path, file name, or both long. qualified file name must less 260 characters, , directory name must less 248 characters.
i've been looking @ workarounds , alternatives revolve around me caring in folder.
i hoping more simple solution don't care folder contents if marked deletion.
is there native powershell cmdlet other remove-item -recurse can accomplish i'm after?
this known limitation of powershell
. work around use dir
cmd (sorry, true).
http://asysadmin.tumblr.com/post/17654309496/powershell-path-length-limitation
Comments
Post a Comment