AzureVMSnapshots is a PowerShell module that expedites the process of taking "snapshots" of Azure VM VHDs. As of this time, this module only takes "snapshots" of the OS disk for VMs. It does not support data disks.
halderex/AzureVmSnapshots
A small PowerShell module to automate creating and restoring Azure VM snapshots
PowerShell