尝试找到一种方法,使用PowerShell V4将来自AD管理员的直接报告复制到另一位经理。
我可以使用以下方式获取直接下属列表:
Get-ADUser $fromuser -Properties directreports | Select-Object -ExpandProperty directreports
但是set-aduser cmdlet没有-directreports属性。
有什么想法吗?
此致
丹
答案 0 :(得分:1)
-Manager
属性不是您想要的吗?您可以使用SamAccountName
或DistinguishedName
$manager = Get-ADUser auser -Properties manager | Select-Object -ExpandProperty Manager
Set-Aduser -Identity otheruser -Manager $manager
从评论中更新
我经常误解你的帖子。 directReports
属性由系统设置。与AD members
中的MemberOf
和directReports
的关系类似,是具有特定经理集的所有用户的集合。为了将直接报告从一个经理复制到下一个经理,您只需要为特定directReport
的每个用户设置经理。例如:
Get-Aduser oldManager -Properties directReports |
Select-Object -ExpandProperty directreports |
Set-ADUser -Manager newManager
根据您的需要,您可能需要稍微玩一下,但最简单的形式是,我们从oldManager中取出directreports
并展开它们以获得Distinguishednames。它被传送到Set-Aduser
,这会将所有这些用户管理器设置为新管理器。