2016-10-19 1 views
0

他のフラグの状態にもかかわらずUserAccountControlフラグをオンまたはオフに切り替える方法があるのだろうかと思います。たとえば、我々は次のような構成を有しているとしましょう:UserAccountControlフラグの変更 - フラグの切り替え

Admin Flag Configuration

どのように私は、現在の$user.UserFlags.valueにもかかわらず、フラグをtrueに「パスワードを無期限に」切り替えるのでしょうか?すべてのフラグがオフに切り替えられた場合にのみフラグがトグルされる「パスワードの有効期限が切れたことがない」場合は、あなたが想像できるように

$user.UserFlags.valueが513であることは、$user.UserFlags.valueは66049.

で、数値の範囲があります次の記事で述べたように$user.UserFlags.valueが異なる構成に反映させることができる。

How to use the UserAccountControl flags to manipulate user account properties

私はマスクで、ビット単位の操作を使用して解決策を考え出すが、いくつかのガイダンスを必要とすることができますように私は感じます。私の最終目標は、現在の設定が何であるかにかかわらず、この値を切り替えるPower Shellスクリプトを書くことです。

提案がありますか?

答えて

1

あなたが探している操作はXORです。あなたは(フラグDONT_EXPIRE_PASSWORDため、この場合0x10000番地または65536に)切り替えて変更をコミットしたいフラグを使用して、現在のUserFlags値を融合するビット単位のXOR演算子(-bxor)を使用します。

$user.InvokeSet('UserFlags', $user.UserFlags.Value -bxor 0x10000) 
$user.CommitChanges() 

に詳しく見ますabout_Comparison_Operatorsの「ビット演算子」セクション。

+0

完全で簡潔です。どうもありがとうございました! –

関連する問題