Việc thay đổi DNS server là một thao tác phổ biến giúp tăng tốc độ duyệt web, cải thiện bảo mật hoặc truy cập vào các trang web bị chặn. Thay vì phải vào từng cửa sổ cài đặt, bạn hoàn toàn có thể sử dụng PowerShell để thực hiện việc này một cách nhanh chóng và chính xác. Bài viết này sẽ cung cấp cho bạn cách đổi DNS bằng PowerShell từ cơ bản đến nâng cao, kèm theo các mẹo và lưu ý quan trọng.
Tổng quan về cách đổi DNS bằng PowerShell

PowerShell là một công cụ dòng lệnh mạnh mẽ của Windows, cho phép quản trị viên và người dùng thực hiện các tác vụ hệ thống một cách tự động hóa. Thay đổi DNS bằng PowerShell mang lại nhiều lợi thế như tiết kiệm thời gian khi cần cấu hình hàng loạt máy tính, giảm thiểu sai sót thao tác tay và có thể tích hợp vào các script quản trị. Quy trình cơ bản bao gồm xác định network adapter, sau đó gán địa chỉ DNS mới cho adapter đó.
Lợi ích và hạn chế của việc thay đổi DNS bằng PowerShell

Lợi ích
- Tự động hóa cao: Có thể viết script để đổi DNS cho nhiều máy cùng lúc hoặc theo lịch.
- Chính xác: Giảm nguy cơ nhập sai địa chỉ IP so với thao tác thủ công.
- Không cần GUI: Hữu ích khi truy cập từ xa qua SSH hoặc khi Windows bị lỗi giao diện.
- Kiểm soát chi tiết: Dễ dàng cấu hình riêng cho từng adapter (Ethernet, Wi-Fi, VPN…).
- Yêu cầu quyền Admin: Hầu hết các lệnh đều cần chạy với tư cách Administrator.
- Không thân thiện với người mới: Cần nắm cú pháp cơ bản của PowerShell.
- Sai lầm dễ mắc: Nhầm tên adapter hoặc quên không xóa DNS cũ có thể gây lỗi kết nối.
Hạn chế
Hướng dẫn từng bước cách đổi DNS bằng PowerShell

Bước 1: Mở PowerShell với quyền Administrator
Nhấp chuột phải vào menu Start, chọn Windows PowerShell (Admin) hoặc Terminal (Admin). Nếu không có quyền này, các lệnh sẽ báo lỗi truy cập.
Bước 2: Xác định tên Network Adapter
Dùng lệnh Get-NetAdapter để liệt kê tất cả các adapter đang hoạt động. Kết quả trả về bao gồm Name, InterfaceDescription, Status… Bạn cần ghi nhớ chính xác tên adapter muốn thay đổi (ví dụ: “Ethernet” hoặc “Wi-Fi”).
Get-NetAdapter | Where-Object {$_.Status -eq "Up"}
Bước 3: Đổi DNS cho IPv4
Sử dụng lệnh Set-DnsClientServerAddress. Cú pháp cơ bản:
Set-DnsClientServerAddress -InterfaceAlias "Tên Adapter" -ServerAddresses ("DNS1","DNS2")
Ví dụ đổi sang DNS Google (8.8.8.8 và 8.8.4.4) cho adapter Ethernet:
Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses ("8.8.8.8","8.8.4.4")
Bước 4: Đổi DNS cho IPv6 (tùy chọn)
Nếu bạn muốn cấu hình cả IPv6, dùng thêm tham số -AddressFamily IPv6 hoặc chèn địa chỉ IPv6 vào danh sách. Ví dụ dùng DNS Google IPv6:
Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses ("2001:4860:4860::8888","2001:4860:4860::8844")
Bước 5: Kiểm tra lại cấu hình
Dùng lệnh Get-DnsClientServerAddress để xem DNS đã được cập nhật chưa:
Get-DnsClientServerAddress -InterfaceAlias "Ethernet"
Kết quả hiển thị danh sách DNS server đang áp dụng cho adapter đó.
Các lệnh PowerShell đổi DNS nâng cao

Thay đổi DNS cho tất cả adapter đang hoạt động
Có. Lệnh trên hoạt động tốt trên cả Windows 10, Windows 11 và Windows Server 2016 trở lên. Một số phiên bản cũ hơn có thể thiếu module NetAdapter, nhưng bạn vẫn có thể dùng lệnh netsh thay thế.
Làm thế nào để đổi DNS bằng PowerShell cho nhiều máy tính trong mạng LAN?
Dùng lệnh Set-DnsClientServerAddress -InterfaceAlias “Tên Adapter” -ResetServerAddresses. Lệnh này sẽ xóa tất cả DNS tĩnh và quay về nhận từ DHCP.
Có cần khởi động lại máy sau khi đổi DNS không?
Không cần. Thay đổi có hiệu lực ngay lập tức, nhưng nên chạy ipconfig /flushdns để làm sạch cache cũ. Nếu website vẫn không truy cập được, thử khởi động lại trình duyệt hoặc renew IP.
Làm sao để kiểm tra DNS hiện tại đang dùng trên máy?
Dùng lệnh Get-DnsClientServerAddress để xem tất cả adapter, hoặc dùng ipconfig /all trong Command Prompt.
Kết luận

Cách đổi DNS bằng PowerShell là một kỹ năng hữu ích cho bất kỳ ai làm việc nhiều với hệ thống Windows. Nó không chỉ giúp bạn tiết kiệm thời gian mà còn mang lại khả năng kiểm soát mạng chính xác và linh hoạt. Bằng cách làm theo hướng dẫn chi tiết trên, bạn có thể dễ dàng cấu hình DNS cho một hoặc nhiều máy tính chỉ với vài dòng lệnh. Hãy thực hành ngay hôm nay để trải nghiệm sự khác biệt và áp dụng vào công việc quản trị hệ thống của mình.







