Teams Mobile Feature updates for iOS

There are two handy features for the mobile client coming out quite soon. The first one is a better integration on the file storage integration. File-picker will soon (if not already for you) enable you to select different locations to attach files from. On my personal device, I can now pick from OneDrive, Google Drive and Dropbox. This feature should be rolling out to most tenants already The second feature coming out is the capability to hide (or show) Teams calls in the native iOS call log. I am looking forward to this as I have more than once accidentally called someone back with the wrong modality when I'm not in the office and not on Wi-Fi. Be aware that calls made prior to turning this feature off (removing calls from the call log). Already placed calls will remain in the list. The setting only applies to new calls. This last feature should be rolling out in September .

Restoring based on Lync 2013 Backup script. Part 4

Disaster recovery?
Have you tried my Backup Script at the Technet Gallery, but now you're wondering what to do with the backup? How do you restore? What goes where and why?

This is the third of a couple of blog posts trying to explain a couple of concepts regarding backup.

Before reading this post, It is recommend to become familiar with the Basics, CsConfiguration and Topology described in Part 1 as these are the pillars of the deployment, part 2 regarding CsLisConfiguration, RgsConfiguration and UserData and part 3 regarding voice policies and settings, Filestore backup and persitant Chat.

Certificates is the only thing I feel this backup script does not fully cover. The backup script only collects the certificate on the server where the script is run.:
dir cert:\localmachine\my | 
      Where-Object { $_.HasPrivateKey -and $_.PrivateKey.CspKeyContainerInfo.Exportable } | 
      Foreach-Object { [system.IO.file]::WriteAllBytes( 
               $filepath1 + "\$($_.thumbprint).pfx", 
               ($_.Export('PFX', 'secret')) ) }
In the event of a failure in your entire infrastructure, there must also be a backup of the certificates on the edge servers and the revers proxy (servers the front end server might not be able to reach when running the script). If the external certificates are installed on the frontend server as well (not always recommended), the backup will take care of them to.

To restore the certificate, simply use the "Lync deployment wizard" and launch the task "assign certificates". From this wizard, it's easy to import the pfx file and to assign it to the correct services.

In addition to all the settings and configuration takes backup of. I always like to have a sound backup of the entire set of databases on my backend server.
In Lync 2013 (or should I say SQL 2012) the backup and restore procedure has really been simplified for users of powershell. The backup code is now limited to a couple of lines:
$cdate = Get-Date -Format MMddyy
foreach($database in (Get-ChildItem -name -force)) {
    $dbName = $database
    $bakFile = $dest + "\" + $dbName + "_full_" + $cdate + ".bak"
    If($dbName -ne "tempdb"){
        If(-not(Test-Path -path $bakFile)){
            Backup-SqlDatabase -Database $dbName -BackupFile $bakFile -Initialize}
        Else {Write-Output ("File already exist, presuming backup of mirror DB")
The Backup-SqlDatabase is the key to the easy backup.

Restoring is just as simple as the backup. Use the Restore-SqlDatabase command to restore one or more databases in the instance.

Allan White has written a very good post on the entire SQL Server Backup and Restore methods. It is worth reading through to get an overview over a few simple concepts.

The ZIP file
In the end, the entire backup is stored in a single zipfile. This file should be backed up by a regular file backup and/or stored in a secure location.

This concludes the four part series regarding backup and restore of Lync 2013. I hope this has been informational and helpful.

The other posts in the series:
Part 1:
Part 2:
Part 3: