Boa noite, Alberto. Tudo bom?
Tente com o comando abaixo:
Get-LocalUser | Where-Object Enabled
Neste comando, o Where-Object receberá o texto Enabled como argumento e irá trabalhar desta forma:
- Os itens da coleção dada por
Get-LocalUser possuem uma propriedade chamada Enabled? - Sim! É do tipo
bool! - Então eu vou mostrar apenas os itens em que esta propriedade devolve
True.
Você poderia testar, por exemplo, o comando a seguir:
Get-LocalUser | Where-Object Description
O Where-Object irá exibir apenas os itens que possuem um texto na propriedade Description.
Mas, em seu exemplo, percebi que você quer selecionar apenas a propriedade Enabled e Name. Usando a boa prática de filtro à esquerda e formatação à direita, teremos:
Get-LocalUser | Where-Object Enabled | Select-Object Enabled, Name
Sobre sua abordagem, não é necessário usar o script block { ... }, pois é uma verificação simples. Os script blocks são usados em filtros mais complexos. Mas, mesmo assim, você poderia usar:
Where-Object { $_.Enabled -like True }
ou
Where-Object Enabled -like "True"
Mas estas formas apenas "funcionam", o melhor mesmo seria usar o formato mais simples Where-Object Enabled.
E, indo um pouco além, na linha de comando você pode usar o alias ? para o cmdlet Where-Object e o select para Select-Object. Ficando desta forma:
Get-LocalUser | ? Enabled | select Enabled, Name
O que você acha? Resolvi sua dúvida?
Abs.