To fix the error, simply replace $storageAccountName with $StorageAccountName in the script
try {
# Create the context for the storage account which will be used to copy the disk to the storage account
Write-Log -Message "Attempting to create storage account: $($StorageAccountName)" -Level Info
$StorageAccount = New-AzStorageAccount -ResourceGroupName $resourceGroup -Name $StorageAccountName -SkuName Standard_LRS -Kind StorageV2 -MinimumTlsVersion TLS1_2 -AllowBlobPublicAccess $false -PublicNetworkAccess disabled -Location $VM.Location
$StorageAccountKey = Get-AzStorageAccountKey –ResourceGroupName $StorageAccount.ResourceGroupName `–Name $StorageAccount.StorageAccountName
$DestinationContext = New-AzStorageContext –StorageAccountName $StorageAccount.StorageAccountName `–StorageAccountKey ($StorageAccountKey).Value[0]
Write-Log -Message "Attempting to create storage account container: $($StorageAccountName)" -Level Info
$Container = New-AzStorageContainer -Name $StorageContainerName -Permission "Off" -Context $DestinationContext -ErrorAction Stop
Write-Log -Message "Success: created storage account: $($StorageAccountName) and container: $($StorageAccountName)" -Level Info
}
catch {
Write-Log -Message "Failed to create storage account for transfer. Exit script" -Level Warn
Write-Log -Message $_ -Level Warn
StopIteration
Exit 1
}