2013-03-19 52 views
1

我試圖獲取2012年期間被禁用的用戶列表,並且我完全失去了用戶名。我想使用這個腳本的日期範圍內得到禁用的用戶,但它說:「意外的標記‘(’」如何查找在某個日期範圍內被禁用的用戶

get-aduser -filter {(useraccountcontrol:1.2.840.113556.1.4.803:=2)(modifyTimeStamp -gt (get-date 1/1/2012) -and modifyTimeStamp -lt (get-date 12/31/2012))} 

我在做什麼錯在這裏?

回答

1

我不手頭的AD現在,所以我不能實際測試這一點,但是從它的外觀你混合LDAP和PowerShell過濾條件嘗試這樣的事情,而不是:

$filter = "(useraccountcontrol:1.2.840.113556.1.4.803:=2)" 
$start = Get-Date "1/1/2012" 
$end = Get-Date "12/31/2012" 

Get-ADUser -LDAPFilter $filter -Properties "*" | ? { 
    $_.modifyTimeStamp -gt $start -and $_.modifyTimeStamp -lt $end 
} 
+0

謝謝,這似乎工作!出於好奇,問號是什麼? – Pickle 2013-03-19 18:52:43

+0

'?'是['Where-Object']的別名(http://technet.microsoft.com/en-us/library/hh849715.aspx)。 – 2013-03-19 22:26:11

0
#Requires -version 3.0 
(Get-ADUser -Filter {Enabled -eq $false} -SearchBase 'ou=users,dc=domain,dc=com' -Property *)..modifytimestamp 

嘿我從來不知道-Property參數呃。謝謝。

相關問題