- - PR -
WindowsPowerShellでのビット演算について
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-08-03 17:19
OpSと申します。宜しくお願いします。
WindowsPowerShellを使って、ADユーザーの期限切れユーザーのアカウントが 無効になっているかを調べています。 例えば、 Get-QADUser -name 'user' | Select-Object name,DN,accountExpires,userAccountControl | Where-Object {$_.accountExpires -lt (Get-Date)} | Where-Object {$_.userAccountControl -and 0x002} とした場合、 指定ユーザーのアカウントが無効なら、そのユーザーを表示することを期待していました。この場合、アカウントが有効でも、そのユーザーを表示してしまいます。 どうやら、$_.userAccountControl -and 0x002 のビット演算が機能していないように 見られます。 例えば PS > $A=4 PS > if( $A -and 0x002) {$A} 4 となります。 どのようにしたら、ビット演算ができるかを知りたく投稿しました。 | ||||
|
投稿日時: 2007-08-04 16:10
こんにちは。
-and 演算子ではなく -band 演算子を使うとうまくいくと思います。
_________________ 上本亮介 (ue) @ わんくま同盟 Microsoft MVP for VSTO (Jul 2008 - Jun 2009) Hello Another World! .NET 勉強会 / ヒーロー島 | ||||
|
投稿日時: 2007-08-04 17:16
こんにちは。ueさん、返答ありがとうございます。
PS> $A=4 PS> if($A -band 0x002) {$A} として確認できました。 -bor, -bnot も確認できました。 |
1