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