Ответ 1
Логический побитовый и оператор в Powershell -band
.
Предположим, что вы определяете свои значения и описания в хеш-таблице и имеете значение 12 из принтера:
$status = @{1 = "Offline" ; 2 = "Paper Tray Empty" ; 4 = "Toner Exhausted" ; 8 = "Paper Jam" }
$value = 12
Затем это утверждение даст вам текстовые описания:
$status.Keys | where { $_ -band $value } | foreach { $status.Get_Item($_) }
Вы можете определить перечисление в Powershell, но вышеописанное работает так же хорошо, и определение перечислений в Powershell кажется очень большой работой.
Вот статья, в которой рассказывается о том, как использовать побитовые операторы в Powershell.