Поиск по сайту:

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