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