2012-10-03 2 views
4

저는 약간의 도움이 필요합니다. 파워 쉘 경험이 거의 없지만 내 가이드와 GoogleFu의 포켓 가이드로 작업하고 있습니다.PowerShell을 사용하여 AD에서 사용자를 이동하려면 어떻게해야합니까?

현재 내 계획은 사용자 이름을 묻는 메시지를 저장하고 저장 한 사용자 이름으로 Get-ADUser를 사용하여 DistinguishedName을 가져 와서 저장하고 Move-ADObject를 사용하여 DistinguishedName에서 대상 경로로 사용자를 이동합니다.

내가 만나는 문제는 이러한 것을 저장하고 호출하는 것입니다. 나는 이것을 가지고 있는데, 그것은 나에게 사용자에 대한 정보를 제공한다. 고유 이름 만 분리하고 저장하려면 어떻게합니까?

$name = read-host "Enter user name" 
Get-ADUser $name 

DN을 저장 한 후 Move-ADObject는 저장된 값을 사용할 수 있습니까? 내가 좋아하는 개별 값을 저장하기 위해 시도했습니다

Move-ADobject 'CN=$name,OU=department,OU=company,DC=Domain,DC=net' -TargetPath 'OU=NonActive,OU=company,DC=Domain,DC=net' 

그러나 이것은이 저장된 값을 사용하지 않는 "을 (를) 찾을 수 없습니다 Directory 개체"를 반환합니다.

답변

11

이 시도 :

Get-ADUser $name| Move-ADObject -TargetPath 'OU=nonactive,OU=compny,DC=domain,Dc=net'

+0

굉장! 그것은 효과가 있습니다, 당신은 이유를 설명 할 수 있습니까? | 무엇입니까 | ? – elock37

+3

powershell 파이핑에 대해 읽어야합니다. http://technet.microsoft.com/en-us/library/ee176927.aspx –

4

을 그냥 옆이에 -

파워 쉘 변수를 인식 할 수없는 그들이 쉘 취급 같은 값으로 작은 따옴표로 묶여있는 경우 등 $name로 리터럴 문자열로. 변수를 사용할 때는 큰 따옴표를 사용하십시오.

예 : write-host '$name'$name을 출력하지만 write-host "$name"은 변수의 값을 반환합니다.

그래서 Move-ADobject "CN=$name,OU=department,OU=company,DC=Domain,DC=net" -TargetPath 'OU=NonActive,OU=company,DC=Domain,DC=net'은 예상대로 작동해야합니다. 반면에, 당신은 파이프 라인을 사용하여보다 흥미로운 것을 배울 것입니다. 만 개인 관심을

0

은 : 객체를 전달

CB, 파이프 라인을 수행하면된다.. 문자열을 사용하는 대신 다음 명령을 사용하여 개체를 사용해야합니다.

Move-ADObject 
+1

이 질문에 대한 답변을 제공하지 않습니다. 충분한 [평판] (https://stackoverflow.com/help/whats-reputation)이 있으면 [모든 게시물에 주석 달기] (https://stackoverflow.com/help/privileges/comment) 할 수 있습니다. 대신, [질문자의 설명이 필요없는 답변을 제공하십시오] (https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- i-do- 대신). - [검토 중] (리뷰/저품절 게시물/19046992) – LordWilmore

+0

죄송합니다. 사용자가 명령이 작동하지 않는 이유를 이해하는 것이 유용 할 수 있다고 생각했습니다. 어쨌든 해명 해줘서 고마워. –

관련 문제