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

时间:2015-06-19 18:24:46

标签: powershell powershell-v4.0

该脚本正在比较共享中的文件夹名称,其中我们将用户配置文件存储到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 

1 个答案:

答案 0 :(得分:3)

刚刚过后:

$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并且等等。