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

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

net user /DOMAIN <username>

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

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



답변

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


답변

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
---------------------------------------------------


답변

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

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

whoami /groups

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

그룹 이름 만 :

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


답변

또는 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 용 원격 서버 관리 도구 를 설치해야 할 수 있습니다 .


답변

PowerShell에서 훨씬 더 쉬운 방법 :

Get-ADPrincipalGroupMembership <username>

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

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

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

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


답변


답변

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.