2
我對PowerShell的自學經驗有限,所以這可能是一些基本的問題,但我似乎無法做到。Powershell:針對屬性過濾屬性
我在Active Directory中,我需要提取電子郵件地址不以SamAccountName開頭的用戶列表。 (所以如果你的登錄是jdoe,但你的電子郵件是[email protected],那麼你的個人資料將被退回)
我已經得到了我所需要的大部分...但我無法弄清楚如何比較這兩個屬性反對海誓山盟。
現在我已經
Get-ADUser -Filter 'enabled -eq $true' -Properties *|
Where {$_.PasswordNeverExpires -eq $false} |
Select Name, SamAccountName, EmailAddress, PasswordNeverExpires
我已經嘗試了一些不同的東西來過濾我需要什麼,下面的命令顯示了我想要的東西(當然這句法不工作)
Get-ADUser -Filter 'enabled -eq $true' -Properties *|
Where {$_.PasswordNeverExpires -eq $false} |
Where-Object EmailAddress -Contains SamAccountName |
Select Name, SamAccountName, EmailAddress, PasswordNeverExpires
謝謝!
Where-Object { $_.EmailAddress -notlike "$($_.SamAccountName)*" }
你甚至可以與第一過濾器結合起來,使用-and
操作:
您只需指定不屬於默認屬性集的屬性。由於默認情況下它拉取'Name'和'samAccountName',所以只需指定'EmailAddress'和'PasswordNeverExpires'。除了缺省值之外,它會將這些屬性粘貼到檢索到的東西列表中。 – TheMadTechnician
@TheMadTechnician正確,但我很懶,並且通過將它們包含在'$ Properties'列表中,我可以通過'Select-Object'重用該變量;-) –
哦,是的--Properties *只是一個神器在我完成它並進行更改之前,我會進行調整。謝謝! :) – Steve