2017-01-16 8 views
-2

내가 잃어 버렸습니다 사용자가 CSV 형식의 소유자 인 모든 그룹을 제공하기 위해 쿼리를 작성해야합니다. 대안은 사용자 이름과 전자 메일이있는 모든 그룹의 목록입니다.Powershell LDAP 쿼리 모든 그룹 및 해당 소유자의 목록을 가져옵니다

CSV 형식은 다음과 같아야 중 하나

"GroupName", ,"givenname","surname","office","mail", 

또는

"givenname","surname","office","mail","group1","group2","group3",etc... 

나는이 있지만 작동하지 않았다 다음 시도 (선호)

.

$test = 'OU=Practice Office,DC=us,DC=LMCorp,DC=com' 
$test | ForEach { 
    Get-ADGroup -Filter * -Properties ManagedBy -SearchBase $_ 
} | Select Name, ManagedBy,objectGUID,memberOf,givenname,surname,office,mail,‌​title,telephoneNumbe‌​r,department | Sort -Property Name | Out-File C:\temp\1.csv 
+0

나는 이것을 행운으로 시험해 보았다. $ test = 'OU = Practice Office, DC = 우리, DC = LMCorp, DC = com' $ test | ForEach {Get-ADGroup -Filter * - 속성 ManagedBy -SearchBase $ _} | 이름, ManagedBy, objectGUID, memberOf, givenname, 성, 사무실, 메일, 제목, telephoneNumber, 부서 선택 | 정렬 - 속성 이름 | Out-File C : \ temp \ 1.csv –

+0

질문을 편집하십시오. 주석의 코드를 읽을 수 없습니다. –

+0

OU에 대한 LDAP 문자열이 실제로 올바른가요? 어쨌든'$ test' 만 사용하는 것처럼'ForEach'를 건너 뛸 수 있습니다. 'Out-File'을'Export-Csv'로 바꾸면 첫 번째 형식처럼 CSV를 얻을 수 있습니다. – Seth

답변

1

나는 foreach를 사용하는 이유를 모르겠다. 이게 효과가 없을까요?

$test = ou location 
$groups = get-adgroup -searchbase $test -properties ManagedBy 

그러면 $ 그룹에 원하는 항목이 포함됩니다. 다만 PowerShell을 프롬프트를 입력하여 내용을 확인합니다

$groups 

또는

$groups[0] 

사용하면 세트의 첫 번째 요소를 제공 할 것입니다. 그런 다음 파일을 정렬하고 파이프 아웃 할 수 있습니다. 당신은 그것을 얻을 수 있습니까, 당신은 올바른 AD 객체를 반환하고 있습니까?

+0

꽤 이해가 안되네, 내가 슈퍼 새 오전 볼 수있는 코드 샘플을 게시 할 수 있습니까? –

+1

그러나 그는 당신에게 완전한 모범을 보냈습니다. '$ test'로 시작하는 줄 (분명히 LDAP 문자열을 직접 추가해야하고'$ groups'을 그대로 사용할 수 있습니다.) (AD PowerShell 모듈 용 RSAT 도구가 설치되어 있다고 가정하면 할 수 있습니다. 'Import-Module ActiveDirectory'를 미리 설정해야합니다. – Seth