1

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

我想采用一次查询 AD 并使用所有 SID 填充数组然后按升序对该数组进行排序的方法。然后我将用我的 SID 范围的下限初始化一个变量并与数组进行比较。

现在我有两个问题:

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

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

谢谢!

4

1 回答 1

1

为 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$' }
于 2012-10-08T11:41:10.060 回答