Posts tagged ‘Lync 2010’

Presence issues with the calendar integration in CU2?

I just had a case where the users experienced that presence in the Lync client did not update based on the calendar information unless they restarted the client completely. Relogging did not help.

The weird thing was that on the users contact card they would be listed as busy, but their presence was still available.

After quite a bit of troubleshooting and some help from colleagues, I ended up removing CU2 (the April 2011 update, gives version .275 to the client). This removed the problem completely. So, if you are having presence issues with Lync, try removing CU2 for now.

This might be a bug?

Federate with Lync Online

To federate with Lync Online/Office 365, run:

New-CSHostingProvider –identity LyncOnline –ProxyFqdn sipfed.online.lync.com –Enabled $True

Enable-CSTopology

Here’s how to do it using GUI: http://techietom.co.uk/blog/2011/04/how-to-enable-office365-lync-online-to-federate-with-lync-on-prem/

Disable AD disabled CS users powershell script

I’ve made a script to disable AD disabled users from Lync. The script pulls all AD disabled users and checks if they are disabled for Lync as well. If not, they will be. Optional output to screen and/or file.
#####################################################################################
# Disable-AdDisabledCsUsers.ps1
#
# Pulls all AD disabled users from AD and disables them for Lync as well
#
# Can optionally write logs to file or screen using -verbose and/or -logFile inputs
#
# eg.
#
# .\Disable-AdDisabledCsUsers.ps1 -verbose $true -logFile "c:\logfile.log"
#
#
#
# Written by Tom-Inge Larsen (codesalot.com)
#
####################################################################################
param($verbose,$logFile)
Import-Module active*

if ($logFile -ne "") {
    $logoutput = [System.IO.StreamWriter] $logFile
    $logoutput.WriteLine("AD disabled users that was Lync disabled:")
}

$disabledADusers = Search-ADAccount -AccountDisabled -UsersOnly | Select-Object userprincipalname

$disabledADusers | foreach-object {
    $identity = $_.userprincipalname
    $csuser = Get-CsUser -Identity $identity -ErrorAction SilentlyContinue | Select-Object Enabled

    if ($csuser.enabled -eq $true) {
        Disable-CsUser -Identity $identity
        if ($verbose -eq $true) {
            Write-Host "AD disabled user" $identity "is now disabled for Lync as well"
        }
        if ($logFile -ne "") {
            $logoutput.WriteLine($identity)
        }
    }
}

if ($logFile -ne "") {
    $logoutput.close()
    if ($verbose -eq $true) {
        Write-Host $logFile "written."
    }
}

Lync 2010 and Exchange Web Services/autoconfigure

I’ve recently been upgrading an OCS 2007 R2 environment to Lync 2010 where the users have SMTP adresses in several SMTP domains, but they only have one SIP domain. All users have an SMTP address at least in the SIP domain, but many of them have their primary SMTP address in different domains from the SIP domain.

What happened when we migrated the first couple of users to the new Lync FE pool and the new client, some of them lost their calendar integration and recent calls list. It was early apparent that these users were the ones that didn’t have their primary SMTP address in the SIP domain, so at least we were able to find a common denominator.

Taking up the configuration information on the client showed “EWS not deployed” and the fields for EWS Internal and External URL were empty. Testing autoconfigure in Outlook did not return any errors. Of course google is my friend, so I found this post at confusedamused that listed a couple of things to check. None of these solved it for me, but check them first in any case.

When more googling didn’t result in any more possible solutions, I started looking at wireshark traces, and noticed that the Lync client was actually looking up DNS autoconfigure for the users primary SIP domain, not the SMTP domain. As it turned out, autoconfigure was set up to use SCP in all the other domains than the SMTP domain that was equal to the SIP domain, so the Lync client failed to get autoconfigure config for the other domains. I dont know why this was not a problem in R2, so theres probably been some kind of change to how the Lync client handles EWS configuration. Adding the autoconfigure host to HOSTS on the client machine I saw that the Lync client was getting “401 Unauthorized” messages back from the EWS server. I didn’t notice at first, but it was trying HTTP, not HTTPS which had failed a couple of packets earlier, because EWS didn’t have a SAN name in the correct domains.

The solution then was to either add autoconfigure names for the other domains to SAN on the EWS IIS certificate, or adding a SRV record pointing to the Exchange CAS for autoconfigure in the other domains. Hey presto!

Photos in Lync 2010

So I’ve been fiddling a bit with photos in Lync today. Seems easy enough when you have Exchange 2o10 and can use powershell, see this post, but can be more tricky if you haven’t. Lync 2010 does not supply a method of uploading the pictures to AD, it just uses the photo found in the user attribute thumbnailPhoto. You’ll have to upload the pictures another way.

After a bit of searching on the net, I found this post that had a link to a small .dll, written by a guy named OliD, that extends the ADUC (Active Directory Users and Computers) MMC with two tabs to the user properties page. The first tab we don’t really need, but it will enable you to add employee ID/number. The other will upload and resize the selected image to 96×96 px. It can be downloaded from:

http://www.dewdney.co.uk/adext/adext.zip

Installation instructions can be found in the .zip file.

It will give you this tab: (that’s me in the picture btw)

If you have a multidomain forest you will also need to enable global replication of the attribute. This procedure is described in the Exchangeteam blogpost linked in the beginning of this post.

The photo won’t display in the Lync client right away though. As per this the ABServer in Lync 2010 has an update pass every night at 01:30AM Server time, just as in OCS2007R2. To speed this up you can run the cmdlet

Update-CsAddressBook

in the Lync management shell. Note that by default it will still take up to 5 minutes before the actual update pass is run. Look for event 21056 in the event log.

If the user has not had any photos before, just log the user in and out of Lync, and it should be updated. If this is an updated photo, you will have to log out and exit the client and then delete the file

%userprofile%\AppData\Local\Microsoft\Communicator\sip_<SIP URI>\ABS_<SIP URI>.cache

Start the client again, and the photo should be updated!

A complete description on how photos are handled in Lync 2010 can be found here.

Lync and VCS

My exellent colleague Marjus has done some testing with VCS and Lync integration!

Read his post here.