Di chuyển tài khoản máy tính sang OU mới hàng loạt


9

Tôi có một OU với khoảng 2500 máy tính. Tôi cần chuyển 580 người trong số họ sang OU khác. Có cách nào để làm điều này với một tập tin bó không? Tôi có một tệp văn bản với tên máy tính (không phải FQDN).

Câu trả lời:


9
FOR /f %%i in (C:\path\to\textfile.txt) do (

  dsquery computer -name %%i | dsmove -newparent OU=newOU,DC=domain,DC=com

)

Điều đó sẽ chăm sóc nó cho bạn.

chỉnh sửa: Đã được một thời gian kể từ khi tôi phải sử dụng dsmove :) Nó cần DN của đối tượng mà bạn đang di chuyển, vì vậy tôi đã thêm các câu hỏi trước một đường ống để lấy DN từ danh sách và sau đó dẫn đường để thợ rèn. Điều này sẽ hoạt động tốt ngay bây giờ cho một danh sách chỉ tên NetBIOS.


+1 để thực hiện trong 1 lệnh
Nixphoe

1

Một lỗi nhỏ trong câu trả lời của Nixphoe - toso với dovà thiếudo

FOR /f %%a in (file.txt) do dsquery computer -name %%a >> fqdnfile.txt

FOR /f %%b in (fqdnfile.txt) do dsmove %%b -newparent OU=newOU,DC=domain,DC=local

1
Chào mừng bạn đến với ServerFault. Xin vui lòng thực hiện các chỉnh sửa được đề xuất cho các bài viết hiện có . Những đề xuất này sẽ được cộng đồng xem xét để phê duyệt.
jscott

1

Giả sử rằng bạn có tên của trình biên dịch trong tệp văn bản và 1 trên mỗi dòng bạn chạy một lệnh sau để xuất fqdn của chúng

FOR /f %%a in (file.txt) DO dsquery computer -name %%a >> fqdnfile.txt

Sau đó chạy lệnh sau để di chuyển chúng. Vui lòng sử dụng lệnh echo trong lue of dsmove để kiểm tra điều này trước

FOR /f %%b in (fqdnfile.txt) DO dsmove %%b -newparent OU=newOU,DC=domain,DC=local

Kiểm tra nó ra. Hãy cho tôi biết nếu nó không hoạt động.


1
Bạn không cần FQDN cho dsmove afaik.
MDMarra

Ngọt ngào, không bao giờ thực sự cần thiết để di chuyển mọi thứ với số lượng lớn trước đây. Nhưng tôi đã đọc nhiều về lệnh. Tốt để biết! Vui mừng vì tôi đã gần với câu trả lời giống như bạn đã làm :)
Nixphoe

1
@Grey Tux Bạn có nên chạy script cmdkhông powershell.
jscott

1
nó phải là% a thay vì %% a
Xám tu

1
Vâng, hai% là nếu bạn đang chạy nó từ một tệp bó. Một% là nếu bạn đang chạy nó từ dòng lệnh
Nixphoe

0

Từng bước từng bước cho quản trị viên mới: Nhận file.txt trong đó tên máy tính được liệt kê ở đó mỗi dòng.

PC-001
PC-002
PC-003

Mở CMD và đảm bảo rằng dòng của bạn được chỉ ra ở cùng vị trí với file.txt của bạn, sau đó dán dòng bên dưới

FOR /f %a in (file.txt) DO dsquery computer -name %a >> fqdnfile.txt

Điều này sẽ tạo một tệp fqdnfile.txt ở cùng vị trí với file.txt của bạn

Điều này sẽ phân tích fqdnfile.txt với các tên Phân biệt (một tên trên mỗi dòng)

LƯU Ý: rằng bạn nên sử dụng gấp đôi %% cho tệp BAT và% đơn cho CMD

Sau đó chạy dòng dưới đây.

FOR /f %b in (fqdnfile.txt) DO dsmove %b -newparent "OU=COMPUTERS,OU=My Bus,DC=Domain,DC=com"

LƯU Ý: Tên phân biệt của bạn phải được đặt trong "" nếu bạn có khoảng trắng trong tên, ví dụ: Xe buýt của tôi

CHẠY dòng bên dưới để kiểm tra xem mọi thứ đã được di chuyển chính xác chưa

FOR /f %a in (file.txt) DO dsquery computer -name %a >> location.txt
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.