Forum Discussion
David_Dudi_Yacouel
May 17, 2020Copper Contributor
Push files to Teams Custom Background Upload folder - Get the New Teams version
Hello, We'd like to push our company-branded background to everyone's laptops in the company. So we know we have to put the files in the folder %AppData%\Microsoft\Teams\Backgrounds\Uploads, and ...
- May 19, 2020
ChristianBergstrom thank you for the advice.
Here is my update with findings:
- our laptops and VDIs all received Teams version 1.3.00.12058 on various dates early May (ranging from 5/4 to 5/8 on the small group I sampled).
- Those that have that version do have the feature of Select Custom Background.
- Our problem was that we wanted to push (from Azure Intune to all company laptops) some company-branded background images to the designated folder for Teams: %AppData%\Microsoft\Teams\Backgrounds\Uploads. But that folder did not exist for everyone, only for some. We then concluded (wrongly) that some users did not have the feature.
- Turns out, the feature exists for everyone, but it only creates the Backgrounds folder and the Uploads folder in it upon first use of the Show Background Effects feature from the 3dot (...) menu in the meeting. When clicking any of the backgrounds offered by Teams (just click, not even need to actually use it) that background image PNG file is then placed in the Backgrounds folder.
- Therefore we are changing our script to also create the folder structure first, in case it does not exist yet (if the user did not try this feature yet), and only then copy the files in there. This way it will not fail on not finding the folder. Furthermore, when the user ever wants to use it, it will be there ready and waiting for them.
- For all this to work, naturally Teams has to be on it's latest version (or at least the one that supports it). Click the user icon on the Teams window top right (with your initials or picture), and choose Check For Updates to get the latest Teams version. It might take a bit, minutes or an hour to go, I am not sure. If you don't initiate it yourself, Microsoft documents that the Teams desktop app does that automatically every few hours, and even the admin doesn't have control of that.
So now we understand it was not about O365 versions and upgrade paths.
ChristianBergstrom - your blessing/validation of the findings will help the crowds here, I'm sure.
Regards, David.
ChristianBergstrom
May 19, 2020Silver Contributor
David_Dudi_Yacouel Thanks for the update, I did mention the creation of the folder in a previous reply to you 😉 But great that you now have verified it as well. Good luck with the process!
David_Dudi_Yacouel
May 19, 2020Copper Contributor
ChristianBergstrom yes you definitely mentioned that, so we went and verified and used it. My last post serves as a summary so far, for future use. Thanks for staying close on this!
- NarutoNov 03, 2020Copper Contributor
David_Dudi_Yacouel Hi, Can you please help me with the script you used for your setup, I am trying to work on this and have no idea on where to start
- David_Dudi_YacouelNov 08, 2020Copper Contributor
Naruto Hi,
The laptops in scope are not part of a company domain, but they are managed with Azure Intune.
So we are using Intune to push this script to all these laptops, and execute it. Here is the Intune setup.
Here is the script. We put all the background images on a cloud server that is accessible to all laptops. The script copies the files from the server to the local Upload folder for Teams, on the laptop.
The script also creates the path to the Upload folder because, as described in previous post, that folder is only created upon first use of the feature, so it might not exist yet.
# created directory if it doesnt exists if (!(get-item "$env:appdata\microsoft" -ErrorAction SilentlyContinue)) {new-item -ItemType Directory -Path "$env:appdata\microsoft"} if (!(get-item "$env:appdata\microsoft\teams" -ErrorAction SilentlyContinue)) {new-item -ItemType Directory -Path "$env:appdata\microsoft\teams"} if (!(get-item "$env:appdata\microsoft\teams\backgrounds" -ErrorAction SilentlyContinue)) {new-item -ItemType Directory -Path "$env:appdata\microsoft\teams\backgrounds"} if (!(get-item "$env:appdata\microsoft\teams\backgrounds\uploads" -ErrorAction SilentlyContinue)) {new-item -ItemType Directory -Path "$env:appdata\microsoft\teams\backgrounds\uploads"} # make array for html files and local locations $Images = @(('https://someservername.blob.core.windows.net/companyimages/backgrounds/filename06.png?sv=2019-10-10&ss=bf&srt=o&sp=r&se=2030-01-02T02:01:41Z&st=2020-05-20T17:01:41Z&spr=https&sig=rKw81pcgRyC8yrnJwpbLDuYKmfo27KKBRvq3%2Bu1EpRo%3D',` "$env:appdata\microsoft\teams\backgrounds\uploads\filename06.png")` ,('https://someservername.blob.core.windows.net/companyimages/backgrounds/filename08.png?sv=2019-10-10&ss=bf&srt=o&sp=r&se=2030-01-02T02:01:41Z&st=2020-05-20T17:01:41Z&spr=https&sig=rKw81pcgRyC8yrnJwpbLDuYKmfo27KKBRvq3%2Bu1EpRo%3D',` "$env:appdata\microsoft\teams\backgrounds\uploads\filename08.png"),` ('https://someservername.blob.core.windows.net/companyimages/backgrounds/filename09.png?sv=2019-10-10&ss=bf&srt=o&sp=r&se=2030-01-02T02:01:41Z&st=2020-05-20T17:01:41Z&spr=https&sig=rKw81pcgRyC8yrnJwpbLDuYKmfo27KKBRvq3%2Bu1EpRo%3D',` "$env:appdata\microsoft\teams\backgrounds\uploads\filename09.png"),` ('https://someservername.blob.core.windows.net/companyimages/backgrounds/filename10.png?sv=2019-10-10&ss=bf&srt=o&sp=r&se=2030-01-02T02:01:41Z&st=2020-05-20T17:01:41Z&spr=https&sig=rKw81pcgRyC8yrnJwpbLDuYKmfo27KKBRvq3%2Bu1EpRo%3D',` "$env:appdata\microsoft\teams\backgrounds\uploads\filename10.png")` ) # copy the files to their destination foreach ($item in $images) { if (!(get-item $item[1] -ErrorAction SilentlyContinue)) {(New-Object System.Net.WebClient).DownloadFile($item[0], $item[1])} }
You can do that in other ways, too.
I hope that helps.
David.
- NarutoNov 11, 2020Copper Contributor
David_Dudi_Yacouel Thanks for your time and reply David, am trying to push it via GPO for our users in my company, can we also do the above via GPO ? hope it will work too any idea on this.