我需要編寫一個查詢Active Directory以查找某些對象的SID/GUID的PowerShell腳本,並在某個範圍內找到最少可用的SID/GUID。使用PowerShell查詢AD for SID
我想採取一次查詢AD的方法,並用所有SID填充數組,然後按遞增順序對此數組進行排序。然後,我將初始化一個變量,使用我的SID範圍的下限並與數組進行比較。
現在我有2個問題:
我如何可以查詢所有對象的AD,並從那裏填充的SID的數組?
如何比較兩個SID值(它們的格式非常複雜)?
謝謝!
我需要編寫一個查詢Active Directory以查找某些對象的SID/GUID的PowerShell腳本,並在某個範圍內找到最少可用的SID/GUID。使用PowerShell查詢AD for SID
我想採取一次查詢AD的方法,並用所有SID填充數組,然後按遞增順序對此數組進行排序。然後,我將初始化一個變量,使用我的SID範圍的下限並與數組進行比較。
現在我有2個問題:
我如何可以查詢所有對象的AD,並從那裏填充的SID的數組?
如何比較兩個SID值(它們的格式非常複雜)?
謝謝!
使用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$' }
sort sid排序不正確。和SID與最後幾個字符爲111467出現在9877之前。我認爲它只是檢查第一個數字或soemthing – user1534235
@ user1534235。不,它只是按字母排序..讓我想.. –
@ user1534235編輯我的答案,以數字方式排序最後一個字符' - ' –
什麼是點2的目標是什麼? –