Archive

Archive for August, 2013

Lync and Skype for Business Contacts – Where Does the Company Name Come From?

August 16th, 2013 2 comments

I was curious the other day about where the company name comes from in the Lync/Skype for Business Contacts. For instance, we see Elan and Jeff below:

elan - jeff

The quick answer is it can pull that info from an Outlook contact in your mailbox. But what if you don’t have the user in your Outlook contacts?

I knew that it was in Active Directory somewhere, and thought it would be an organization setting somewhere since my experience has shown that the company name is always exactly the same for all users in each company I see in my contacts – right down to punctuation. Some cmdlets let you specify an org name, like Set-CsConferencingConfiguration, but that wasn’t it.

With the help of fellow Skype for Business MVP Brian Ricks, we got it narrowed down to the Company field on a user’s account in Active Directory. For example, we look at Sara’s account in Active Directory Users and Computers, and see her company set:

sara - aduc
And when a federated Lync/Skype for Business user looks at her in the Lync/Skype for Business client, we see her company defined:

sara - contact card

But some people show as “External Network” as we see for fellow UC Architects member John Cook:

John - external

And there are two reasons why this can happen. The first is that the user is homed on a cloud hosted solution like Office 365. Not the case here for John. Like me, he’s got a full Lync install going on at home. The other reason this could happen is that the user’s company field is completely blank. Sure enough, John’s is blank. So he updates that field, and a short time later, his company name shows up to federated contacts.
john - correct

This is really a minor thing, but I’ve noticed the company field is hit or miss in orgs where onboarding of users is done manually. But no worries, updating the users is fairly straight-forward in ADUC. You can highlight multiple users in one OU, right click to edit, go to the Organization tab, and enter a valid company name. In more complex orgs, you could use a query to list all of the users without a company name. This can be accomplished by right clicking on the Saved Query branch on the left, and selecting New>Query. Click Define Query, set Find to Custom Search, and add to conditions: Field to Company and Condition to Not Present. And second, Field to Office Communications Server Address, and Condition to Present.

aduc

Once you click OK, you’ll be presented with a list of the users who don’t have a company, but are Lync/Skype for Business enabled. Just like mentioned above, you can select multiple/all of the users, right click, go to Properties>Organization, and enter a company name.

bulk edit

Once updated and replicated, federated users should see the changes within a short time. We can also query and update user accounts via PowerShell on any machine with the ActiveDirectory module installed. We can query for users where the company name is not set using:

Get-AdUser -Filter {Company -notlike '*'} -Properties * -ResultSetSize $null | Select-Object -Property Name,Company

And we can update them all at once using:

Get-AdUser -Filter {Company -notlike '*'} -Properties * -ResultSetSize $null | Set-AdUser -Company 'Contoso'

Having it on the individual user’s account does make more sense as this allows for multiple names within the same org. But it does require ensuring that the company field is set for each user.

As for the title, the same applies – it’s set on the individual user account. However, unlike company name, title can also be set on Office 365 accounts.

One Liner: See Who You’re Openly Federating With

August 12th, 2013 7 comments

Wanna see who you’re dynamically (openly) federating within Lync Server? It’s pretty straightforward with the Get-EventLog cmdlet. All we need to do is look for the most recent entry in the Lync Server event log with event ID 14601. One an Edge server, open PowerShell and run the following:

Get-EventLog "Lync Server" | Where-Object {$_.EventId -eq 14601} | Select-Object EventId, Message -First 1 | Format-List *

The description of the single returned event will list the domains you’re currently dynamically federating with. You’ll get something back like this:

EventID : 14601
Message : Report of discovered partners that the Access Edge Server is
          currently monitoring.
There are 21 discovered partners, identified by the common name of
their certificate.
Name: sip-na.contoso.com; Domains: contoso.com
Name: sip.fabrikam.com; Domains: fabrikam.com
Name: sip.fourthcoffee.com; Domains: fourthcofee.com
Name: sip.windtiptoys.com; Domains: windtiptoys.com
Name: edge.adatum.com; Domains: adatum.com
Name: sip.humongousinsurance.com; Domains: humongousinsurance.com
Name: LYNC-TOR-Edge.litware.com; Domains: litware.com
Name: sip.northwindtraders.com; Domains: northwindtraders.com
Name: sip.proseware.com; Domains: proseware.com
Name: sip.adventure-works.com; Domains: adventure-works.com
Name: sipeu.alpineskihouse.com; Domains: alpineskihouse.com
Name: Lyncedge.blueyonderairlines.com; Domains: blueyonderairlines.com
Name: ussea-w15access.cohovineyard.com; Domains: cohovineyard.com
Name: sip.cohowinery.com; Domains: cohowinery.com
Name: sip.lucernepublishing.com; Domains: lucernepublishing.com
Name: ap.malvertising.info; Domains: malvertising.info
Name: federation.fineartschool.net; Domains: fineartschool.net
Name: sip.strikestrike.com; Domains: strikestrike.com
Name: lync.treyresearch.net; Domains: treyresearch.net
Name: sip.wideworldimporters.com; Domains: wideworldimporters.com
Name: sip.woodgrovebank.com; Domains: woodgrovebank.com*

A note that as the Message field of the event log entry mentions, these are DISCOVERED PARTNERS – those found through SRV records. If you want to see who you’re federating with using enhanced or direct federation (those specifically defined in your Lync environment), from a non-Edge Lync server, run Get-CsAllowedDomain. For a breakdown on the various types of federation, see Kevin Peter’s excellent post A Few Words on Federation.

Review: Plantronics Blackwire C720-M Headset

August 9th, 2013 1 comment

I love Plantronics gear. I’ve got plenty of their devices either on my desk or in my backpack. Recently, I had a chance to use the Plantronics Blackwire C720-M headset. The 720 is the dual ear model in the Blackwire 700 series. A single ear version, the 710, is also available. The 720 is a lightweight, comfortable headset that can be worn for hours on end.

The headset includes dual connectivity, which allows for a USB connection to a PC for Lync, Skype, and a bunch of other soft phone clients, as well as Bluetooth connectivity to a cell phone. You can switch back and forth between the two connection methods via buttons on the cable mounted control unit. If you install the Plantronics Control Panel software, you can configure the headset for various options including setting your presence when you put on/take off the headset, mute options, and more.

Some of the device settings available for the Blackwire 720-M headset.

Some of the device settings available for the Blackwire 720-M headset.

The headset can also automatically answer a cellphone call when you put the headset on – a really nice feature.

Blackwire C720-M control unit

Blackwire C720-M control unit

The cable based control unit has your typical volume up/down buttons, the PC and Cell Phone buttons to switch focus, and a mute button that does mute the Lync client – not just the headset. A bright red LED comes on when the Lync client is muted. You can’t miss it. The cable that goes from the control unit to the PC can be disconnected at the control unit so that you can move around while using the headset in Bluetooth mode. Plugging it back in re-enables the USB connectivity, as well as charges the internal battery.

I’ve worn this headset on 4 hour calls, and quick 30 second calls. I’ve used it in Skype, Lync, and with my Windows Phone. It works really great. It’s comfortable, stays adjusted and in place, and the audio is fabulous. Callers have mentioned that it sounds great when I use it.

One thing I don’t care about is that I’ve noticed I can’t really hear my own voice when talking. Now, before you think “this guy’s ego is so big he needs to hear himself talk…”, keep in mind on normal landline/VoIP/cellphone calls, you typically hear your own voice. And you don’t really notice it until it’s gone. It can be VERY distracting. But other than that, I’m a big fan of the headset, and have recommended it for use by our internal folks.

The headset comes with a nice case for storage and travel.

If you’re looking for a nice headset with some cool unique features, the Plantronics Blackwire C720-M is a great choice.

Categories: Reviews Tags: , ,

Review: Microsoft Exchange Server 2013 PowerShell Cookbook

August 8th, 2013 No comments

Microsoft Exchange Server 2013 PowerShell CookbookI like Exchange. And PowerShell. So, when Packt Publishing asked if I was interested in reviewing their latest book “Microsoft Exchange Server 2013 PowerShell Cookbook”, I jumped at the chance. I was even more excited when I realized that it was written by two heavy hitters, Jonas Andersson and Exchange MCM and Microsoftie Mike Pfeiffer. I’ve known Mike since his days as an Exchange MVP prior to joining Microsoft.

I had not read any books published by Packt previously, so I was interested to see how this one was put together. What a pleasant surprise. The book, now in its 2nd edition, wastes no time in dispensing some solid PowerShell knowledge with the first chapter, “PowerShell Key Concepts”. If you’re a complete newbie who has been reluctant to take the PowerShell plunge, this chapter has a substantial amount of information to help you get started. In fact, If you read the first chapter, you’ll have an excellent understanding of the basics of PowerShell. Not only is that a great building block for what comes later in the book, but it’s also a great PowerShell primer just by itself. If you’re an experienced coder, the first chapter will help fill in some gaps.

From there we go to common tasks in both PowerShell and Exchange. Some great info there, as well, as we look at many of the things that help tie scripts together including remote sessions, tasks, dealing with .csv files, etc.

From that point on, each subsequent chapter deals with a different area of Exchange, and how PowerShell can make life easier. These are including topics such as mailbox and database management, high availability, and more. Each area is broken down into a specific subject, and includes information broken into several different sections, including “How to do it..”, “How it works..”, “There’s more..”, etc. These start with a simple task, explain the basics, and build on them so that the reader can develop great PowerShell functions and scripts, and understand what’s happening “under the hood”. In reading this book, I can say I’ve learned several different approaches to things that I had not considered previously.

Some things often get left out of Exchange books just due to the complexity of the product. This is often things like compliance. But, oh no – Mike and Jonas dive into this as well, discussing archiving, retention and legal holds, auditing, and more. There’s also a chapter on using the EWS Managed API, which really opens the door to doing all kinds of things by connecting to Exchange via EWS. Just look at what Glenn Scales is doing with EWS.

Chapters break down as follows:
Chapter 1: PowerShell Key Concepts
Chapter 2: Exchange Management Shell Common Tasks
Chapter 3: Managing Recipients
Chapter 4: Managing Mailboxes
Chapter 5: Distribution Groups and Address Lists
Chapter 6: Mailbox Database Management
Chapter 7: Managing Client Access
Chapter 8: Managing Transport Service
Chapter 9: High Availability
Chapter 10: Exchange Security
Chapter 11: Compliance and Audit Logging
Chapter 12: Server Monitoring and Troubleshooting
Chapter 13: Scripting with the Exchange Web Services Managed API

The book also contains some great reference materials in the appendices. A common shell appendix is a great add-on to what’s in the book, especially chapter 1. I probably learned more from this part of the book than anything.

Appendix B delves into query syntaxes – something that can be frustrating if you don’t know the basics and pitfalls. From AND and NOT to date ranges and more. Solid info that should be kept within arms reach.

I have to say, it’s no surprise that I liked this book. Mike and Jonas did a fantastic job keeping the reader engaged. By taking a simple idea and building on it, each example and section helps solidify a solid PowerShell understanding and how it relates to Exchange. Installation, configuration, and administrative tasks are all made substantially easier by the information in this book. The book doesn’t talk over the reader’s head, and the code provided is solid and clean. I can’t recommend this book enough if you’re an Exchange person looking to get into PowerShell to increase your productivity and enhance your career.

The book is available from Packt Publishing in formats including print, ebook, and .pdf, and from Amazon as a printed book, or Kindle download. Buy it! Now!