重命名文件共享中的文件夹

Rename folders in file share

该脚本正在将我们存储用户配置文件的共享中的文件夹名称与 AD 中的文件夹名称进行比较,并查看哪些已禁用或不存在并对它们进行计数。我现在想获取该列表并将所有不在 AD 中的用户文件夹重命名为 .old

$delusercount = 0
$usernotfoundcount = 0
$foldernames = (Get-ChildItem \kiewitplaza\vdi\appsense_profiles).Name

foreach($name in $foldernames)
{
    try
    {
       $user = get-aduser $name -properties enabled
       if($user.enabled -eq $false)
       {
          $delusercount = $delusercount + 1
       }
    }
    catch
    {
        $usernotfoundcount = $usernotfoundcount + 1
    }
}  

write-host "User disabled in AD count " $delusercount
write-host "User ID NotFound in AD count " $usernotfoundcount 

之后怎么样:

$delusercount = $delusercount + 1

插入:

rename-item "\kiewitplaza\vdi\appsense_profiles$name" `
            "\kiewitplaza\vdi\appsense_profiles$name.old"

更新:

您可能还想在 foreach 语句之后插入:

if($name.EndsWith(".old"))
{
    continue
}

这将防止以前重命名的文件夹被处理并再次重命名,例如用户 Bob 的文件夹变成 Bob.old 然后可能 Bob.old.old 然后 Bob.old.old.old等等。