Haiku #64

What? No Response Group

Today? So what do we talk

About? Registrars?

As hard as this is, it's best to get it out of the way right from the start. We have some bad news for you today: after three straight days of talking about how to configure Response Group questions and answers, we're not going to talk about the Response Group application at all today.

Yes, we understand. Take as much time as you need to compose yourself and then we'll continue.

And yes, now that you mention it, this is exactly like Joe DiMaggio's 56-game hitting streak coming to an end back in 1941. Only perhaps a bit more traumatic to the world. After all, Joe DiMaggio didn't have anywhere near the number of readers that the Lync Server PowerShell blog has.

Note. If – gasp! – you aren't familiar with Joe DiMaggio, Joltin' Joe is considered one of the greatest baseball players of all time. In 1941, he set a record (which might never be broken) when he got at least one base hit in 56 consecutive games. (What many people don't know is that, the day after the streak ended, he began another streak of 17 straight games with a hit. Which means he came remarkably close to having a 74-game hitting streak.)

Interestingly enough, Joe DiMaggio was named the Most Valuable Player in the American League in 1941, even though Ted Williams hit . 406 that same year. (.406!) Williams twice won the Triple Crown (1942 and 1947), leading the league in batting average, home runs, and RBIs. In neither year did Williams win the MVP award.

But we digress. (Which is rare for us. But it happens.) Like we said, we understand you're a little upset that today's haiku isn't about the Response Group application; trust us, we feel the same way you do. And that's why we decided to make it up to you the best way we know how: by talking about the CsRegistrarConfiguration cmdlets (Get-CsRegistrarConfiguration, New-CsRegistrarConfiguration, Remove-CsRegistrarConfiguration, Set-CsRegistrarConfiguration)!

Note. Yes, now that you mention it, that is what the author of today's haiku does any time he upsets his wife: instead of getting her candy or flowers, he talks about the CsRegistrarConfiguration cmdlets. Why, did you have a better idea?

The Registrar, as you no doubt know, is one of the key components of Microsoft Lync Server 2010: the Registrar authenticates user logon requests and helps to maintain information about a user's current status and availability. As you probably know -- what do you mean, "Is that all it does?" isn't that enough? OK, fine. Seeing as how you brought it up, yes, the Registrar (via the Registrar configuration settings) is also responsible for such things as:

· The number of endpoints a user can simultaneously have logged on to the system (the MaxEndpointsPerUser property). What are endpoints? Well, an endpoint is any device that lets you connect to Lync Server. For example, suppose you are logged on to Lync Server using Microsoft Lync 2010, and then you use your phone to dial in and join a conference. At that point you have two endpoints: Lync 2010 and your phone. Lync Server lets you set the maximum number of endpoints to any integer value between 1 and 64, inclusive. The default value is 8.

· Expiration timeout periods for endpoints (the DefaultEndpointExpiration, MaxEndpointExpiration, and MinEndpointExpiration properties). When an endpoint logs on to Lync Server, it has the option of requesting a specific expiration period; that period specifies how long the device can remain logged on to the system before it must contact the server and request a logon extension. The MaxEndpointExpiration and MinEndpointExpiration properties let you specify the maximum and minimum expiration periods; that way a device can't ask to stay logged on to the system for, say, 14 years before requesting an extension, nor can it ask to contact the server once every second for an extension. The DefaultEndpointExpiration, meanwhile, lets you specify the expiration period to be used if a device doesn't request a specific timeout interval.

· Whether or not client devices can use DHCP to locate a Registrar (the EnableDHCPServer property).

We told you Registrars were important.

If you want to modify any of these property values you need to use Windows PowerShell; the Registrar configuration settings aren't exposed through the Lync Server Control Panel. But that's OK; after all, using PowerShell to manage Registrar settings is a breeze. For example, this command configures your global Registrar settings to limit users to a maximum of 4 endpoints:

Set-CsRegistrarConfiguration –Identity global –MaxEndpointsPerUser 4

Wow, that was easy, wasn't it? Here's another example, which revolves around the fact that Registrar settings can also be configured at the site scope or at the service scope. This command retrieves all the settings configured at the site scope and then sets the MaxEndpointsPerUser property for each one to 4:

Get-CsRegistrarConfiguration –Filter "site:*" |

Set-CsRegistrarConfiguration –MaxEndpointsPerUser 4

And here's a command that does the same thing for one particular Registrar (atl-cs-001.litwareinc.com):

Set-CsRegistrarConfiguration –Identity "Service:Registrar:atl-cs-001.litwareinc.com" –MaxEndpointsPerUser 4

Oh, what the heck, here's one more example. The following command retrieves all the Registrar settings where the maximum endpoints property has been set to less than 4, and then changes MaxEndpointsPerUser for each of those settings to, well, 4:

Get-CsRegistrarConfiguration | Where-Object {$_.MaxEndpointsPerUser -lt 4} | Set-CsRegistrarConfiguration -MaxEndpointsPerUser 4

Not bad, eh?

As you might expect, you can use the New-CsRegistrarConfiguration cmdlet to create new settings:

New-CsRegistrarConfiguration -Identity "site:Redmond" -MaxEndpointsPerUser 4

Or, if you prefer, use Remove-CsRegistrarConfiguration to delete an existing collection of settings:

Remove-CsRegistrarConfiguration -Identity "site:Redmond"

And so on and so on.

And there you have it: the CsRegistrarConfiguration cmdlets. Like we said, we understand your disappointment; but, then again, after three days of Response Group cmdlets pretty much anything would be a letdown. But as we sat down to write today's haiku, we remembered what the great Joe DiMaggio once said:

"There is always some kid who may be seeing me for the first or last time. I owe him my best."

Fortunately for us, very few kids read the Lync Server PowerShell blog. That's why we could just toss together something on Registrar configuration settings and call it good. See you tomorrow!