gpt4 book ai didi

azure - 如何使用 PowerShell Runbook 自动将 Azure DNS 区域备份到存储帐户

转载 作者:行者123 更新时间:2023-12-03 06:17:52 26 4
gpt4 key购买 nike

我正在尝试使用自动化帐户将 Azure DNS 区域备份自动化到 Azure 存储帐户。我想创建一个 PowerShell Runbook,它获取所有 DNS 区域并导出区域的区域文件并将其上传到存储帐户。

#Authentication
Connect-AzAccount
Set-AzContext -Subscription mysubscriptiom

#Variables
$storageAccountName = "dnszonesbackup"
$storageAccountKey = "key"
$containerName = "dns-backups"

#Logic
$context = New-AzStorageContext -StorageAccountName $storageAccountName -StorageAccountKey $storageAccountKey
$zones = Get-AzDnsZone
foreach ($zone in $zones) {
$zoneFile = "Here i am stuck, How to export a zone files of DNS Zones and pass into blob storage"
$blobName = $zone.Name + ".zone"
Set-AzStorageBlobContent -Context $context -Container $containerName -File $zoneFile -Blob $blobName
}

但是,当我尝试导出区域文件时,我找不到任何导出 cmdlet。有什么可能的方法来实现这一点吗?

最佳答案

However when I am trying export the zone file I couldn't find any export cmdlet. Is there any possible way to achieve this.

我已使用自动化 Runbook 将 Azure DNS 信息上传到 Azure Blob

Note: You can schedule the script to run automatically at a specific time to upload the Azure DNS information to Azure blob.

Powershell 代码。

$Appid = "APPID"
$PSWord = ConvertTo-SecureString -String "APSecret" -AsPlainText -Force
$tenantID = "TenantID"
$Credential = New-Object -TypeName "System.Management.Automation.PSCredential" -ArgumentList $Appid,$PSWord
Connect-AzAccount -Credential $Credential -Tenant $tenantID -ServicePrincipal -Subscription "SubscriptionID"
Set-AzContext -Tenant $tenantID
$storageAccountName = "storageaccount name"
$storageAccountKey = "storageaccount key"
$containerName = "containername"
$context = New-AzStorageContext -StorageAccountName $storageAccountName -StorageAccountKey $storageAccountKey
$zones = Get-AzDnsZone
foreach ($zone in $zones) {
$recordSets = Get-AzDnsRecordSet -ZoneName $zone.Name -ResourceGroupName $zone.ResourceGroupName
$json = $recordSets | ConvertTo-Json
$jsonR = ConvertFrom-Json $json
$jsonR | Export-Csv "DNS.csv" -Append -NoTypeInformation
$result = Set-AzStorageBlobContent -Context $context -Container "venkat" -File "DNS.csv" -Blob "DNS.csv" -Force
}
$result

自动化操作手册输出:

enter image description here

从 azure 自动化帐户运行代码后,文件已成功上传到 Azure blob。

enter image description here

感谢Anthony Norwood提出同样的建议。

关于azure - 如何使用 PowerShell Runbook 自动将 Azure DNS 区域备份到存储帐户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76070458/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com