functions/set-d365activeazurestorageconfig.ps1
<#
.SYNOPSIS Set the active Azure Storage Account configuration .DESCRIPTION Updates the current active Azure Storage Account configuration with a new one .PARAMETER Name The name the Azure Storage Account configuration you want to load into the active Azure Storage Account configuration .EXAMPLE Set-D365ActiveAzureStorageConfig -Name "UAT-Exports" Will scan the list of Azure Storage Account configurations and select the one that matches the supplied name. This gets imported into the active Azure Storage Account configuration. .NOTES You will have to run the Initialize-D365Config cmdlet first, before this will be capable of working. You will have to run the Add-D365AzureStorageConfig cmdlet at least once, before this will be capable of working. #> function Set-D365ActiveAzureStorageConfig { [CmdletBinding()] param ( [string] $Name ) if ((Get-PSFConfig -FullName "d365fo.tools*").Count -eq 0) { Write-PSFMessage -Level Host -Message "Unable to locate the <c='em'>configuration objects</c> on the machine. Please make sure that you ran <c='em'>Initialize-D365Config</c> first." Stop-PSFFunction -Message "Stopping because unable to locate configuration objects." return } else { $Accounts = [hashtable](Get-PSFConfigValue -FullName "d365fo.tools.azure.storage.accounts") if(($null -eq $Accounts) -or ($Accounts.ContainsKey("Dummy"))) {$Accounts = @{}} if (!($Accounts.ContainsKey($Name))) { Write-PSFMessage -Level Host -Message "An Azure Storage Account with that name <c='em'>doesn't exists</c>." Stop-PSFFunction -Message "Stopping because an Azure Storage Account with that name doesn't exists." return } else { $Details = $Accounts[$Name] Set-PSFConfig -FullName "d365fo.tools.active.azure.storage.account" -Value $Details Get-PSFConfig -FullName "d365fo.tools.active.azure.storage.account" | Register-PSFConfig Write-PSFMessage -Level Host -Message "Please <c='em'>restart</c> the powershell session / console. This change affects core functionality that <c='em'>requires</c> the module to be <c='em'>reloaded</c>." } } } |