简介
本文档介绍如何在Cisco Umbrella中使用PowerShell为动态网络更新IP地址。
先决条件
要求
本文档没有任何特定的要求。
使用的组件
本文档中的信息基于Cisco Umbrella。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
概述
本文旨在作为一般概述。此处提供使用动态IP更新Umbrella的支持选项列表。
您可以使用任何脚本方法使用API更新您的IP地址。 本文演示如何使用PowerShell。
开始此过程之前:
- 按此处详细介绍的方法配置控制面板。
- 在Deployments > Networks下的Umbrella Dashboard中记录动态网络的名称。
使用PowerShell更新动态IP(硬编码IP)
1.确定此网络的当前外部IP地址。这必须从此网络上的计算机执行。
$MyIp = Resolve-DnsName myip.opendns.com | Select -ExpandProperty IPAddress
2.获取凭证。请注意,这些设备必须对您的控制面板具有完全管理权限。
$MyCredential = Get-Credential
这将打开一个弹出窗口。
3.输入您的电子邮件地址和密码。然后,您可以使用此命令使用这些凭证发布更新:
Invoke-RestMethod -Uri "https://updates.opendns.com/nic/update?hostname=biscuit&myip=$MyIP" -Credential $MyCredential
允许编写动态IP更新脚本的方法
此方法需要预存储凭据以供无人值守使用。
警告:此方法不安全,仅作为示例提供。这仅在PowerShell 5.1上进行了测试。
1.首先,生成包含密码的模糊文件。此操作只需运行一次。输入控制面板中任何完整管理员用户的电子邮件地址和密码。
(Get-Credential).Password | ConvertFrom-SecureString | Out-File "C:\MyPassword.txt"
2.然后,您可以在完整的脚本中使用此文件:
$UmbrellaNetwork = "your network name"
$User = "your admin email address"
$MyIp = Resolve-DnsName myip.opendns.com | Select -ExpandProperty IPAddress
$File = "C:\MyPassword.txt"
$MyCredential=New-Object -TypeName System.Management.Automation.PSCredential ` -ArgumentList $User, (Get-Content $File | ConvertTo-SecureString)
Invoke-RestMethod -Uri "https://updates.opendns.com/nic/update?hostname=$UmbrellaNetwork&myip=$MyIp" -Credential $MyCredential