Ключ Powershell Filter фильтрует по свойствам. Чаще всего этот ключ встречается с командами Active Directory. Если мы его используем так:
Get-ADUser -Filter *
То у нас отобразятся все пользователи. Для того что бы узнать свойства, по которым мы можем фильтровать, у нас есть два способа.
Первый - это через Get-Member:
Get-ADUser -Filter * | Get-Member
Второй вариант:
Get-ADGroup -Filter * | SELECT *
Второй вариант просто отобразит все свойства.
Нужно обращать внимание на то, какие данные хранит в себе свойство. Это может быть число, строка, bool и д.р.
Например пользователь может быть включен или выключен и это булевый тип. Что бы выполнить фильтрацию по этому значению нужно сопоставить $true (включен) или $false (выключен):
Get-ADUser -Filter {Enabled -eq $false}
Мы можем искать совпадение по имени, в таких ситуациях это строки:
Get-ADComputer -Filter {Name -Like "*Test*"}
Так же возможно проверять несколько условий:
Get-ADuser -filter {(Name -like "*test*") -or (GivenName -Like "*test*")}
Во многих командах, которые работают объектами AD есть ключ Properties, который выводит дополнительные свойства (например дату создания пользователя). Свойства полученные этим ключом нельзя использовать в фильтре. Они обрабатываются так:
Get-ADObject -Filter * -Properties isDeleted | Where-Object -Property isDeleted -eq $true
Если вам интересно, то вы можете почитать об операторах сравнения Powershell.
...
Подписывайтесь на наш Telegram канал
Теги: #powershell #ad