我需要编写一个PowerShell脚本,在Active Directory中查询某些对象的SID / GUID,并找到范围内可用性最小的SID / GUID。
我想采用立即查询AD的方法,并使用所有SID填充数组,然后按递增顺序对此数组进行排序。然后我将使用我的SID范围的下限初始化变量并与数组进行比较。
现在我有两个问题:
如何在AD中查询所有对象并从那里填充SID数组?
如何比较两个SID值(它们的格式非常复杂)?
谢谢!
答案 0 :(得分:1)
使用Quest module for Active Directory非常简单:
$sidarray = get-qaduser |
select samaccountname, sid |
sort {[Regex]::Replace($_.sid, '\d+$',
{
$args[0].Value.PadLeft(10, '0')
})
}
你可以找到这样的匹配:
$sidmatching = $sidarray | ? { $_.sid -match '-1234$' }