Ich habe begrenzte, Autodidakt Erfahrung mit PowerShell, so ist dies wahrscheinlich etwas Grundlegendes, aber ich kann nicht scheinen, es richtig zu machen.Powershell: Filtern Eigenschaften Gegen Eigenschaften
Ich bin in Active Directory und ich muss eine Liste der Benutzer ziehen, deren E-Mail-Adresse nicht mit ihrem SamAccountName beginnt. (Also, wenn Ihr Login jdoe ist, aber Ihre Email ist [email protected] dann würde Ihr Profil zurückgegeben)
Ich habe das meiste von dem, was ich brauche ... aber ich kann nicht herausfinden, wie man vergleicht die beiden Eigenschaften gegeneinander.
Gerade jetzt habe ich
Get-ADUser -Filter 'enabled -eq $true' -Properties *|
Where {$_.PasswordNeverExpires -eq $false} |
Select Name, SamAccountName, EmailAddress, PasswordNeverExpires
ich ein paar verschiedene Dinge versucht haben zu filtern, was ich brauche, der folgende Befehl zeigt genau das, was ich will (aber natürlich diese Syntax nicht funktioniert)
Get-ADUser -Filter 'enabled -eq $true' -Properties *|
Where {$_.PasswordNeverExpires -eq $false} |
Where-Object EmailAddress -Contains SamAccountName |
Select Name, SamAccountName, EmailAddress, PasswordNeverExpires
Danke!
Sie müssen nur Eigenschaften angeben, die nicht im Standardeigenschaftensatz enthalten sind. Da standardmäßig "Name" und "samAccountName" abgerufen werden, müssen Sie nur "EmailAddress" und "PasswordNeverExpires" angeben. Es wird diese Eigenschaften auf die Liste der Dinge, die es zusätzlich zu den Standard-Eigenschaften abruft. – TheMadTechnician
@TheMadTechnician Korrekt, aber ich bin faul, und indem ich sie in die '$ Properties'-Liste einbeziehe, kann ich die Variable mit' Select-Object' wiederverwenden ;-) –
Oh ja, die -Eigenschaften * sind nur ein Artefakt Ich werde mich anpassen, bevor ich es fertigstelle und die Änderungen vornehme. Vielen Dank! :) – Steve