Định cấu hình proxy trong PowerShell

Bình luận: 0

PowerShell là một shell dòng lệnh hướng đến nhiệm vụ và môi trường kịch bản được phát triển bởi Microsoft được thiết kế để kiểm soát nhiều hoạt động trên các hệ điều hành Windows. Trong số các chức năng chính của nó là khả năng thực hiện cấu hình proxy. Dòng lệnh và khả năng chạy các tác vụ như vậy giúp tăng cường tự động hóa và dễ dàng quản lý trung tâm các cài đặt mạng của thiết bị trên miền.

1.png

Ưu điểm chính của việc định cấu hình máy chủ proxy sử dụng PowerShell so với các phương thức phổ biến khác là nó không yêu cầu giao diện đồ họa vì nó trực tiếp thay đổi cài đặt kết nối Internet. Tính năng này đặc biệt hữu ích cho các quản trị viên hệ thống cần giám sát cài đặt máy chủ proxy trên các thiết bị khác nhau vì chúng sẽ có thể nhanh chóng thay đổi cài đặt và thêm chúng vào các tập lệnh khác đã được tự động hóa để có hiệu quả hơn.

Các lệnh chính cho cấu hình proxy trong PowerShell

Có hai cách tiếp cận chính đối với cấu hình của các máy chủ proxy toàn hệ thống bằng PowerShell: sử dụng các lệnh netsh để kiểm soát dịch vụ WinHTTP và chỉnh sửa khóa đăng ký với lệnh Set-ItemProperty . Cụ thể, phần này tập trung vào hai phương pháp này và cung cấp một vài ví dụ thực tế cho các cài đặt proxy hiệu quả cho toàn bộ hệ thống và các ứng dụng của nó. Cách tiếp cận kép này cho phép các quản trị viên làm việc với các cài đặt mạng hiệu quả hơn ở các cấp độ khác nhau.

Sử dụng lệnh netsh để thiết lập proxy

Lệnh netsh được nhúng vào HĐH Windows và phục vụ nhiều mục đích. Một trong những chức năng có thể được thực hiện bởi lệnh này là định cấu hình các cài đặt proxy liên quan đến dịch vụ WinHTTP. Điều này cho phép người dùng thay đổi cách vận hành dịch vụ hệ thống thay vì thay đổi proxy trong các ứng dụng hoặc trình duyệt hỗ trợ các loại mạng khác nhau.

Điều quan trọng là phải nhấn mạnh rằng việc sử dụng lệnh netsh trong PowerShell bị giới hạn trong các proxy sử dụng ủy quyền IP và không phải là ủy quyền yêu cầu thông tin đăng nhập.

Tại đây, cách bạn có thể định cấu hình cài đặt proxy bằng PowerShell:


netsh winhttp set proxy IP-address:port

Để xem các cài đặt proxy hiện tại như địa chỉ và sử dụng cổng:


netsh winhttp show proxy

Để xóa cài đặt proxy:


netsh winhttp reset proxy

Thiết lập một máy chủ proxy cấp hệ thống thông qua PowerShell

Cài đặt proxy có thể được quản lý tập trung trong PowerShell bằng cách định cấu hình hệ thống đăng ký theo cách thủ công. Phương pháp này tác động đến bất kỳ chương trình nào sử dụng hệ thống Windows để quản lý cài đặt mạng của họ, bao gồm gần như tất cả các trình duyệt web.

Để thêm cài đặt proxy không yêu cầu bất kỳ ủy quyền nào, bạn có thể áp dụng các lệnh PowerShell sau:


Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" -Name ProxyServer -Value "IP address:port"
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" -Name ProxyEnable -Value 1

Nếu bạn đang sử dụng proxy riêng cần thông tin đăng nhập, đây là cách tiến hành:


$proxyAddress = "http://IP address:port"
# Ở đây chúng tôi chỉ định địa chỉ của máy chủ proxy cần thiết
$credentials = Get-Credential
# Bạn sẽ được nhắc nhập tên người dùng và mật khẩu với lệnh này
[system.net.webrequest]::DefaultWebProxy = New-Object system.net.webproxy($proxyAddress)
# Tạo một đối tượng proxy mới với địa chỉ được chỉ định
[system.net.webrequest]::DefaultWebProxy.Credentials = $credentials
# Áp dụng thông tin đăng nhập trước đây cho proxy

Nếu bạn muốn tắt cài đặt proxy, hãy sử dụng lệnh sau:


Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" -Name ProxyEnable -Value 0

Khắc phục sự cố proxy trong PowerShell

Có một số biện pháp có thể được áp dụng khi có khó khăn trong việc thực hiện các cài đặt proxy. Dưới đây là các lệnh và kỹ thuật quan trọng để khắc phục sự cố.

Cài đặt hiện tại của bạn cho proxy có thể dễ dàng được kiểm tra bằng cách sử dụng lệnh như sau:


Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" | Select-Object ProxyServer, ProxyEnable

Với mục đích thiết lập liệu proxy có cơ hội chuyển tiếp các yêu cầu mạng của bạn hay không, lệnh sau có thể được sử dụng để ping một trang web đã biết, giả sử ví example.com, tại một cổng HTTP tiêu chuẩn.


Test-NetConnection -ComputerName "example.com" -Port 80

Bất kỳ trang web nào mà bạn chọn đều có thể được đặt thay vì ví dụ example.com, nếu cần.

Nếu bạn vẫn gặp sự cố kết nối thông qua proxy, bạn nên kiểm tra tất cả các cài đặt một lần nữa. Đảm bảo rằng các chi tiết được cung cấp bởi nhà cung cấp proxy của bạn là chính xác và bản thân proxy đang hoạt động.

Bình luận:

0 Bình luận