Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PowerShell查询SID的AD_Powershell_Active Directory_Guid - Fatal编程技术网

使用PowerShell查询SID的AD

使用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

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

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

现在我有两个问题:

  • 如何查询所有对象的AD并从那里填充SID数组

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

  • 谢谢

    使用非常简单:

    $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编辑我的答案,以数字方式对“-”后面的最后一个字符进行排序