Azure VM Backup stack V2

The other day I was in a project were I had to migrate some OnPrem VM to Azure, I used ASR and it was pretty straightforward to do it, but then the problem began when I need to configure Azure Backup to protect this machine… why? because one of the disks that has the machine, was bigger than 1 TB.

Each time that I tried to fire a backup, the Azure portal returns a Critical error with the following message: Azure Backup does not support the backup of disk size of more than 1024 GB.

So… I started to think which is my next step… I started reading documentation, and for my luck I found something called Azure Backup Stack v2, is the evolution for the recovery services to do more things in Azure. The features included in this new version are:

  • Ability to see snapshots taken as part of a backup job that’s available for recovery without waiting for data transfer to finish. Which it is great, you can recover your snapshot without the need of wait to transfer to the vault
  • Reduces backup and restore times by retaining snapshots locally, for seven days.
  • Support for disk sizes up to 4 TB.
  • Ability to use an unmanaged VM’s original storage accounts, when restoring

So, the only thing that i need to do is to update the stack to the v2, to this you have two options:

  • Go to the recovery vault, click on the properties blade, and search something called, VMBackup and click on “Upgrade”, this will start the process
  • Or you can use PowerShell in order to do it earlier:
    • Register-AzureRmProviderFeature -FeatureName “InstantBackupandRecovery” –ProviderNamespace Microsoft.RecoveryServices
    • Get-AzureRmProviderFeature -FeatureName “InstantBackupandRecovery” -ProviderNamespace Microsoft.RecoveryServices
  • If the process has already finish it, it will show “Registered” instead of “Registering”

FeatureName ProviderName RegistrationState ———– ———— —————– InstantBackupandRecovery Microsoft.RecoveryServices Registered

Once you have done this, don’t try it, you’ll have to wait, at least 2-3 hours (in my case), but if you ask to Microsoft, probably they’ll say that you’ll need to wait at least from 12 to 24 hours.

Once you have waited, try to fire your backup and it will work 🙂 also take into account that the first backup that you’re going to do, will last a long time (it’s a full backup), but the other ones, will be incremental, so it will be faster.

If you need more info about it, I suggest you to read the following MSFT docs:


Cloud Services (classic) in Azure

I was involved in a project were  a lot of Cloud Services in the classic mode, so I decided to know further what was involved in Cloud Services in order to know which dependencies has in the ARM format:

Cloud services were the very first Microsoft Azure Platform as a service (PaaS) offering. They provide the ability to deploy web apps (web roles) and background services (worker roles) onto Azure virtual machines. Azure handles all of the initialization of the servers, deployment to them, Windows Updates, etc.

Web Roles are used to host web applications. Worker Roles are used to host background services, similar to Windows Services.

Web Roles: These are the pieces of the app basically “doing something visible to the user”. You would for instance put your web app here, be it static HTML or dynamic content involving JavaScript. In other words, host web applications

Worker Roles: Where you’ll need some background work to happen as well. For example, to host background services, similar to Windows Services.

The cloud service setup has worked out for a lot of scenarios over the years. There are knobs you can tweak so the service you deploy scale up or out, is highly available, geographically redundant, etc. All those things that can be hard and expensive to solve in your own datacenter.

But, currently, Cloud Services are not being possible to be created, for example, if you migrate from your EA to a new CSP subscription, you only will be able to manage the existing Cloud Services, but no to create new ones, so your question would be: What can I do then? You will need to rearchitec (this is something that is it not covered here) your Cloud Services with the following:

Azure App Services (replacing Web Roles): If you have a cloud service consisting mostly of Web Roles you can possibly migrate to Azure App Services, or more specifically Web Apps.

Azure runs App Services on a fully managed set of virtual machines in either a dedicated or shared mode, based on your App Service Plan. There are 4 types of App Services:

  1. Web App – used for hosting websites and web applications (previously Azure Websites)
  2. API App – used for hosting the RESTful APIs
  3. Logic App – used for business process automation, system integration and sharing data across clouds
  4. Mobile App – used for hosting mobile app back ends (previously delivered by Azure Mobile services)

As you can imagine, depending of the use, you’ll be able to choose from different Plan Services.

Azure App Services + WebJobs (replacing Web & Worker Roles): Azure WebJobs provide an easy way to run background processes. These can be configured to run on a schedule, on demand or continuously. You may have to scale your App Service Plan up or out a little to handle the extra resources utilized by the WebJobs.

AS you can see, in Azure you will have a lot of options, the only thing is that you have to be aware of which parts you need in terms of your needs.

SharePoint Online: How to exclude People from Search

The other day while I was working in a project, a client who has synced the OnPrem AD to Online, asked me if it was possible to hide some people search results, because it was showing irrelevant information from some people.

It is not the typical filter that you can set in the AADConnect to filter by OU, it was needed to filter based on a profile property.

So, what we can do? In this case to create a custom property in SPO admin Center and use Search with a DT to hide the search results that we want.

Let’s say in this case, that I need to create a property called “ExcludePeopleSearch” as a Boolean and the privacy set to “everyone”

Once this has been created, we need to add some values to some profiles, in order to contain information and the search be able to index the results, generally it takes about 24 hours to index all the information.

Once it have been indexed, you can can map that to a search managed property, and add that to the search based Directory to get them excluded.

Microsoft Teams: How to clean cache

If you want to clear MS Teams cache,you could refer to the following ways

1.  Fully exit the Microsoft Teams desktop client. To do this, either right click Teams from the Icon Tray and select ‘Quit’, or run Task Manager and fully kill the process.

2.  Go to File Explorer, and type in %appdata%\Microsoft\teams.

3.  Once in the directory, you’ll see a few of the following folders:

  • From ‘Application Cache’, go to Cache and delete any of the files in the Cache location. “%appdata%\Microsoft\teams\application cache\cache”
  • From ‘Blob_storage’, delete any files that are located in here if any. “%appdata%\Microsoft\teams\blob_storage”
  • Within ‘Cache’, delete all files “%appdata%\Microsoft\teams\Cache”
  • Within ‘databases’, delete all files “%appdata%\Microsoft\teams\databases”
  • Within ‘GPUCache’, delete all files “%appdata%\Microsoft\teams\GPUcache”
  • Within ‘IndexedDB’, delete the .db file “%appdata%\Microsoft\teams\IndexedDB”
  • Within ‘Local Storage’, delete all files “%appdata%\Microsoft\teams\Local Storage”
  • Lastly, from ‘tmp’, delete any file “%appdata%\Microsoft\teams\tmp”

Once finally done clearing, you can now restart Teams from your local desktop and all cache will be cleared from the desktop app.

SharePoint Online: error deploying apps in the App catalog

Currently, I faced a weird problem, I was trying to implement an App solution into a customer catalog, but every time I tried to deploy the solution, it was impossible to be deployed.

The weird thing here, that I have a development tenant, were I am able to deploy the app without problem, so I was struggling into it to discover what was the real problem.

So after deploying several time the app into the catalog, I accessed to the “Integrated Apps” inside Services, and I realized that this was turned off. So… after turning on this feature I was able to deploy correctly the app and the problem was solved.

For more info for how to turn on the the apps:


Considerations Deploying Microsoft Teams Client

Currently a lot of customers are deciding to deploy Microsoft Teams in their environments, they know that Microsoft Teams is going to replace Skype for Business online, so they need to be ready.

The first thing that we have to be aware being a consultant is in which environment we are moving:

Client requirements, we have three options:

  • Web: Almost functional in all browsers, has some limitation in videocall mode
  • Application: Fully functional, it supports: audio, video and chat.
  • Mobile: Allow users to have conversations, calls/video on mobile data

Browser requirements

  • Web: Edge: 12+, Internet Explorer: 11+, Chrome: 51.0+, Firefox: 47.0+, Safari
  • Application: Windows 7+ (7, 8, 8.1, 10), Both 32 & 64 bit, Mac OSX 10.10+
  • Mobile: Android 4.4+, iOS (iPhone y iPad) 10+, Windows Phone 10.0.10586+

License required

Is it necessary to have enabled the license in the O365 portal, does not have the license enabled, won’t be possible to have access to Microsoft Teams.

Considetarions before deploying Microsoft Teams

The client is always installed in the user profile, %userprofile%\Appdata\Local\Microsoft\Teams. So this is not an ideal situation. It means we have to run the installer for every user that logs on.

Downloading the Microsoft Teams Client

Before we create a deployment script, we first need to download the client. There are two versions available:

  • Normal installer for Windows and Mac. You can download these at Microsoft. The setup.exe only comes with the basic switches for silent install.
  • There is also an MSI package available for Windows. This package is suitable to use with a deployment program like PDQ or SCCM and can also be used with a GPO. You can download the Microsoft Teams 32bit Client MSI file here and the 64bit Client here.

Using the Setup.exe Package

The Microsoft Teams Setup.exe installer only comes with a silent install or silent uninstall switch. You can install it by PowerShell:

Teams_windows_x64.exe -s

Uninstall Microsoft Teams

You will be aware that it is not possible to uninstall Teams in the “classic” mode, so the only way that we have is to uninstall it by CMD or by PowerShell


%programdata%\%username%\Microsoft\Teams\Update.exe –uninstall -s


Start-Process -filePath “$($env:programdata)\$($env:username)\Microsoft\Teams\Update.exe” -ArgumentList “–uninstall -s

Other considerations to take into account, will be bandwidth, audio, video, etc..

I think that this is all, till next time!


Exporting credentials in XML

Working as a consultant, from time to time you receive some petitions from your customers in order to facilitate their daily lives.

The other day I receive a petition to save user credentials, and to not prompt for them, is it very easy to do it, lets crack into it:

#Save credentials to file

Get-Credential | Export-Clixml -Path C:\aar\credentials.xml

#Import credentials from file

$credentials = Import-Clixml -Path c:\aar\credentials.xml

Once you have done this, you can include this last line into your scripts pointing to the location where you stored the credentials. Simply as follows: