使用PowerShell为SID查询AD

时间:2012-10-08 11:24:20

标签: powershell active-directory guid

我需要编写一个PowerShell脚本,在Active Directory中查询某些对象的SID / GUID,并找到范围内可用性最小的SID / GUID。

我想采用立即查询AD的方法,并使用所有SID填充数组,然后按递增顺序对此数组进行排序。然后我将使用我的SID范围的下限初始化变量并与数组进行比较。

现在我有两个问题:

  1. 如何在AD中查询所有对象并从那里填充SID数组?

  2. 如何比较两个SID值(它们的格式非常复杂)?

  3. 谢谢!

1 个答案:

答案 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$' }