2016-10-19 3 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 값을 conflate하기 위해 비트 XOR 연산자 (-bxor)를 사용하고 변경 커밋은 다음을 참조

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

자세한 내용을 비트 연산자 (Bitwise Operators)는 about_Comparison_Operators입니다.

+0

완벽하고 간결합니다. 고마워요! –