명령 줄에서 사용자의 잘리지 않은 Active Directory 그룹 가져 오기


90

나는 종종 net user명령을 사용하여 사용자의 AD 그룹을 살펴 봅니다.

net user /DOMAIN <username>

이것은 잘 작동하지만 그룹 이름은 약 20 자로 잘립니다. 제 조직에서는 대부분의 그룹 이름이 이보다 훨씬 깁니다.

누구든지 명령 줄을 통해 잘리지 않은 AD 그룹을 얻는 방법을 알고 있습니까?


1
이 질문의 날짜를 기반으로 20 자 잘리는 명령을 실행하면 더 큰 이름을 가진 그룹이 반환되므로 더 이상 문제가되지 않는다고 생각합니다. 아래 답변 whoami /groups도 좋은 것입니다. 그러나 현재 로그인 한 사용자 그룹 만 나열합니다. ) 가장 및 매끄러운 프로그램은하지만 주변에 얻을 수
리처드 바커

2
내 조직의 도메인에있는 사용자를 위해 실행했습니다. 20 자 잘림은 여전히 ​​문제입니다.
SherlockSpreadsheets

좋은 질문입니다, Aguado!
Bart

답변:


-9

GPRESULT 명령의 출력을 구문 분석 할 수 있습니다.


68
예를 들어없이이 쓸모없는 대답은
qujck

8
하지만 그건 쓸모없는 정답입니다 ... 분명히.
Warlord 099

AD 그룹은 표시되지 않습니다. 그것은 많은 다른 것들을 보여 주지만 AD 그룹은 보여주지 않습니다.
John Rocha

여러분, 당시 (2009 년에 질문하고 답변했습니다) 이것은 OP에 필요한 것을 실제로 수행하는 유일한 방법이었을 것입니다. 그는 그룹 이름에서 20 자 뒤에 잘림을 언급합니다.
Richard Barker 2016

@RichardBarker : 잘림은 여전히 2019 년에 NET 사용자와 무슨 일이 일어나고
로스 압착기

109

GPRESULT올바른 명령이지만 매개 변수없이 실행할 수 없습니다. /v또는 verbose 옵션은 텍스트 파일로 출력하지 않고는 관리하기 어렵습니다. EG 사용하는 것이 좋습니다

gpresult /user myAccount /v > C:\dev\me.txt--C : \ Dev \ me.txt가 있는지 확인하십시오.

또 다른 옵션은 명령 창에서 완전히 볼 수있는 요약 정보 만 표시하는 것입니다.

gpresult /user myAccount /r

계정은 제목 아래에 나열됩니다.

The user is a part of the following security groups
---------------------------------------------------

6
이 사람은 대답해야한다
LT

1
특정 문자열을 찾고 있다면 findstr출력을 파일로 리디렉션 한 다음 파일을 검색하는 대신 사용할 수 있습니다 . 예 : gpresult /user myAccount /r | findstr mySearchString.
Jesse

2
내 사용자 계정에 대해 이것을 실행하면 훌륭하고 보안 그룹을 볼 수 있습니다. 다른 사용자 계정에 대해 실행하면 명령이 반환됩니다. "userNameHere"사용자에게 RSOP 데이터가 없습니다.
SherlockSpreadsheets

59

약간 오래된 게시물이지만 도대체 무엇인지 알아 냈습니다. "whoami"가 귀하의 요구를 충족합니까?

나는 오늘 (사실 나를 여기로 데려온 것과 동일한 Google 검색에서) 방금 알게되었습니다. Windows는 XP (애드온 툴킷의 일부)부터 whoami 도구를 사용했으며 Vista부터 기본 제공되었습니다.

whoami /groups

현재 로그온 한 사용자의 모든 AD 그룹을 나열합니다. 하지만 해당 사용자로 로그온해야한다고 생각하므로 사용 사례에서 다른 사용자를보기 위해 명령을 실행할 수있는 기능이 필요한 경우에는 도움이되지 않습니다.

그룹 이름 만 :

whoami /groups /fo list |findstr /c:"Group Name:"

나는 WhoAmI당신이 그것으로 훨씬 더 많은 것을 할 수 있다는 것을 오늘 깨닫기 위해 아주 오랫동안 내 사용자 이름을 사용했습니다! 감사합니다.
MaYaN

3
그룹 이름 만 나열 : for /f "tokens=1 delims=," %g in ('whoami /groups /fo csv /nh') do @echo "%~g"(참고 : 배치 파일 %%대신 사용 %)
Lectrode

완전한! 부실한 게시물에 대한 새로운 답변을 주저하지 마십시오!
Bart

5

또는 dsquerydsget을 사용할 수 있습니다 .

dsquery user domainroot -name <userName> | dsget user -memberof

다음과 같은 그룹 멤버십을 검색하려면 다음을 수행하십시오.

Tue 09/10/2013 13:17:41.65
C:\
>dsquery user domainroot -name jqpublic | dsget user -memberof
"CN=Technical Support Staff,OU=Acme,OU=Applications,DC=YourCompany,DC=com"
"CN=Technical Support Staff,OU=Contosa,OU=Applications,DC=YourCompany,DC=com"
"CN=Regional Administrators,OU=Workstation,DC=YourCompany,DC=com"

내 컴퓨터에이 패키지를 설치했다는 증거를 찾을 수 없지만 Windows 7 용 원격 서버 관리 도구 를 설치해야 할 수 있습니다 .


1

PowerShell에서 훨씬 더 쉬운 방법 :

Get-ADPrincipalGroupMembership <username>

요구 사항 : -Credentialand -Server(unested) 를 지정하지 않는 한 직접 실행중인 계정은 대상 사용자와 동일한 도메인의 구성원이어야합니다 .

또한 @ dave-lucre가 다른 답변에 대한 주석에서 말했듯이 Active Directory Powershell 모듈이 설치되어 있어야하지만 항상 옵션이 아닙니다.

그룹 이름의 경우 다음 중 하나를 시도하십시오.

(Get-ADPrincipalGroupMembership <username>).Name
Get-ADPrincipalGroupMembership <username> |Select Name

1
좋은 대답! 이것은 작동하지만 그것이 더 쉽게 만드는지 너무 확신하지 못합니다 :). 그룹 이름 목록을 얻으려면 결과를 구문 분석해야합니다 (이와 함께 확장합니다!). 그것은 PS에 정통한 기술자에게는 도전이 아니지만 DOS 배치에서 PS 로의 도약은 결코 쉬운 일이 아닙니다!
hector-j-rivas

0

1
당신은 (항상 아닌 옵션)는 Active Directory 파워 쉘 모듈을 설치하지 않고이 작업을 수행 할 수 없습니다
데이브 금전적 인 이익

1
이 링크가 질문에 답할 수 있지만 여기에 답변의 필수 부분을 포함하고 참조 용 링크를 제공하는 것이 좋습니다. 링크 된 페이지가 변경되면 링크 전용 답변이 무효화 될 수 있습니다. - 리뷰에서
Zulan 2016-06-07

@Zulan : 7 년 된 답변에 시간을 낭비하고 있습니다! 그뿐만 아니라 같은 방식으로 받아 들여진 답변에 대해 주석을 달지 않았기 때문에 일치하지 않는 것 같습니다.
Mitch Wheat

@MitchWheat : From Review그의 댓글 끝에 있는 링크를 보셨나요 ? 그는 검토에서 발견하지 않았기 때문에 수락 된 답변에 대해 언급하지 않았습니다.
zondo 2016 년

내가했다. 나는 리뷰어가 적어도 수락 된 답변을 확인할 것이라고 생각했을 것입니다.
미치 밀

0

P.Brian.Mackey의 답변에 따르면 gpresult /user <UserName> /r명령을 사용해 보았지만 내 사용자 계정에서만 작동하는 것 같습니다. 다른 사용자 계정의 경우 다음 결과를 얻었습니다 The user "userNameHere" does not have RSOP data..

그래서이 블로그 ( https://blog.thesysadmins.co.uk/group-policy-gpresult-examples.html)를 읽고 해결책을 찾았습니다 . 사용자 컴퓨터 이름을 알아야합니다.

gpresult /s <UserComputer> /r /user:<UserName>

명령을 실행 한 후에 ENTER는 출력 중간에 일시 중지되므로 프로그램이 완료 되려면 몇 번해야합니다. 또한 결과는 " COMPUTER SETTINGS> Applied Group Policy Objects", " COMPUTER SETTINGS> Security groups"및 마지막으로 " USER SETTINGS> security groups"에 대한 섹션을 포함한 많은 데이터를 제공했습니다 ( 잘리지 않은 설명과 함께 나열된 AD 그룹에서 찾고있는 것입니다!).

GPRESULT에는 NET USER 명령에서 볼 수없는 일부 추가 멤버가 있다는 점에 유의하십시오. 또한 정렬 순서가 일치하지 않으며 알파벳순이 아닙니다. 댓글에 더 많은 통찰력을 추가 할 수있는 모든 기관.

결과 : gpresult (with ComputerName, UserName)

보안상의 이유로 멤버십 결과의 일부만 포함했습니다. (총 36 개, 샘플 12 개)

The user is a part of the following security groups
---------------------------------------------------
..
 Internet Email 
 GEVStandardPSMViewers  
 GcoFieldServicesEditors    
 AnimalWelfare_Readers  
 Business Objects   
 Zscaler_Standard_Access    
..
 GCM    
..
 GcmSharesEditors   
 GHVStandardPSMViewers  
 IntranetReportsViewers 
 JetDWUsers     -- (NOTE: this one was deleted today, the other "Jet" one was added)
..
 Time and Attendance Users  
..

결과 : net user /DOMAIN (with UserName)

보안상의 이유로 멤버십 결과의 일부만 포함했습니다. (총 23 개, 샘플 12 개)

Local Group Memberships  
Global Group memberships    ...
                             *Internet Email       *GEVStandardPSMViewers
                             *GcoFieldServicesEdito*AnimalWelfare_Readers
                             *Business Objects     *Zscaler_Standard_Acce
                             ...
                             *Time and Attendance U*GCM
                             ...
                             *GcmSharesEditors     *GHVStandardPSMViewers
                             *IntranetReportsViewer*JetPowerUsers
The command completed successfully.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.