簡介
本文檔介紹如何在Cisco Umbrella中使用PowerShell為動態網路更新IP地址。
必要條件
需求
本文件沒有特定需求。
採用元件
本檔案中的資訊是根據Cisco Umbrella。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
概觀
本文旨在作為一般概述。此處提供使用動態IP更新Umbrella的支援選項清單。
您可以使用任何指令碼化方法使用API更新IP地址。 本文演示如何使用PowerShell。
開始此程式之前:
- 按此處詳細介紹的方法配置儀表板。
- 在部署>網路下的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