The Skype for Business Technical Preview has been pretty great so far, and if I had my choice, I’d use it 100% of the time (get it here). However, I occasionally need to take screenshots for our end users, most of whom have recently been upgraded to Lync 2013 from Office Communicator 2007 R2! Several people have posted the proper registry key to add and change in order to switch UIs (great example here), but frankly, opening Regedit always makes me a tiny bit nervous, even if I am running as a non-admin user. If you are not running as a non-admin user for regular email/Lync/internetting, please think very hard about why!
Here are some little PowerShell functions I’ve written to quickly make this change and restart the Lync/Skype for Business client (can also be downloaded from TechNet Gallery)
# QuickSkypeUISwitch.ps1, Version 1.01 # Amanda Debler, http://mandie.net # now with no-so-new Provider hotness - thanks, Kevin Bird (http://kb-kb.com), for reminding me that providers exist 🙂 # See if the key exists, and if so, what its current value is function Test-SkypeUIRegKey { # old cmd-style registry query # reg query "HKCU\Software\Microsoft\Office\Lync" /v EnableSkypeUI try { get-ItemProperty HKCU:\Software\Microsoft\Office\Lync -Name EnableSkypeUI } catch [System.Exception] { "Registry Key does not exist or cannot be accessed - if Skype for Business UI isn't coming up, try Enable-SkypeUI" } } # Lazy assumption that you have Lync set to autostart, plus # trickery to find, kill and restart your Lync/Skype4B client, # because I have no idea where you installed it function Restart-SkypeForBusiness { $lyncProcess = Get-Process -Name Lync $lyncProcess | Stop-Process Start-Process -FilePath $lyncProcess.Path } # The /f means force - don't care if you have a key there already or not function Enable-SkypeUI { # old but not busted cmd-style registry key insert # reg add "HKCU\Software\Microsoft\Office\Lync" /v EnableSkypeUI /t REG_BINARY /d 00000001 /f # Note the commas in the Value - Binary registry keys are treated as 4 bytes New-ItemProperty HKCU:\Software\Microsoft\Office\Lync -Name EnableSkypeUI -Value 00,00,00,01 -PropertyType Binary -Force Restart-SkypeForBusiness } function Disable-SkypeUI { # reg add "HKCU\Software\Microsoft\Office\Lync" /v EnableSkypeUI /t REG_BINARY /d 00000000 /f New-ItemProperty HKCU:\Software\Microsoft\Office\Lync -Name EnableSkypeUI -Value 00,00,00,00 -PropertyType Binary -Force Restart-SkypeForBusiness }
This setting sits in CsClientPolicy of LS 2013 starting from December CU (.866). I’ve noticed this new setting back then and was curious what it was for (even a leaked version of S4B client came later). Now it applies the same setting without having to mess with registry manually.
LikeLike
Thanks for pointing that out – it is a more sensible way to go if you’re not going to change all the time. I needed a very quick way to switch between the UIs, and ClientPolicy assignments take a few minutes to get around in our environment.
LikeLike
The native powershell to add that registry value would be something like
New-ItemProperty HKCU:\Software\Microsoft\Office\Lync -Name EnableSkypeUI -Value 00000001 -PropertyType Binary -Force
I’m surprised it is binary though, the rest of the ones I have are all DWORD.
LikeLiked by 1 person
Providers – totally forgot about those 🙂
LikeLike