시작하기 전에 비밀로 알려 드리겠습니다.
이것은 도메인 컨트롤러에 있습니다.
*Administrators 그룹의 SID가 구성원 계정에 표시되지 않습니다.
* 위의 문은 로컬 관리자 계정과 로컬 관리자 그룹 (이 질문의 컨텍스트와 범위 내에서)에서만 발생하는 유일한 중대한 변경으로 인해 부주의로 인해 치명적이며 변경되지 않습니다 차별화가 필요한 정도의 결과.
나는 다른 서버의 나는 그것이 DC에 있기 때문에 그 뒤에 이유는 내기에 기꺼이 에 문제가 이런 종류의를 가지고 있지 않았다. *
* 상기와 같은 이유. 수락 된 대답은 불일치를 설명하고 Windows 보안 또는 도메인 컨트롤러의 아키텍처 (기능 읽기)가 아니라 내 부분에 대한 감독이었습니다.
저는 로컬 관리자이거나 최소한 자신이 속한 계정에서 호출 한 계정에서 스크립트가 호출되었는지 확인하는 방법에 대해 몇 가지 아이디어를 가지고 놀았습니다. 로컬 관리자 그룹.
내가 로컬 관리자 계정을 이름을 변경 한그러나, 나는 스크립트가 로컬 관리자 계정에 의해 호출 된 경우 I 입력하여 볼 수 있다는 사실을 알고 :
(New-Object System.Security.Principal.NTAccount('reserved')).Translate([System.Security.Principal.SecurityIdentifier]).Value
을하고 SID가 -500
에 끝나는 경우 내가 볼 수 있습니다 .
내가 호출 계정 (더 큰 범위 인) 관리자 그룹의 일부인 경우 입력하여 확인하기 위해 조건을 실행할 때 문제가 발생합니다 : 그것이 계정을 확인하려면
PS> [bool](([System.Security.Principal.WindowsIdentity]::GetCurrent()).Groups -match "S-1-5-32-544")
PS> False
빠른 검사를 사용 :
PS> $env:username
PS> reserved
또는 불필요하게 복잡한 방법 (가끔 그것을 선호하지만) :
PS> Write-Host ((Get-WmiObject Win32_Account | ?{$_.SID.Substring($_.SID.Length-4,4) -eq '-500'}).Caption).Split("\",2)[1] -fore GREEN
PS> reserved
0 123,414,나는 심지어 유형 :
PS> net user reserved
그것은 나를 Local Group Memberships *Administrators
을 알려줍니다.
ADUC (dsa.msc
)를 당기고 Builtin
컨테이너를보고 관리자 그룹을 두 번 클릭합니다. Members tag와 lo를 선택하고, 보라, reserved
가 실제로 회원이다!
그래서, 정리 해보 : 나는 ADUC에 보니 예약 확인하는 일원이었다
net user reserved
를 입력하여, 나는 그것이 로컬 관리자 그룹의 일부 확인할 수 있었다 기본 제공 관리자 그룹예약 된 SID가인 로컬 계정이 실제로 예약되었습니다.로 끝나고
...-500
으로 끝났습니다. 더 나아가서 SID가
Get-ADGroup -Identity "Administrators"
을 입력하여 "Administrators"라는 Active Directory 그룹과 일치하는지 확인했습니다. 그런 다음Get-ADGroupMember -Identity "Administrators"
을 입력하고reserved
이 나열되었는지 확인했습니다 (SID가 일치했고 AND!).잘 알려진 관리자 그룹 SID가 (현재 Windows ID를 가져옴으로써) 해당 계정 그룹에서 발견되는지 여부를 확인하면 표시되지 않습니다.
무엇을 제공합니까?
실제로 로컬 Administrators 그룹의 구성원이지만 계정 그룹에서 SID를 찾을 수 없다는 표시가 나타나는 이유는 무엇입니까?
'[Security.Principal.WindowsIdentity] :: GetCurrent()'와'[Security.Principal.WindowsIdentity] :: GetCurrent(). Groups '의 값이 당신이 생각하는 값인지 확인 했습니까? –
@AnsgarWiechers 그것은 [bool] (([System.Security.Principal.WindowsIdentity] :: GetCurrent()). Groups -match "S-1-5-32-544")를 실행했을 때 일어난 일입니다. 현재 Windows ID (예약 됨)를 검색하고 그룹 SID를 찾고 관리자 (S-1-5-32-544)의 잘 알려진 SID가 있는지 확인했습니다. 그것은'false'를 반환했습니다. – Rincewind