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



作为公司政策的一部分,所有离开公司的员工都保留其active directory帐户,这些帐户将被禁用并移动到特定的OU。这个过程有几个部分需要自动化,但重要的一部分是从ADUC MMC中取消选中"Unix Enabled"属性并清除所有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单独能做到这一点。有人能给我一个如何返回所有这些信息的想法吗?也许还有一些关于如何根据用户对其进行排序的专业见解?我知道链接不被认为是合适的答案,但我也理解我所问问题的范围,所以任何帮助都将不胜感激。

查看QAS的文档,它们似乎使用了开箱即用的模式。较新版本似乎使用altSecurityIdentities属性,而较旧版本似乎使用Windows附带的各种SFU属性。您可以尝试使用ldifde来获取用户的快照,为他们启用QAS,获取另一个LDIF快照,并将文件差异作为查看所有QAS变化的一种方法。

您可以使用Get-ADUser的Properties参数来提供想要返回的属性列表。它将按用户进行本机排序,但是Sort-Object cmdlet使您能够调整该顺序。

最新更新