#원하는 위치의 사용자 정보를 가져와서 이름, 계정, 설명을 $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
}
}
[실행 결과 화면]
댓글