Saturday, September 28, 2019

Join Domain Tự Động Sử Dụng PowerShell


Join Computer to Domain Using PowerShell


Trong bài này, bạn sẽ học cách join 1 máy tính vào domain sử dụng Powershell.
Tôi sẽ cung cấp từng bước hướng dẫn để thêm 1 máy tính và nhiều máy tính vào domain.
Cùng với đó, Tôi sẽ cho bạn cách di chuyển máy tính đến OU một khi dã được join domain

Join Single Computer To Domain with Powershell

Lưu ý quan trọng: Bạn phải chạy PowerShell as Administrator để tránh lỗi "access denied". Để làm việc này, chuột phải lên biểu tượng PowerShell và chọn "Run as Administrators"
Mở PowerShell và chạy câu lệnh sau. Thay đổi tên domain thành AD domain name của bạn
add-computer –domainname "YourDomainName"  -restart
Ví dụ ảnh dưới đây chạy trên domain ad.activedirectorypro.com
Bạn sẽ được gợi ý để nhập thông tin quản trị. Điều này sẽ cần account quản trị domain hoặc 1 người dùng được ủy quyền để join máy tính vào domain
Máy tính sẽ tựu khởi động lại và được join domain.
Mẹo: Chạy help add-computer để xem tất cả dòng lệnh tùy chọn

Join Multiple Computers to the Domain From a Text File

Join nhiều máy tính vào domain từ 1 file text

Để join nhiều máy tính vào domain bạn chỉ cần tạo 1 file text và add các tên máy tính vào.
Trong ví dụ này, tôi đã tạo 1 file text gọi là computers.txt và thêm PC2, và PC3 vào
Tôi đã lưu file text đến c:\it\computers.txt
Với thiết đặt file text, tôi chạy dòng lệnh sau:
$computers = Get-Content -Path c:\it\computers.txt
Add-Computer -ComputerName $computers -Domain "YourDomainName" -Restart
Ví dụ ảnh dưới đây chạy trên domain  ad.activedirectorypro.com

Dòng đầu tiên cài đặt 1 tham số($computers), nó lưu các giá trị của file text. Dòng 2 tương tự ví dụ trước, bây giờ tôi đã add -ComputerName và biến số $computers.
Lệnh này sẽ đi qua mọi máy tính đã được liệt kê trong file text và join chúng vào domain
Khá tuyệt phải ko? điều này chắc chắn sẽ tăng tốc quá trình join nhiều máy tính vào domain

Join Computer to Domain and specify OU Path With PowerShell

Join Máy tính vào Domain và chỉ định đường dẫn OU với PowerShell

Khi bạn join 1 máy tính vào domain, nó sẽ mặc định thêm vào thư mục computers. Cách tốt nhất là di chuyển máy tính từ vị trí mặc định đến các OU khác nhau, phù hợp với yêu cầu của cấu trúc tổ chức công ty bạn
Rất may chúng ta có thể làm tự động điều này với PowerShell khi join các máy tính đến domain.
Chạy lệnh này để join 1 máy tính đến domain và chỉ định đường dẫn OU
Add-Computer -DomainName "Domain02" -OUPath "OU=testOU,DC=domain,DC=Domain,DC=com"
Trong ví dụ sau, tôi sẽ join máy tính vào domain, di chuyển đến phòng Sales. Tôi đã tạo OU tên sales, vì vậy tôi muốn các máy tính tự động được di chuyển đến OU tương ứng.
lệnh PowerShell yêu cầu distingguishedName OU. Cách dễ nhất để có điều này là duyệt OU trong Active Directory Users and Computers, click vào tên OU, chuột phải OU, chọn View - Advanced Features. Sau đó click lên OU - Properties -tab Atribute Editor và copy giá trị  tên phân tách đó.
Sau khi copy xong thì bỏ Advanced Features đi
Dán đường dẫn này vào dòng lệnh, dưới đây là dòng lệnh cho domain. Điều này sẽ add computer vào OU Sales trong Active Directory.
Add-Computer -DomainName "ad.activedirectorypro.com" -OUPath "OU=Sales,OU=ADPRO Computers,DC=ad,DC=activedirectorypro,DC=com"
Tôi vừa đi qua 3 ví dụ sử dụng PowerShell để join các máy tính vào domain. Bây giờ bạn có thể quên đi cách đăng nhập vào mỗi máy tính và thêm chúng bằng tay vào domain. Với PowerShell bạn có thể nhanh chóng thêm 1 máy tính hoặc nhiều may tính cùng lúc.

Các lệnh này bạn có thể chuyển nó thành file PowerShell và chạy nó bằng cách tạo file bat, với đường dẫn, lúc đó bạn không phải gõ bằng tay nữa.

Cách làm:
Tạo folder ở ổ C:\joindomain
Tạo 1 file joindomainStore.bat và 1 file joindomainStore.ps1 trong thư mục trên
1. Tạo file joindomainStore.bat với nội dung:
powershell -ExecutionPolicy ByPass -File C:\joindomain\joindomainStore.ps1
pause

2. Tạo joindomainStore.ps1 với nội dung 3 dòng tách biệt:
Get-ExecutionPolicy

$cred = New-Object System.Management.Automation.PsCredential("domainname\administrator", (ConvertTo-SecureString "Mat khau quan tri" -AsPlainText -Force));

Add-Computer -DomainName "ad.activedirectorypro.com" -OUPath "OU=Computers,OU=Vietnam,OU=ADAsia,DC=ad,DC=activedirectorypro,DC=com" -Credential $cred

Phần đường dẫn OU các bạn dựa vào thực tế cấu trúc phân tầng OU của mình, cách lấy như ở trên