Lync 2013 Event Error 21054

All the Lync server 2013 environments I’ve deployed so far is giving Event ID 21054 from LS Address Book Server once a day. It also happens when you run Update-CsAdressBook.

Users are not indexed in the database that should be

Users are not indexed in the database that should be

I wondered what it was, and found it in the release notes for Lync Server 2013. Turns out that the issue can be safely ignored as long as the update is successful. You can also check the replication by running


Debug-csAddressBookReplication -Poolfqdn <Pool FQDN for which the event was generated>

which should give you an output like this:

As long as “Objects not indexed that should be” and “Abandoned Objects” are zero, the database is okay.

Also, if using SCOM, the Key Health Indicator (KHI) “Address Book Users Correctly Indexed” should be turned off for the pool.

Lync Server 2013 release notes:

http://technet.microsoft.com/en-us/library/jj205120.aspx

Script: Create live tiles that changes power scheme

After i got my Surface Pro, I’ve more often than before found myself needing to change between power schemes. On my laptop, I’ll usually set it to “Max performance” and just leave it there, but on the Surface it’s necessary to conserve power a bit more.

I’ve thought about making a live tile to do this, so I wrote a PowerShell script that will create one live tile for each configured powerscheme on the machine and pins it to the start screen. The code is based on a codesample for creating shutdown tiles, and this ScriptingGuy post. The script needs to be run as Administrator. Enjoy!

Download Create-PowerSchemeTiles.zip or copy the sourcecode:


#requires -Version 3.0

#####################################################################################
# Create-PowerSchemeTiles.ps1
#
# Creates live tiles for all configured power schemes on the machine and pins them to
# the start screen.
#
#
# Usage:
# .Create-PowerSchemeTiles.ps1
#
# Written by Tom-Inge Larsen (<a href="http://www.codesalot.com">http://www.codesalot.com</a>)
#
#####################################################################################

Function CreatePowerSchemeTile
{
    Param
    (
        [parameter(Mandatory=$true)][String[]]$SchemeGUID,
        [parameter(Mandatory=$true)][String[]]$SchemeName
    )
Write-Verbose "Creating Windows shutdown tile to Start menu."

#create a new shortcut
$ShortcutPath = "$env:ProgramData\Microsoft\Windows\Start Menu\Programs\" + $SchemeName + ".lnk"
$Shortcut = $WshShell.CreateShortcut($ShortcutPath)
$Shortcut.TargetPath = "$env:SystemRoot\System32\powercfg.exe"
$arguments = "-s " + $SchemeGUID
$Shortcut.Arguments = $arguments
$Shortcut.Save()

#change the default icon of shortcut
$Lnk = $Desktop.ParseName($ShortcutPath)
$LnkPath = $Lnk.GetLink
$LnkPath.SetIconLocation("$env:SystemRoot\System32\ddores.dll",20)
$LnkPath.Save()

#pin application to windows Start menu
$Verbs = $Lnk.Verbs()
Foreach($Verb in $Verbs) {
    If($Verb.Name.Replace("&","") -match "Pin to Start") {
        $Verb.DoIt()
    }
}

If(Test-Path -Path $ShortcutPath) {
    Write-Host "Create" $SchemeName "tile successfully." -ForegroundColor Green
    } Else {
    Write-Host "Failed to create" $SchemeName "tile." -ForegroundColor Red
   }
}

$Shell = New-Object -ComObject Shell.Application
$Desktop = $Shell.NameSpace(0X0)
$WshShell = New-Object -comObject WScript.Shell
$plans = Get-WmiObject -Class win32_powerplan -Namespace root\cimv2\power
$regex = [regex]"{(.*?)}$"
foreach ($plan in $plans) {
    $planGuid = $regex.Match($plan.instanceID.Tostring()).groups[1].value
    $planName = $plan.ElementName.Tostring()
    Write-Debug $planGuid
    Write-Debug $planName
    CreatePowerSchemeTile -SchemeGUID $planGuid -SchemeName $planName
}

Surface Pro and scaling and fuzzy looking desktop apps

After a bit of chasing around San Diego last week during Lyncconf13, I was able to get a hold of a 128GB Surface Pro at the Best Buy in Fashion Valley, and I absolutely love it so far.  The screen is very good and responsive and the Pen is the best stylus I have tried so far. Makes taking notes in OneNote a blast!

But one of the small things that has bugged me a bit is that some desktop programs seem a bit fuzzy, like for instance Spotify and Chrome (Everyone needs a second browser right?) Some of them are also hard to use with your fingers, I had to use the Pen in Chrome for instance. This happens because the Surface is by default set to scale the desktop to 125%, and those apps aren’t handling that. (I’ve seen that some say the surface is scaled to 150%, but mine was/is not. The result should be the same though)

You can resolve this by telling windows not to scale those programs, like I’ve shown below. (Spotify screens are thumbnailed, click them to se full size.)

I’ll be going back to playing with my Surface now!

This is what Spotify looked like before

This is what Spotify looked like before

Right click twice and choose properties

Right click twice and choose properties

On the Compatability tab, check the "Disable display scaling on high DPI settings" option

On the Compatability tab, check the “Disable display scaling on high DPI settings” option

And the result looks much better!
And the result looks much better!

ACE warnings when publishing topology

Now and then when publishing the topology, I’ve gotten some warnings that just states one or more of these:

Warning: Ace DOMAIN\RTCUniversalGlobalReadOnlyGroup; Allow; ReadProperty; None; None

and also later in the log

Warning: One or more group access control entries (ACEs) are not ready.

This means that not all ACEs are ready after the forest prep, for whatever reason. Just run a

Enable-CsAdForest

which should reset the permissions, and you should be fine.

http://technet.microsoft.com/en-us/library/gg425713(v=ocs.15).aspx

VCS suffers from a Linux kernel bug

Just got a mail from Cisco regarding a bug in the Linux kernel making some processes on the VCS go haywire and create a heavy CPU load on the box.

The fix is currently to boot the VCS.

The supposed bug is discussed here: http://serverfault.com/questions/403732/anyone-else-experiencing-high-rates-of-linux-server-crashes-today
UPDATE: Cisco supportforum post

#Lync mobility failing after #CU5

If mobility is failing after applying CU5 and your symptoms are a 500 internal server error when browsing https://fepool.contoso.com/mcx/mcxservice.svc, try the steps in this blogpost. Seems to be an issue with the web.config file in the mcx folders in IIS after the update. I’ve had this happen with both int and ext web.config.

http://brekkjen.wordpress.com/2012/04/15/lync-mobility-failing-after-cu5

#Lync mobile hanging on “getting contacts”

I have just been troubleshooting a weird issue where a user complained about Lync mobile taking a long time signing in, and then  not showing the buddy list until several days after sign in. Push would also not work until after the contact list was downloaded.

After reading a lot of logs and traces and not finding anything we tried finding things that were different from this user and everyone else. It turned out he had added some Cisco video conferencing endpoints to his contact list. In a desperate attempt we tried deleting these from his buddy list, and the problem disappeared.

Seems that the mobile client has some issues getting presence from integrated SIP domains or something like that. I tried replicating the problem with my user, and managed to do so:

I added the Cisco E20 on my desk to my buddy list:

And tried logging in on my iPad:

The client is in norwegian, but it says “No contacts”, and I guess “getting contacts” on the bottom.

This is what I see until I either delete the contact from my buddy list or wait for up to several days. In this state I can recieve IMs if I am in the client, but push does not work.

On my windows phone, the contact list is just empty, there are no messages of any kind and it has the same behavior, can recieve IMs, but no push.

I have not tried on an android yet.

I’ve tried reading through logs as well, but I can’t figure out what is causing this, so the fix for now seems to be to delete those types of contacts