Перевод Powershell в python, что такое переменная -b и математическая функция? - PullRequest
0 голосов
/ 24 апреля 2020

Я пытаюсь что-то перевести с Powershell на Python, но не понимаю PowerShell.

($UACPropertyFlags.Length) | Where-Object {$UAC -bAnd [math]::Pow(2,$_)} | ForEach-Object {If ($Attributes.Length -EQ 0) {$Attributes = $UACPropertyFlags[$_]} Else {$Attributes = $Attributes + " | " + $UACPropertyFlags[$_]}}
Return $Attributes

Что такое {$ UA C -bAnd [математика] :: Pow (2, $ _)} ? UA C int передается в функцию -b и делает ??? и [math] :: pow поднимает 2 на длину UACPropertyFlagsLength? 2 ^ 32?

Что такое {$ UA C -bAnd [math] :: Pow (2, $ _)} ?

Оригинальный PowerShell пришел из http://woshub.com/decoding-ad-useraccountcontrol-value/

1 Ответ

0 голосов
/ 24 апреля 2020

Вкратце, -band - это двоичный или побитовый оператор AND.

$UACPropertyFlags.Length - количество символов в строковом свойстве или, возможно, количество элементов в этой коллекции. $_ будет таким же значением. [math]::Pow(2,$_) равно 2, возведенное в степень $_.

$UAC -bAnd [math]::Pow(2,$_), следовательно, вероятно, будет значением определенного (возможно, наиболее значимого) бита для числового значения c, равного $UAC , Это будет либо ненулевое число (true), либо 0 (false).

Это простой динамический c тест битовой маски.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...