我正在编写一个简单的脚本,在特定天数后删除USMT迁移文件夹:
## Server List ##
$servers = "Delorean","Adelaide","Brisbane","Melbourne","Newcastle","Perth"
## Number of days (-3 is over three days ago) ##
$days = -3
$timelimit = (Get-Date).AddDays($days)
foreach ($server in $servers)
{
$deletedusers = @()
$folders = Get-ChildItem \\$server\USMT$ | where {$_.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
}
然而,我一直在遇到可怕的错误提示:Remove-Item : 指定的路径、文件名或两者都太长。完全限定的文件名必须少于 260 个字符,目录名必须少于 248 个字符。
我一直在寻找解决方法和替代方案,但它们都围绕着我关心文件夹中有什么。
我希望有一个更简单的解决方案,因为如果文件夹被标记为删除,我并不真正关心其中内容。
除了 Remove-Item -recurse 之外,是否有其他本地PowerShell cmdlet可以实现我想要的功能?