返回并保存特定OU中用户的所有Unix属性

时间:2014-09-24 14:17:48

标签: powershell active-directory quest

作为公司政策的一部分,所有离开公司的员工都会保留其活动目录帐户,这些帐户已被禁用并移至特定OU。这个过程有几个部分需要自动化,但很重要的一部分是取消选中" Unix Enabled"来自ADUC MMC的属性并清除所有Unix属性。这些操作并不总是执行,所以我的任务是清理它。我是Powershell的新手,但对它有足够的理解来制定解决方案。我相信下面的scipt应该这样做(格式化以获得更好的可见性):

Get-ADUser -SearchBase "OU=Disabled Accounts,OU=AnotherOU,DC=mycompany,DC=com" 
-Filter {(Enabled -eq $false)} -Properties SamAccountName | ForEach-Object {
Clear-QasUnixUser $_.SamAccountName
Disable-QasUnixUser $_.SamAccountName
}

它可能不是最优雅的脚本,但它似乎按预期工作。当然,它将在生产之前在测试环境中运行。

我的困境:

我需要在运行它们之前返回所有将被这些命令清除的属性(为了退出)并且我不相信Get-QasUnixUser单独执行此操作。任何人都可以给我一个关于如何回归所有这些信息的想法,也许还有一些关于如何根据用户对其进行排序的专业见解?我知道链接不被认为是合适的答案,但我也理解我所问的问题的范围,所以任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

查看QAS的文档,看起来他们使用开箱即用的架构来达到目的。较新版本似乎使用altSecurityIdentities属性,而旧版本似乎使用Windows附带的各种SFU属性。您可以尝试使用ldifde拍摄用户的快照,为QAS启用它们,拍摄另一个LDIF快照,并将文件区分为一种查看所有QAS更改的方法。

您可以使用Get-ADUser的Properties参数提供要返回的属性列表。它将按用户本地排序,但Sort-Object cmdlet使您能够调整该订单。