使用PowerShell查询SID的AD
我需要编写一个PowerShell脚本,用于在Active Directory中查询某些对象的SID/GUID,并在某个范围内查找可用的SID/GUID最少的对象 我想采用一次查询AD并用所有SID填充一个数组,然后按递增顺序对该数组进行排序的方法。然后,我将使用SID范围的下限初始化一个变量,并与数组进行比较 现在我有两个问题:使用PowerShell查询SID的AD,powershell,active-directory,guid,Powershell,Active Directory,Guid,我需要编写一个PowerShell脚本,用于在Active Directory中查询某些对象的SID/GUID,并在某个范围内查找可用的SID/GUID最少的对象 我想采用一次查询AD并用所有SID填充一个数组,然后按递增顺序对该数组进行排序的方法。然后,我将使用SID范围的下限初始化一个变量,并与数组进行比较 现在我有两个问题: 如何查询所有对象的AD并从那里填充SID数组 如何比较两个SID值(它们的格式非常复杂) 谢谢 使用非常简单: $sidarray = get-qaduser | s
$sidarray = get-qaduser |
select samaccountname, sid |
sort {[Regex]::Replace($_.sid, '\d+$',
{
$args[0].Value.PadLeft(10, '0')
})
}
您可以找到以下匹配项:
$sidmatching = $sidarray | ? { $_.sid -match '-1234$' }
使用非常简单:
$sidarray = get-qaduser |
select samaccountname, sid |
sort {[Regex]::Replace($_.sid, '\d+$',
{
$args[0].Value.PadLeft(10, '0')
})
}
您可以找到以下匹配项:
$sidmatching = $sidarray | ? { $_.sid -match '-1234$' }
排序sid排序不正确。最后几个字符为111467的SID出现在9877之前。我认为这只是检查第一个数字或soemthing@user1534235编辑我的答案,以数字方式对“-”排序sid未正确排序的最后一个字符进行排序。最后几个字符为111467的SID出现在9877之前。我认为这只是检查第一个数字或soemthing@user1534235编辑我的答案,以数字方式对“-”后面的最后一个字符进行排序