В Windows 10/11 используется максимально упрощенные графический интерфейс настройки VPN подключений. Чтобы задать специфические настройки для VPN подключения приходится использовать как классический интерфейс настройки VPN подключения в панели управления, так и современное приложение настройки сети в панели Параметры (команда ms-settings:network-vpn
для быстрого доступа к настройкам ). В этой статье мы посмотрим на особенности управления VPN-подключениями в Windows с помощью PowerShell: рассмотрим, как создать создать/изменить/удалить VPN подключение и подключится/отключиться к VPN серверу.
Для создания нового VPN подключения в Windows используется командлет Add-VpnConnection . В самом простом случае для создания нового VPN подключения нужно указать его имя и адрес VPN сервера.
Add-VpnConnection -Name "WorkVPN" -ServerAddress "vpn.remontka.com” -PassThru
Чтобы задать кастомные настройки для VPN подключения, используйся следующие опции (наиболее распространённые):
Automatic
– Windows сама пытается определить тип VPN туннеля IKEv2
— Internet Key Exchange PPTP
– Point to Point Tunneling Protocol L2TP
– Layer 2 Tunneling Protocol /IPsec с сертификатом или общим ключом (Pre-share key) SSTP
– Secure Socket Tunneling Protocol Pap, Chap, MSChapv2, Eap, MachineCertificate
; NoEncryption, Optional, Required, Maximum, Custom
); Use default gateway on remote network
в настройках параметра VPN адаптера); Ниже приведем несколько примеров PowerShell команд для создания разных типов VPN подключений.
Add-VpnConnection -Name "WorkVPN_L2TP" -ServerAddress "vpn.remontka.com" -TunnelType L2TP -L2tpPsk "str0ngSharedKey2" -Force -EncryptionLevel "Required" -AuthenticationMethod MSChapv2 -UseWinlogonCredential -RememberCredential -AllUserConnection –PassThru
Add-VpnConnection -Name "WorkVPN_PPTP" -ServerAddress "vpn.remontka.com" TunnelType "PPTP" -EncryptionLevel "Required" -AuthenticationMethod MSChapv2 -SplitTunneling -PassThru
Add-VpnConnection -Name "WorkVPN_SSTP" -ServerAddress "vpn.remontka.com" -TunnelType "SSTP" -EncryptionLevel "Required" -AuthenticationMethod MSChapv2 -RememberCredential -SplitTunneling -PassThru
Import-PfxCertificate -FilePath $comp_certificate -CertStoreLocation Cert:LocalMachineMy -Password $password
Import-Certificate -FilePath $ca_cert -CertStoreLocation Cert:LocalMachineRoot
Add-VpnConnection -Name "WorkVPN_IKEv2" -ServerAddress "vpn.remontka.com" -TunnelType Ikev2 -EncryptionLevel "Maximum" -AuthenticationMethod MachineCertificate -SplitTunneling $True -PassThru
Подключения, доступные для всех пользователей (созданные с параметром AllUserConnection
), отображаются в панели управления сетями, а в качестве Owner указана System
. У подключения пользователя здесь будет указано domainusername
.
Общие VPN подключения сохраняются в текстовый файл %ProgramData%MicrosoftNetworkconnectionsPbkrasphone.pbk
.
Чтобы изменить параметры существующего VPN подключения, используется команда Set-VpnConnection:
Set-VpnConnection -Name "WorkVPN_SSTP" –splittunneling $false –PassThru
Если вам нужно изменить параметры IPsec для существующего VPN подключения используется командлет Set-VpnConnectionIpsecConfiguration (только для IKEv2 и L2TP VPN)
Set-VpnConnectionIPsecConfiguration -ConnectionName "WorkVPN_IKEv2" -AuthenticationTransformConstants SHA256128 -CipherTransformConstants AES256 -DHGroup Group14 -EncryptionMethod AES256 -IntegrityCheckMethod SHA256 -PfsGroup PFS2048 –PassThru
Для принудительного сохранения имени и пароля для VPN подключения можно использовать модуль VPNCredentialsHelper .
Установите модуль на компьютер из PowerShellGallery (также можно установить PowerShell модуль в офлайн режиме ):
Install-Module -Name VPNCredentialsHelper
После этого вы можете сохранить в Windows Credential Manager определенное имя и пароль для вашего VPN подключения:
$user = "vpnusername"
$plainpass = "vpn_password"
Set-VpnConnectionUsernamePassword -connectionname "WorkVPN_SSTP" -username $user -password $plainpass
В современных версиях Windows вы можете динамически добавлять в таблицу маршрутизации маршруты при подключении к VPN .
Add-VpnConnectionRoute -ConnectionName "workVPN" -DestinationPrefix 192.168.111.0/24 –PassThru
Такой маршрут будет активирован только после успешного подключения к серверу VPN.
Вывести список всех VPN подключений, доступных пользователю:
Get-VpnConnection
Для удаления VPN подключения, выполните:
Remove-VpnConnection -Name "WorkVPN_SSTP"
Для подключения к VPN серверу с ранее настроеннм профилем VPN, выполните:
rasdial "WorkVPN_SSTP"
Вывести статусы всех VPN подключений:
Get-Vpnconnection | Select Name, Connectionstatus
Как менялся логотип Apple на протяжении многих лет. Логотип Apple — это не просто символ,…
Security Boot Fail при загрузке Acer — решение проблемы При загрузке ноутбука Acer с флешки,…
Ноутбук не включается — варианты решения Если при попытке включить ноутбук вы обнаруживаете, что он…
The AC power adapter wattage and type cannot be determined — причины и решение При…
Свистит или звенит блок питания компьютера — причины и решения Некоторые владельцы ПК могут обратить…
Мигает Caps Lock на ноутбуке HP — почему и что делать? При включении ноутбука HP…