【发布时间】:2019-04-01 23:00:32
【问题描述】:
我在做一个项目,但我遇到了问题。分配:powershell 脚本必须按名称将 F:UserHome 上的 Home 用户文件夹与 AD 进行比较。如果名称文件夹与 ActiveDirectory 中的名称相同,则不要执行任何操作并继续。
但如果用户不在 AD 中,脚本必须比较:
- 如果主地址包含数据,请将此地址从 F: 移动到 Synology NAS(它是另一台服务器)。
- 如果家庭地址为空,则可以删除/删除。
但我也必须为我的老板将这个家庭 adresar 分类到 2 个文件夹(UserToMove.txt/UserToRemove.txt) - 条件相同。
如果你有什么不明白的地方,我可以再解释一遍。这对我来说非常重要。
这是我创建的脚本,但无法正常工作:- 里面一团糟
$homeDriveRoot = "F:\UserHome"
$leaversRoot = "\new storage on NAS"
$folders = Get-ChildItem $homeDriveRoot | Select -ExpandProperty Name
foreach($folder in $folders) {
$folder
#Compare by name
$u = Get-ADUser -identity $folder -Filter {Enabled -eq $true}|Select ExpandProperty Name
#If>0
if (($u).count -gt 0) {
#If empty - remove
if(($u) -eq $null){ Copy-Object -Path "$homeDriveRoot$_" -Destination C:\Users\branym.adm\desktop\remove.csv -Force}
#If<0 write to file
else{Copy-Object -Path "$homeDriveRoot$_" -Destination C:\Users\branym.adm\Desktop\active.csv -Force};
}
#If dont search
else { echo "lost $u folder"}
}
【问题讨论】:
-
用户主目录是如何命名的?与 AD SamAccountName 相同?
-
嗨,是的。用户名主目录与 AD SamAccountName 相同...
标签: powershell