0

次のワンライナーを使用して、無効になっておらず、アカウントの有効期限が切れているユーザーのリストを、いくつかのプロパティとともに取得しています。

Get-ADUser -Filter {(Enabled -eq $true) -and (accountExpires -ne 0)} -Properties name, mail, c, physicalDeliveryOfficeName, telephoneNumber, manager, title, description | select-object name, mail, c, physicalDeliveryOfficeName, telephoneNumber, manager, title, description 

示されているようにアカウントの有効期限が切れている人だけでなく、ドメイン内のすべての人を取得することを除いて、機能します。スクリプトの accountExpires 部分を無視するのはなぜですか?

4

1 に答える 1

2

間違った結果の理由は、有効期限が切れていないすべてのアカウントのaccountExpires属性の値が 0 であるという間違った仮定です。私のテストでは、管理者にのみ適用されました。他のすべてのアカウントが[int64]::MaxValueそこにあったため、これをフィルターに含める必要があります。

$Max = [int64]::MaxValue
Get-ADUser -Filter {
    (Enabled -eq $true) -and 
    (accountExpires -ne 0) -and 
    (accountExpires -ne $Max)
}
于 2013-02-25T22:10:19.800 に答える