나는 현재 내가 일하고있는 회사의 Active Directory 사용자 목록과 그 일을 한 사람이 끔찍한 일을했으며 더 이상 여기서 일하지 않는 구조를 변경하는 중입니다.
내 질문은 다음과 같습니다 . 사용자 차트의 “회원”탭에 포함 된 모든 정보가 포함 된 Excel 스프레드 시트를 (이상적으로) 갖고 싶습니다.
쿼리를 만들려고했지만 결과는 “멤버”탭의 실제 내용이 아니라 “어떤 멤버”인 사용자 목록 만 제공합니다.
명령 프롬프트를 통해 또는 Active Directory에서 직접 수행 할 수있는 방법이 있습니까?
공정한 경고 : 나는 VBS와 Powershell에 대해 아무것도 모른다.
답변
사용자의 그룹 멤버십을 얻으려면 다음 PowerShell 명령을 실행하십시오 .
Get-ADPrincipalGroupMembership $Username | Select Name | out-file "filepath"
원하는 문서 이름을 포함하여 문서를 저장하려는 위치 “
$Username
쿼리중인 사용자의 이름은 어디에 있습니까 ?
답변
이것이 있습니다. CSV로 덤프하려면 약간의 PowerShell을 배워야합니다. 지금은 텍스트 파일로 덤프합니다.
$users = Get-ADUser -Filter * -Properties * -SearchBase "OU=something,DC=domain,DC=net"
foreach ($user in $users) {
$file = $user.Name + '_ACL'
(Get-ADUser –Identity $user –Properties MemberOf).MemberOf -replace '^CN=([^,]+),OU=.+$','$1' | Out-File c:\PSResults\$file.txt
}
CSV 출력으로 작동시키는 데 시간이 걸리지 않았습니다.
-csv로 내보내려면 출력 파일 경로를 저장하려는 경로로 변경하고 document.csv 이름 (예 : 출력 파일 C : \ PSResults \)을 변경하십시오. $ file.csv는 $ file이라는 CSV로 내 보냅니다.
답변
이 쿼리 문자열을 입력하여 “AD 사용자 및 컴퓨터”의 사용자를 포함하는 OU에 적용된 새 쿼리를 만들고 정의 할 수 있습니다.
(&(&(&(&(objectCategory=user)(userAccountControl=512)))))
그런 다음 AD 창의 맨 위에있는 “내보내기 목록”을 사용하여 결과를 csv로 내 보냅니다.
답변
파일을 CSV로 가져 오려면 코드에서 “Out-File c : \ PSResults \ $ file.txt”를 “Export-CSV -path c : \ PSResults \ $ file.csv -NoTypeInformation”으로 바꾸십시오.
따라서 다음과 같이 보일 것입니다.
$users = Get-ADUser -Filter * -Properties * -SearchBase "OU=something,DC=domain,DC=net"
foreach ($user in $users) {
$file = $user.Name + '_ACL'
(Get-ADUser –Identity $user –Properties MemberOf).MemberOf -replace '^CN=([^,]+),OU=.+$','$1' | Export-CSV -path c:\PSResults\$file.csv -NoTypeInformation
}
그러나 다른 사람들이 이미 게시 한 것처럼 아래는 쉬운 라이너이므로 사용하는 것이 가장 좋습니다.
Get-ADPrincipalGroupMembership USERNAME | Select Name | Export-CSV -path C:\Temp\file.csv -NoTypeInformation