На данный момент я создал действительно базовый сценарий PS, который просто проверяет соединение по умолчанию и подключается к VPN, если значение по умолчанию отличается от указанного в сценарии:
$DefaultNetworkIndex = Get-NetRoute -DestinationPrefix 0.0.0.0/0 | Sort-Object {$_.RouteMetric+(Get-NetIPInterface -AssociatedRoute $_).InterfaceMetric} | Select-Object -First 1 -ExpandProperty InterfaceIndex
$DefaultNetwork = (Get-NetConnectionProfile -InterfaceIndex $DefaultNetworkIndex).Name
if ($DefaultNetwork -ne 'Some Connection Name') {
Invoke-Expression 'rasdial VPN username password /phonebook:rasphone.pbk'
}
Я хочу конкретизировать это, чтобы:
- постоянно следить за изменениями в сети и делать вещи в ответ
- заблокировать любой доступ к сети, если он находится в неопределенной сети, пока не работает VPN
Но мой гугл-фу не нашел у меня никакого способа позволить выполнить вышеуказанные пункты. Любые указатели, которые позволят мне выполнить их (возможно, сетевая библиотека для PS) будет очень приветствоваться.