답변:
FOR /f %%i in (C:\path\to\textfile.txt) do (
dsquery computer -name %%i | dsmove -newparent OU=newOU,DC=domain,DC=com
)
그것은 당신을 위해 그것을 돌봐야합니다.
편집 : dsmove를 사용해야했기 때문에 오래되었습니다 :) 이동하는 객체의 DN이 필요하므로 파이프 앞에 dsquery를 추가하여 DN을 목록에서 가져온 다음 파이프로 만듭니다. dsmove. 이것은 단지 NetBIOS 이름 목록에 대해서만 잘 작동합니다.
텍스트 파일에 컴퓨터 이름이 있고 각 줄에 1이라고 가정하면 다음 명령을 실행하여 fqdn을 내 보냅니다.
FOR /f %%a in (file.txt) DO dsquery computer -name %%a >> fqdnfile.txt
그런 다음 다음 명령을 실행하여 이동하십시오. dsmove의 lue에서 echo 명령을 사용하여 먼저 테스트하십시오.
FOR /f %%b in (fqdnfile.txt) DO dsmove %%b -newparent OU=newOU,DC=domain,DC=local
그것을 테스트하십시오. 작동하지 않는 경우 알려주십시오.
cmd
not 에서 스크립트를 실행해야합니다 powershell
.
새로운 관리자를위한 단계별 설명 : 컴퓨터 이름이 한 줄에 하나씩 나열된 file.txt를 가져옵니다.
PC-001
PC-002
PC-003
CMD를 열고 행이 file.txt와 동일한 위치에 있음을 나타내는 지 확인한 다음 아래 행을 붙여 넣으십시오.
FOR /f %a in (file.txt) DO dsquery computer -name %a >> fqdnfile.txt
이렇게하면 file.txt와 같은 위치에 fqdnfile.txt 파일이 생성됩니다.
fqdnfile.txt를 구별 이름 (한 줄에 하나씩)으로 구문 분석합니다.
참고 : BAT 파일에 대해서는 %%를, CMD에 대해서는 단일 %를 사용해야합니다.
그런 다음 아래 줄을 실행하십시오.
FOR /f %b in (fqdnfile.txt) DO dsmove %b -newparent "OU=COMPUTERS,OU=My Bus,DC=Domain,DC=com"
참고 : 이름에 공백이있는 경우 식별 이름은 ""로 묶어야합니다 (예 : 내 버스)
아래 줄을 실행하여 모든 것이 올바르게 이동했는지 확인하십시오.
FOR /f %a in (file.txt) DO dsquery computer -name %a >> location.txt