Azure の Local Network Gateway の Gateway IP Addressを設定したい

うちの会社をAzureとVPN接続していたいなーと思いました。
しかし、会社は固定IP環境ではなく、AzureのローカルネットワークゲートウェイのゲートウェイIPアドレスにはIPしか指定できません。
それであれば、多少接続が切れてしまうけども、IPが切り替わるたびにゲートウェイIPアドレスを設定してやればいいじゃないかー、ということで、ちょうど 札幌 Azure/Microsoft Learn もくもく会 24 がありましたので設定方法を探してみました。
# ローカルネットワークゲートウェイのゲートウェイIPを設定するよ.ps1

#
# 
#
$UserName = "ユーザー名"
$Password = "パスワード"
$TenantId = "テナントID"
$SubscriptionId = "サブスクリプションID"

$ResourceGroupName = "リソースグループ名"
$LocalNetworkGatewayName = "ローカルネットワークゲートウェイの名前"


#
# Get external ip address
# なにかしらどこかから外部のIPを取得する。実際には自前で作ったサービスを使っています。
#
$ExternalIPAddress = (Invoke-WebRequest -Uri "https://www.myexternalip.com/raw").Content


#
# Login
#
$secureStringPassword = $Password | ConvertTo-SecureString -AsPlainText -Force 
$credential = New-Object System.Management.Automation.PSCredential -ArgumentList $UserName, $secureStringPassword

Connect-AzAccount -Credential $credential `
    -Tenant $TenantId `
    -SubscriptionId $SubscriptionId 


#
# Set GatewayIpAddress
#
$lgw = Get-AzLocalNetworkGateway -ResourceGroupName $ResourceGroupName -Name $LocalNetworkGatewayName

$lgw.GatewayIpAddress = $ExternalIPAddress

Set-AzLocalNetworkGateway -LocalNetworkGateway $lgw


あとはこれをIPが変わったときだけ動かせばOKだと思ってますが、そこまでは試していないのでうまくいかなかったらごめんなさい。