PowerShell to zorientowana na zadania powłoka wiersza poleceń i środowisko skryptowe opracowane przez firmę Microsoft w celu kontrolowania wielu działań w systemach operacyjnych Windows. Wśród jego podstawowych funkcji jest możliwość wykonywania konfiguracji proxy. Wiersz poleceń i jego zdolność do uruchamiania takich zadań zwiększa automatyzację i łatwość centralnego zarządzania ustawieniami sieciowymi urządzeń w domenie.
Główną zaletą konfigurowania serwera proxy za pomocą PowerShell w porównaniu do innych popularnych metod jest to, że nie wymaga interfejsu graficznego, ponieważ bezpośrednio zmienia ustawienia połączenia internetowego. Funkcja ta jest szczególnie przydatna dla administratorów systemu, którzy muszą monitorować ustawienia serwera proxy na różnych urządzeniach, ponieważ będą mogli szybko zmienić ustawienia i dodać je do innych skryptów, które są już zautomatyzowane w celu zwiększenia wydajności.
Istnieją dwa główne podejścia do konfiguracji serwerów proxy w całym systemie przy użyciu PowerShell: używanie poleceń netsh do kontrolowania usługi WinHTTP i edytowanie kluczy rejestru za pomocą polecenia Set-ItemProperty. W szczególności ta sekcja koncentruje się na tych dwóch metodach i zawiera kilka praktycznych przykładów skutecznych ustawień proxy dla całego systemu i jego aplikacji. To podwójne podejście pozwala administratorom na bardziej efektywną pracę z ustawieniami sieciowymi na różnych poziomach.
Polecenie netsh jest wbudowane w system operacyjny Windows i służy wielu celom. Jedną z funkcji, którą można wykonać za pomocą tego polecenia, jest konfigurowanie ustawień proxy w odniesieniu do usługi WinHTTP. Pozwala to użytkownikowi na zmianę sposobu działania usług systemowych zamiast zmiany serwerów proxy w aplikacjach lub przeglądarkach obsługujących różne typy sieci.
Należy podkreślić, że użycie polecenia netsh w PowerShell jest ograniczone do serwerów proxy korzystających z autoryzacji IP, a nie do serwerów proxy wymagających poświadczeń logowania.
Oto jak można skonfigurować ustawienia proxy za pomocą PowerShell:
netsh winhttp set proxy IP-address:port
Aby wyświetlić bieżące ustawienia proxy, takie jak adres i używany port:
netsh winhttp show proxy
Aby usunąć ustawienia proxy:
netsh winhttp reset proxy
Ustawienia proxy mogą być zarządzane centralnie w PowerShell poprzez ręczną konfigurację rejestru systemu. Ta metoda ma wpływ na wszystkie programy, które używają systemu Windows do zarządzania ustawieniami sieciowymi, co obejmuje prawie wszystkie przeglądarki internetowe.
Aby dodać ustawienia proxy, które nie wymagają żadnej autoryzacji, można zastosować następujące polecenia PowerShell:
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
Jeśli korzystasz z prywatnego serwera proxy, który wymaga danych logowania, oto jak postępować:
$proxyAddress = "http://IP address:port"
# Tutaj określamy adres wymaganego serwera proxy
$credentials = Get-Credential
# Zostaniesz poproszony o wprowadzenie nazwy użytkownika i hasła za pomocą tego polecenia
[system.net.webrequest]::DefaultWebProxy = New-Object system.net.webproxy($proxyAddress)
# Tworzy nowy obiekt proxy o podanym adresie
[system.net.webrequest]::DefaultWebProxy.Credentials = $credentials
# Zastosuj poświadczenia wprowadzone wcześniej do serwera proxy
Jeśli chcesz wyłączyć ustawienia proxy, użyj następującego polecenia:
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" -Name ProxyEnable -Value 0
Istnieje kilka środków, które można zastosować w przypadku trudności z wykonywaniem ustawień proxy. Poniżej znajdują się ważne polecenia i techniki rozwiązywania problemów.
Bieżące ustawienia proxy można łatwo sprawdzić za pomocą następującego polecenia:
Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" | Select-Object ProxyServer, ProxyEnable
W celu ustalenia, czy serwer proxy w jakikolwiek sposób przekazuje żądania sieciowe, można użyć następującego polecenia do pingowania znanej witryny, powiedzmy example.com, na standardowym porcie HTTP.
Test-NetConnection -ComputerName "example.com" -Port 80
W razie potrzeby zamiast "example.com" można umieścić dowolną wybraną stronę internetową.
Jeśli nadal występują problemy z połączeniem za pośrednictwem serwera proxy, należy ponownie sprawdzić wszystkie ustawienia. Upewnij się, że dane podane przez dostawcę proxy są prawidłowe, a sam serwer proxy działa.
Komentarze: 0