본문 바로가기
기술자료 (KB)/Active Directory (AD)

Powershell 사용자 설명 값을 가져와 사용자를 그룹에 넣기

by 이완주 2022. 10. 28.

#원하는 위치의 사용자 정보를 가져와서 이름, 계정, 설명을 $user 변수에 넣는다.
$user = Get-ADUser -SearchBase "OU=Users,OU=Globalsoft,DC=gsoft,DC=local" -Filter * -Properties description | select name, samaccountname, description

#화면에 작업 내용 표기
Write-Host "사용자 설명을 기반으로 사용자를 그룹에 넣기"

#사용자 정보를 $u에 넣고 사용자 수 만큼 반복 문 실행
foreach ($u in $user)
{
    # 사용자 이름 출력 
    Write-Host $u.name "(" $u.samaccountname ")"  

    #MemberOf 변수에 설명 넣기 
    $MemberOf = $u.description

    #설명 값의 ;을 기준으로 부서 분리하고 해당 수 만큼 실행
    # 예) 기술본부;기술본부/MS기술팀 값을 기술본부 기술본부/MS기술팀으로 나눈다

    foreach ($D1 in $MemberOf.Split(";"))
    {
        #Department 값을 / 기준으로 분리
        # 예) 기술본부/MS기술팀  기술본부  MS기술팀
        $Department = $D1.Split("/")
        
        #화면에 그룹과 사용자 이름 표시 $Department[-1]  여기서 [-1]은 배열의 마지막 값을 의미
        # 예) 기술본부  MS기술팀  값 중 마지막 값 MS기술팀
        Write-Host "       " $Department[-1] "에" $u.samaccountname "계정 넣기"

        #사용자를 그룹에 넣기
        Add-ADGroupMember -Identity $Department[-1] -Members $u.samaccountname
    
    }
}

 

 

 

[실행 결과 화면]

댓글