Visit TechEdKrewe.com for the Krewe 2011 Calendar

It’s that time again.  Time to start preparing for the biggest Microsoft gathering on earth, Microsoft TechEd 2011!

It’s also time for The Krewe to kick off the Krewe 2011 TechEd Calendar.  The calendar lists all the events, parties and hot places to be at this year’s TechEd in Atlanta, GA.

http://www.techedkrewe.com/

´╗┐It’s still early yet and there are a lot of events to post, like all the Microsoft product group parties and the legendary DoubleTake ClusterFunk event.  Be sure to bookmark http://www.techedkrewe.com/ and follow @TheKrewe on Twitter to keep up on all the festivities!

Not a Krewe member and want to join?  Simply tweet “I AM KREWE” to @TechEd_NA or post a comment below.  You can even keep your comment anonymous – we’ll trust you.

If you know of any events at or around TechEd, let us know at http://www.techedkrewe.com/.  We’ll be sure to add them to the calendar to get the word out.  Thanks!

How to Enable Appear Offline Status in Lync Server


You may wish to allow users to set their status to “Appear Offline”. This was a status available by default in OCS 2007, but is not enabled by default in Lync Server 2010.

To enable the “Appear Offline” status for all users, run the following command from the Lync Server Management Shell:
Get-CSClientPolicy | Set-CSClientPolicy -EnableAppearOffline:$true
Users will need to sign out and back into Lync to see the new status for the first time.

Strangely, users are unable to sign into Lync using the “Appear Offline” status.  They must sign in first (preferably as “Away”), then set their status as “Appear Offline”.  Also be aware that this status is not available when users sign in using Exchange Outlook Web App (OWA).

Be careful using Lync Control Panel and Powershell together to manage Voice Routing

If you have an environment where you have multiple Lync administrators who manage voice routing, you may come across an issue where voice routes seemingly disappear.  This can happen when an administrator using the Lync Control Panel commits changes after another administrator adds voice routes using the Lync Command Shell.


The Lync Control Panel reads all the voice routing information into a Binary Large OBject (BLOB) when it starts up.  Say a Lync administrator then creates 100 new voice routes using the Lync Command Shell or another Lync Control Panel.  Now if the first administrator creates creates one voice route and commits the change, that BLOB will overwrite the changes made by the other admin because it has the later timestamp.  Ugh.  By the way, Microsoft says this expected behavior.

Let’s be careful out there.

The Stupidest Slide. Ever.


This slide, from the Microsoft Lync Ignite series, shows how close Microsoft came to hitting the target for major milestones in Lync Server 2010.

How would you like to be guy in charge of Microsoft’s dart throwing monkey?

This has got to be one of the most idiotic PowerPoint slides I’ve ever seen.  Priceless.

Introducing LyncAddContacts!

The Office Communications Server 2007 Resource Kit Tools featured a nifty tool called LCSAddContacts.  This WSF script allows you to add contacts to LCS or OCS (but not Lync Server) using WMI.  I was hoping to see a version of this tool for Lync Server, but no such luck — So I wrote one myself.

I’m surprised to find that there is no PowerShell cmdlet that allows you to add contact groups or contacts, and since there are no WMI classes for Lync Server anymore, I needed a way to do this — so I wrote a tool myself.  I leverage the DBIMPEXP utility from the Lync Server DVD to import and export contacts. 

The purpose of LyncAddContacts is to add the same contact groups and contacts to multiple users programatically.  For example, you may want to import a contact group called “Company Contacts”  that contains contacts for everyone in the company.  Here’s how it works:
  1. Create a template (source) user in Lync with the contact groups and contacts that you want to export.
  2. Run the LyncAddContacts tool to export the source user’s contacts
  3. Run the LyncAddContacts tool again in import mode and target the user or OU that you want to import the contacts to.
Prerequisites:
  • The tool must be run on the Lync server from which you will export/import the data.
  • You must be a member of the CSAdministrator security group to run this tool.  This group has rights to export and import contact groups and contacts to all users.
  • You must copy the DBIMPEXP.EXE tool from the \Support folder on the Lync Server 2010 installation media to the same folder where the LyncAddContacts tool will be run.
  • You must have read, write and execute rights to the folder where the LyncAddContacts tool will be run.
Note: This tool must be run under the CScript host due to the amount of output generated.  You will see a syntax pop-up window if the tool runs under WScript.

Usage:

First, you must export the source user’s contact groups and contacts.  The following example exports this information from a user named “Source” on a Lync Standard Edition server:
where source@domain.com is the SIP address of the user you want to export.
CScript LyncAddContacts.vbs source@domain.com
The following example performs the same export on a Lync Enterprise Edition server:
CScript LyncAddContacts.vbs source@domain.com sql.domain.com
where source@domain.com is the SIP address of the user you want to export and sql.domain.com is the SQL server used by the front-end pool.

Second, you import the contact groups and contacts to either a single target user or a target Organizational Unit in your domain.  The following example imports the data to a user named “Target” on a Lync Standard Edition server:
CScript LyncAddContacts.vbs /import target@domain.com
where target@domain.com is the SIP address of the user you want to import the contact info to.  For Lync Server Enterprise Edition you must add the SQL server used by the front-end pool, as shown above.

The following example imports the same contact groups and contacts to all the SIP enabled users in the Users container in Active Directory:
CScript LyncAddContacts.vbs /import CN=Users,DN=domain,DN=com
Again, for Lync Server Enterprise Edition you must add the SQL server used by the front-end pool, as in this example:
CScript LyncAddContacts.vbs /import OU=Lync Users,DN=domain,DN=com” sql.domain.com
A nice benefit of this tool is that contacts will not get a notification that so-and-so has added them to their contact list.  This is really useful in preventing unnecessary pop-ups from the Lync client.


Download LyncAddContacts.  View the source code here.


Disclaimer: I hope that the information in this blog is valuable to you. Your use of the information contained in these pages, however, is at your sole risk. All information on these pages is provided “as -is”, without any warranty, whether express or implied, of its accuracy, completeness, fitness for a particular purpose, title or non-infringement, and none of the third-party products or information mentioned in the work are authored, recommended, supported or guaranteed by The EXPTA {blog}. Further, EXPTA shall not be liable for any damages you may sustain by using this information, whether direct, indirect, special, incidental or consequential, even if it has been advised of the possibility of such damages.