Şu anda, varsayılan bağlantıyı kontrol eden ve varsayılan komut dosyasında belirtilen değilse, VPN'e bağlanan gerçekten çok temel bir PS komut dosyası oluşturdum:
$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'
}
Etini çıkarmak istiyorum:
- sürekli ağ değişikliklerini izler ve yanıt verirken
- VPN çalışana kadar belirtilmemiş bir ağdaysa herhangi bir ağ erişimini engelleyin
Ancak Google-fu'm yukarıdaki noktaları yapmamı sağlayacak bir yol bulamadı. Onları başarmama izin verecek herhangi bir işaretçi (PS için bazı ağ kütüphanesi, belki de?) Çok hoş olurdu.