$list = @()

$Groups = get-adgroup -filter * -Searchbase "OU Path"

foreach ($Group in $Groups){

    $members = get-adgroupmember -identity $group 

    foreach ($member in $members){

        if($member.objectClass -eq "User"){

            $item = new-object PSObject

            $item | Add-member -name 'GroupID' -value $group.name -MemberType NoteProperty

            $item | Add-member -name 'Member' -value $member.samaccountname -MemberType NoteProperty

            $list += $item

        }

    }

}

 

$list | export-csv "C:\GroupsAndUsers.csv" -NoTypeInformation


1. AD OU 조회

Get-ADOrganizationalUnit -LDAPFilter '(name=*)' -SearchBase 'OU=TEST,OU=TESTROOT,DC=test,DC=com' | ft Name,objectGUID

 

2. 출력한 엑셀을 저장할 폴더 저장

 

3. AD OU 조회 한 내용을 엑셀로 출력

Get-ADOrganizationalUnit -LDAPFilter '(name=*)' -SearchBase 'OU=TEST,OU=TESTROOT,DC=test,DC=com' | Select-Object Name,objectGUID | export-csv c:\test\test.csv -NoTypeInformation -Encoding UTF8

 

4. 생성 된 csv 파일을 xlsx 파일로 변환

 

5. 문자열조합을 활용하여 아래와 같은 형태의 명령어를 생성

Remove-ADOrganizationalUnit -Identity 'a8ea9646-b306-4a5b-b8b6-d329f8b22fab' -confirm:$false

 

6. 필터 활용하여 데이터 분류


Function Test-ADAuthentication {

    param($username,$password)

    (new-object directoryservices.directoryentry "",$username,$password).psbase.name -ne $null

}

 

PS C:\> Test-ADAuthentication "dom\myusername" "mypassword"

True


+ Recent posts