目錄

簡介

必要條件

需求

採用元件

概觀

使用PowerShell更新動態IP（硬編碼IP）

允許編寫動態IP更新指令碼的方法

簡介

本文檔介紹如何在Cisco Umbrella中使用PowerShell為動態網路更新IP地址。

必要條件

需求

本文件沒有特定需求。

採用元件

本檔案中的資訊是根據Cisco Umbrella。

本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除（預設）的組態來啟動。如果您的網路運作中，請確保您瞭解任何指令可能造成的影響。

概觀

本文旨在作為一般概述。維護具有動態IP地址的網路一文提供了支援使用動態IP更新Umbrella的選項清單。

.

您可以使用任何指令碼化方法使用API更新IP地址。  本文演示如何使用PowerShell。

開始此程式之前：

- 按照使用動態IP地址維護網路一文中的詳細資訊配置儀表板。

- 在部署>網路下的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