Skip to content

Instantly share code, notes, and snippets.

@artisticcheese
Last active September 5, 2018 20:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save artisticcheese/cfba600029012988e7d39a9020a1b0dd to your computer and use it in GitHub Desktop.
Save artisticcheese/cfba600029012988e7d39a9020a1b0dd to your computer and use it in GitHub Desktop.
replicatesecrets.ps1
param(
[Parameter(Mandatory=$true)]
$sourceKeyVaultName,
[Parameter(Mandatory=$true)]
$destinationKeyvaultName
)
Function ExportAllKeys
{
param ($sourceKeyVaultName, $destinationKeyVaultName)
Write-Output "Exporting from $sourceKeyVaultName to $destinationKeyVaultName"
$destinationKeyVault = Get-AzureRMKeyVault -name $destinationKeyVaultName
$secrets = Get-AzureKeyVaultSecret -VaultName $sourceKeyVaultName
write-Output "Found $secrets in $sourceKeyVaultName"
foreach ($secretin$secrets)
{
Write-Output "Exporting $secret"
$secret = Get-AzureKeyVaultSecret -VaultName $sourceKeyVaultName -Name $secret.Name
Set-AzureKeyVaultSecret -VaultName $destinationKeyVault.VaultName -Name $secret.Name -SecretValue $secret.SecretValue -Tag $secret.Tags -ContentType $secret.ContentType
}
}
"Logging in to Azure..."
$Conn = Get-AutomationConnection -Name AzureRunAsConnection
Add-AzureRMAccount -ServicePrincipal -Tenant $Conn.TenantID -ApplicationId $Conn.ApplicationID -CertificateThumbprint $Conn.CertificateThumbprint
"Selecting Azure subscription..."
Select-AzureRmSubscription -SubscriptionId $Conn.SubscriptionID -TenantId $Conn.tenantid
ExportAllKeys -sourceKeyVaultName $sourceKeyVaultName -destinationKeyVaultName $destinationKeyvaultName
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment