PowerShell: Как найти пустые атрибуты
Мы часто ищем атрибуты, но что насчет пустых атрибутов? Как я могу узнать, пуст ли атрибут? Это и есть основной фокус этой статьи. Я покажу практический пример того, как найти эти пустые атрибуты.
Давайте начнем с того, как найти атрибуты, которые НЕ пустые. Следующий код извлекает все атрибуты процесса svchost, которые имеют значение.
$process = Get-Process -Name "svchost" | Select-Object -First 1
$process.PSObject.Properties | Where-Object { $null -eq $_.Value } | Select-Object Name, Value
Поиск пустых атрибутов
Теперь мы ищем пустые атрибуты.
$process.PSObject.Properties | Where-Object { $null -ne $_.Value } | Select-Object Name, Value
Как вы можете видеть, в первом примере мы вызвали атрибуты, которые не пустые, а во втором примере мы вызвали атрибуты, которые пустые.
Более практический пример - это поиск пустых атрибутов для пользователей Active Directory.
Вот пример:
Which users have empty streetaddress?
$property = 'streetaddress'
Get-ADUser -Filter * -Properties $property | Where-Object { $null -eq $_.$property } |
Select-Object Name, $property


