11 November 2014

Skype for Business Announced

We finally know what the next iteration of Lync will be. Today Microsoft announced Skype for Business. A decade ago Skype brought down the barriers by making it easy to talk to someone anywhere in the world. A few years later, Microsoft bought Skype and introduced a lot of speculation about what that would mean.

Microsoft has now fully merged Lync and Skype, enabling what should be near seamless communication between the two. Skype for Business will be launched the first half of 2015. Existing Lync on-prem customers will be able to upgrade to the new Skype for Business server, and Office 365 customers will be automatically updated.

For more information, click here for the blog or here for the YouTube promo.

~ brad

"While only one day of the year is dedicated solely to honoring our veterans, Americans must never forget the sacrifices that many of our fellow countrymen have made to defend our country and protect our freedoms." ~Randy Neugebauer

25 September 2014

Sorry for the delay

Sorry for the unexpected long absence. About two months ago I decided to flip my life upside down. Long story short, I now have a new job in a new city (New York City!). Managing all of that has kept me quite busy lately and I haven't had time to post.

Now that I am mostly settled in I should have more time to manage this blog.

~ brad

"When you realize you've made a mistake, make amends immediately. It's easier to eat crow while it's still warm." ~ Dan Heist

23 July 2014

SCOM Test Accounts

Looking to create some test accounts to run synthetic transactions on a Lync watcher node? Good! Heads up: keep your SAM Account Names under 15 characters. I usually follow this practice, but - as usual - the time I made an exception, it really mattered as Doug Dietterick was telling us a few years back: http://blogs.technet.com/b/dodeitte/archive/2011/07/18/issue-when-running-new-set-cshealthmonitoringconfiguration.aspx

~ponboquod~

02 July 2014

SysAdmin Cheat Sheets

In most of our jobs, we touch a lot of different technologies. If you are like me, I have notes everywhere; in text files, OneNote, EverNote, bookmarks and who knows where else. A colleague found this site which has compiled a lot of cheat sheets, one-pagers, whatever you want to call them.


~ brad

“We don’t get a chance to do that many things, and every one should be really excellent. Because this is our life. Life is brief, and then you die, you know? And we’ve all chosen to do this with our lives. So it better be damn good. It better be worth it.”  ~ Steve Jobs

26 June 2014

Unable to Schedule Online Meetings

The Scenario
I recently had a user that was unable to Lync 2010 Online Meetings from Outlook 2010. He didn't even have the button to create one. Otherwise his Outlook worked fine, no problems sending or receiving email, or scheduling meetings.

Fixing the Issue
My first thought was the Conferencing Addin was disabled. When I looked into his settings it was, but the Conversation History Addin was active. For some reason the Online Meeting Addin would not enable though. I ran a repair on the Lync client, no change. I had my Service Desk uninstall and reinstall the client thinking something was still corrupted with the install. No change.

Then one of the guys fixed it. Somehow the user had corrupted his Navigation Pane view. To fix this, click Start and in the search/run box type outlook.exe /resetnavpane



After this was done, we could enable the Online Meeting addin and schedule meetings.

Hope this helps!

~brad

Fun Fact:
There is no definitive history about how the word “barbecue” originated – or why it’s sometimes used as a noun, verb, or adjective. Some say the Spaniards get the credit for the word, derived from their “barbacoa” which is an American-Indian word for the framework of green wood on which foods were placed for cooking over hot coals. Others think the French were responsible, offering the explanation that when the Caribbean pirates arrived on our Southern shores, they cooked animals on a spit-like devise that ran from “whiskers to tail” or “de barbe a` queue.”

20 June 2014

Smilies as Links

I ran into an interesting bug/fluke the other day. This happened to one of the guys working on our Service Desk. Jonatan (our Service Desk hero) is homed on one of my 2013 pools and is using the 2013 client. Dana is one of our end users, and is homed on a 2010 pool and uses the 2010 client.

While they were on IM working through an issue, every link that Dansa IM's came across on Jonatan's client as a smiley. We do have links enabled, and it didn't matter if it was an email address or URL.


In Dana's chat window, and in Jonatan's Conversation History everything appeared normal. Links other users would send him would appear and work fine. Restarting Jonatan's Lync client didn't resolve the issue either.


This is the first time I have had this reported. I'm still not sure what caused this to happen, but figured I would share anyway.

~ brad

Fun Fact:
During the initial compilation of the Oxford English Dictionary, the largest contributor of more than ten thousand words was Dr. W.C. Minor, an American Civil War veteran who was an inmate in an asylum for the criminally insane.

13 June 2014

OT Article: All Our Patent Are Belong To You

In a rare move by any business these days, Tesla Motors has opened their patents to anyone who wants to use them. They are doing this to help promote the electric car market as they simply cannot keep up with demand.

From the blog:
Yesterday, there was a wall of Tesla patents in the lobby of our Palo Alto headquarters. That is no longer the case. They have been removed, in the spirit of the open source movement, for the advancement of electric vehicle technology.
 We believe that Tesla, other companies making electric cars, and the world would all benefit from a common, rapidly-evolving technology platform.
 You can read the full article over here.


~ brad

"Great spirits have always encountered violent opposition from mediocre minds." ~ Albert Einstein

10 June 2014

PowerShell: Disabling Lync Accounts

When you use certificate authentication with Lync, a user can still use Lync for up to 6 months by default. You can change this setting using the Set-CsWebServiceConfiguration -MaxValidityPeriodHours XX cmdlet. Even when we change this setting, once a user's AD account has been disabled we don't want them signing into Lync and using the system. In my environment when the user's account is disabled, the Lync account is disabled that night. Rather than adding to the Service Desk's task list, I automated the process.

This script searches AD for disabled accounts, checks to see if the account is still enabled for Lync and if so Lync disables it. It also removes the account from the AD Lync groups that we have. It then sends an email report of the accounts disabled and what the Conferencing Policy was.

Email report

** I'm posting the script here for you to review, but the display can mess with some of the HTML code I have included in the script. If you waould like to use it, I would recommend you download it from here.

#******************************************
#
#   DESCRIPTION:  Disables Lync accounts after the AD account has been disabled and removes from Lync AD groups
#   VERSION:  1.0
#   UPDATED: 
#   AUTHOR: Brad Roberts
#   CONTACT: brad@thatucguy.com
#   BLOG: http://www.thatUCguy.com
#   BLOG ENTRY:  http://www.thatucguy.com/2014/06/powershell-disabling-lync-accounts.html
#
#   DISCLAIMER: You running this script means you won't blame me if this breaks your stuff. This script is provided AS IS and is not guaranteed to work perfectly in your environment. Testing is always a good idea. Any risk in running this script is entirely on you.
#
#******************************************

#******************************************
#
# Variable Definitions
#
#******************************************

$strComputerName = gc env:computername
$strSMTPServer = "smtp.thatucguy.com"
$strToEmail = "lync.admin@thatucguy.com"
$strFromEmail = "no-reply@thatucguy.com"
$strSubject = "Lync User Disablement Report"
$dtTimeNow = get-date

#******************************************
#
# Load Required PS Modules
#
#******************************************

if ((Get-Module ActiveDirectory) -eq $null){Import-Module ActiveDirectory}
if ((Get-Module Lync) -eq $null){Import-Module Lync}

#******************************************
#
# Prepare HTML for email
#
#******************************************

$strScriptInfo = "


Script Info
Script Name: " + $MyInvocation.MyCommand.Definition + "
Time: " + $dtTimeNow + "
Run From: " + $strComputerName $strHTMLHeader = $strHTMLHeader + "" $strHTMLHeader = $strHTMLHeader + "" $strHTMLHeader = $strHTMLHeader + "" $strHTMLHeader = $strHTMLHeader + "" $strHTMLHeader = $strHTMLHeader + "" $strHTMLFooter = $strHTMLFooter + $strScriptInfo $strHTMLFooter = $strHTMLFooter + "" $strHTMLFooter = $strHTMLFooter + "" #******************************** # # Look for AD accounts that are disabled but still enabled for Lync # Remove from Lync AD groups # Generate report of accounts to disable in Lync and disable them # #******************************** $strResults = $strResults + "

Lync User Disablement Report

" $DisabledUsers = Get-CsAdUser | ?{$_.UserAccountControl -match "AccountDisabled" -and $_.Enabled -eq $true} if ($DisabledUsers) { $DisabledUsers | Disable-CsUser Remove-ADGroupMember -Identity "Lync-2010-Users" -Members $DisabledUsers.samaccountname Remove-ADGroupMember -Identity "Lync-2010-Silver" -Members $DisabledUsers.samaccountname Remove-ADGroupMember -Identity "Lync-2010-Gold" -Members $DisabledUsers.samaccountname Remove-ADGroupMember -Identity "Lync-2010-Platinum" -Members $DisabledUsers.samaccountname $DisabledUsers = $DisabledUsers | Get-CsUser | Select-Object DisplayName,SamAccountName,SipAddress,ConferencingPolicy | ConvertTo-Html -fragment } else { $DisabledUsers = "There is no one to disable." } $strResults = $strResults + $DisabledUsers #******************************** # # Create email body # #******************************** $strHTMLBody = $strHTMLHeader + $strResults + $strHTMLFooter #******************************** # # Send email report # #******************************** $msg = new-object Net.Mail.MailMessage $smtp = new-object Net.Mail.SmtpClient($strSMTPServer) $msg.From = $strFromEmail $strToEmail | foreach {$msg.To.Add($_)} $msg.subject = $strSubject $msg.IsBodyHtml = $true $msg.body = $strHTMLBody $smtp.Send($msg)

~ brad

"Good communication is as stimulating as black coffee, and just as hard to sleep after." ~ Anne Morrow Lindbergh

05 June 2014

Case Study: Government of the US Virgin Islands

There is a new case study that has been released for the Government of the US Virgin Islands and their switchover to Office 365. While it is not the most detailed since it is a cloud-based solution it is a good promotion for collaboration and consolidation of disparate systems.

You can see the full blog post here, and the case study here.

Serving the people of the US Virgin Islands (USVI) is behind everything I do as the Chief Information Officer of the Government of the US Virgin Islands. It’s a big challenge. There are significant obstacles to providing efficient government services to constituents across our four main islands (St. Croix, St. John, St. Thomas, and Water Island) and the other islands that make up our territory. When I joined the USVI, the Governor had issued a mandate to improve services throughout its 23 agencies. We needed to reduce bureaucracy and red tape. I believe IT can play a big role in transforming our processes to achieve more citizen-centric services and demonstrate that we are putting taxpayers’ money to good use. So my mission became to change the culture of computing at USVI by incorporating innovative technology solutions to facilitate the business of government. I selected Office 365 to help me accomplish this goal.


~ brad

"You are the sum total of everything you've ever seen, heard, eaten, smelled, been told, forgot - it's all there. Everything influences each of us, and because of that I try to make sure that my experiences are positive."  ~ Maya Angelou, Interview from the April 2011 edition of O, the Oprah Magazine (2011)

03 June 2014

Article: Microsoft emulates Star Trek, turns Skype into a Universal Translator

Microsoft is once again taking the world by storm. At the recent Code Conference in California they announced the newest service offered through Skype, Skype Translator. The service provides real-time translation of the spoken word.

From the article:
Yesterday at the Code Conference in California, Microsoft CEO Satya Nadella and Skype corporate vice president Gurdeep Pall, introduced Skype Translator. It’s the first time that this new feature has been demonstrated publicly, and involved a Skype conversation between Pall speaking English in California and Diana Heinrichs speaking German in London.


More info is also available from the Microsoft blog. This will be available as a Windows 8 beta app by the end of 2014.

~ brad

"If we spoke a different language, we would perceive a somewhat different world."  ~ Ludwig Wittgenstein

29 May 2014

Exchange 2010 SP3 RU6 now available

Exchange 2010 SP3 RU6 is now available.
Version 14.03.0195.001

Issues Resolved:
Update Rollup 6 for Exchange Server 2010 SP3 resolves the issues that are described in the following Microsoft Knowledge Base (KB) articles:

  • 2960652 Organizer name and meeting status field can be changed by EAS clients in an Exchange Server 2010 environment
  • 2957762 "A folder with same name already exists" error when you rename an Outlook folder in an Exchange Server 2010 environment
  • 2952799 Event ID 2084 occurs and Exchange server loses connection to the domain controllers in an Exchange Server 2010 environment
  • 2934091 Event ID 1000 and 7031 when users cannot connect to mailboxes in an Exchange Server 2010 environment
  • 2932402 Cannot move a mailbox after you install Exchange Server 2010 SP3 RU3 (KB2891587)
  • 2931842 EWS cannot identify the attachment in an Exchange Server 2010 environment
  • 2928703 Retention policy is applied unexpectedly to a folder when Outlook rule moves a copy in Exchange Server 2010
  • 2927265 Get-Message cmdlet does not respect the defined write scope in Exchange Server 2010
  • 2925273 Folder views are not updated when you arrange by categories in Outlook after you apply Exchange Server 2010 Service Pack 3 Update Rollup 3 or Update Rollup 4
  • 2924592 Exchange RPC Client Access service freezes when you open an attached file in Outlook Online mode in Exchange Server 2010
  • 2923865 Cannot connect to Exchange Server 2010 when the RPC Client Access service crashes
  • 2920549 Store.exe crashes if you create a deeply nested subfolder in Outlook


~ brad

“The difference between e-mail and regular mail is that computers handle e-mail, and computers never decide to come to work one day and shoot all the other computers.” ~ Jamais Cascio

20 May 2014

Couple Updates

Couple updates for you.

Lync 2013 Client - CU7 for May 2014 - KB2880980
Version 15.0.4615.1001

This update resolves the following issues:

  • 2961173 Incorrect emoticons in a conversation after you install Office 2013 SP1 or a later version of Lync 2013
  • 2961174 Update reports NMOS in QoE for calls between Lync 2013 and a Lync mobile client
  • 2961175 Cannot hear the voice in an audio/video call in Lync 2013


Also the Office 2013 Visio stencil has been updated. You can grab the new file here.

~brad

“The original question, 'Can machines think?' I believe to be too meaningless to deserve discussion.” ~ Alan Turing, Mechanical Intelligence: Collected Works of A.M. Turing

16 May 2014

Tech Ed North America 2014 Videos Now Available

As of the time of writing, most videos for TechEd North America 2014 have been released over on Microsoft's Channel 9. The sessions from Thursday 15 May are not available but should be soon.


~brad

“If you can't explain it to a six year old, you don't understand it yourself.” ~ Albert Einstein

14 May 2014

Build a free lab using AWS

Since I had some bench time, I was checking out Amazon Web Services. I found that it was relatively easy to build a full, free (for a year) functioning lab.

It turns out AWS has a free tier 12-month trial for new users. I simply signed in with my Amazon account and they spun up a default Virtual Private Cloud (VPC) pretty much immediately. The free tier limits you to micro VMs (2 proc, 612 MB RAM, 30 GB HDD, up to 2 NICs) for Windows servers. The free tier gets you 750 free hours of uptime. So, that’s one instance up all month long or several for short periods. The free tier licensed OS images for Windows are:
  • Server 2012
  • Server 2008 R2
  • Server 2008 R2 with SQL Server Express and IIS
  • Server 2008
  • Server 2003

The look and feel of Amazon EC2 took a little while to figure out (I highly recommend the Getting Started guides and pay attention to what Security Groups do), and it did take a few days to get everything built since the install was operating off of lower resources than would be typical and I had other priorities to tend to. It is possible to alter instance resources any time the machine is down, so it costs only a few bucks to do the installation on an instance with higher resources and then back it down before putting it into the lab.

Coupled with my MSDN account, I was able to put together a lab including: DC, CA, Exchange 2010 AIO, Lync 2010 SE, Lync 2013 SE, SCOM 2012. There are plenty of connectivity options and the environment seems very secure so far (of course it does), so I haven’t had any problems connecting and feel like I have done a good job limiting unwanted traffic/access.

I shut down the machines when I am not actively using them, so I only gave up $2.01 last month for the lab. If I start to grow this, I might set up some scheduled tasks for server shutdowns since I did manage to go to bed the other night with all of my machines up resulting in 60 hours of lost free lab time.

-ponboquod-

OT: World War I in Photos: Technology

As this year marks 100 years since the start of the war, Alan Taylor of The Atlantic is running a ten part series of photo essays about the war. This third installment is about the change in technology used in the war.

When Europe's armies first marched to war in 1914, some were still carrying lances on horseback. By the end of the war, rapid-fire guns, aerial bombardment, armored vehicle attacks, and chemical weapon deployments were commonplace. Any romantic notion of warfare was bluntly shoved aside by the advent of chlorine gas, massive explosive shells that could have been fired from more than 20 miles away, and machine guns that spat out bullets like firehoses. Each side did its best to build on existing technology, or invent new methods, hoping to gain any advantage over the enemy. Massive listening devices gave them ears in the sky, armored vehicles made them impervious to small arms fire, tanks could (most of the time) cruise right over barbed wire and trenches, telephones and heliographs let them speak across vast distances, and airplanes gave them new platforms to rain death on each other from above. New scientific work resulted in more lethal explosives, new tactics made old offensive methods obsolete, and mass-produced killing machines made soldiers both more powerful and more vulnerable. 

American troops using a newly-developed acoustic locator, mounted on a wheeled platform. The large horns amplified distant sounds, monitored through headphones worn by a crew member, who could direct the platform to move and pinpoint distant enemy aircraft. Development of passive acoustic location accelerated during World War I, later surpassed by the development of radar in the 1940s. (National Archives)

~ Brad

"The machine gun is a much over rated weapon.." ~ Field Marshal Douglas Haig, 1915

13 May 2014

Powershell: Lync User Report

When I first started in my current position, we were positioning to roll out Lync to all of our users company wide. My boss wanted a way to track how many users we actually had enabled. Rather than giving him a simple number of users by running (Get-CsUser).Count, I wanted to be able to provide him more information. In addition I could easily see how well my pools were balanced. This is actually part of a larger report that I have set up as a daily scheduled task. I decided to break it into two pieces for the blog and will post the combined script after that.

Basically this script collects user counts based on registrar pool and Conferencing policy, puts it into a couple nice tables, and emails the report to me. This script provided here looks at two registrar pools and three Conferencing policies. You should be able to modify this as needed for your environment.

I have run this on my Lync 2010 and 2013 Front End servers.

Download the script here. Some of the HTML code included in the script doesn't show up correctly in the preview below.

#******************************************
#
#   DESCRIPTION: Email Report of Lync users based on Registrar Pool and Conferencing Policy
#   VERSION: 1.0
#   UPDATED: 
#   AUTHOR: Brad Roberts
#   CONTACT: brad@thatucguy.com
#   BLOG: http://www.thatUCguy.com
#   BLOG ENTRY: http://www.thatucguy.com/2014/04/powershell-lync-user-report.html
#
#   DISCLAIMER: You running this script means you won't blame me if this breaks your stuff. This script is provided AS IS and is not guaranteed to work perfectly in your environment. Testing is always a good idea. Any risk in running this script is entirely on you.
#
#******************************************

#******************************************
#
# Variable Definitions
#
#******************************************

$strSubject = "Lync User Report"
$strSMTPServer = "smtp.thatucguy.com"
$strToEmail = "lync.admin@thatucguy.com"
$strFromEmail = "no-reply@thatucguy.com"
# Registrar Pools
$poolAmericasFQDN = "lync-pool-americas.thatucguy.com"
$poolAmericas = "Americas Users"
$poolEMEAFQDN = "lync-pool-emea.thatucguy.com"
$poolEMEA = "EMEA Users"
# Conferencing Policies
$ConfSilver = "Lync-Conferencing-Silver"
$ConfGold = "Lync-Conferencing-Gold"
$ConfPlatinum = "Lync-Conferencing-Platinum"

#******************************************
#
# Load Required PS Modules
#
#******************************************

if ((Get-Module ActiveDirectory) -eq $null){Import-Module ActiveDirectory}
if ((Get-Module Lync) -eq $null){Import-Module Lync}

$blnDebug = $false

#********************************
#
# Get User counts, total and for each pool
#
#********************************

$counttotal = (Get-CsUser -OnLyncServer).count
$countamericas = (Get-CsUser -filter {registrarpool -eq $poolAmericasFQDN}).count
$countemea = (Get-CsUser -filter {registrarpool -eq $poolEMEAFQDN}).count
$usercount = $usercount + "

Lync User Report

" $usercount = $usercount + "" $usercount = $usercount + "
Total Users$poolAmericas$poolEMEA
$counttotal$countamericas$countemea
" #******************************** # # Get User counts by Conferencing Policy # #******************************** $countSilver = (Get-CsUser -filter {ConferencingPolicy -eq $ConfSilver}).count $countGold = (Get-CsUser -filter {ConferencingPolicy -eq $ConfGold}).count $countPlatinum = (Get-CsUser -filter {ConferencingPolicy -eq $ConfPlatinum}).count $ConfCount = $ConfCount + "

Lync User Report by Conferencing Policy

" $ConfCount = $ConfCount + "" $ConfCount = $ConfCount + "
Silver UsersGold UsersPlatinum Users
$countSilver$countGold$countPlatinum
" #******************************** # # Create and send email # #******************************** $strComputerName = gc env:computername $dtTimeNow = get-date $strScriptInfo = " Script Info Script Name: " + $MyInvocation.MyCommand.Definition + " Time: " + $dtTimeNow + " Run From: " + $strComputerName $strHTMLHeader = $strHTMLHeader + "" $strHTMLHeader = $strHTMLHeader + "" $strHTMLHeader = $strHTMLHeader + "" $strHTMLHeader = $strHTMLHeader + "" $strHTMLHeader = $strHTMLHeader + "" $strHTMLFooter = $strHTMLFooter + $strScriptInfo $strHTMLFooter = $strHTMLFooter + "" $strHTMLFooter = $strHTMLFooter + "" $strHTMLBody = $strHTMLHeader + $usercount + $ConfCount + $strHTMLFooter $msg = new-object Net.Mail.MailMessage $smtp = new-object Net.Mail.SmtpClient($strSMTPServer) $msg.From = $strFromEmail $strToEmail | foreach {$msg.To.Add($_)} $msg.subject = $strSubject $msg.IsBodyHtml = $true $msg.body = $strHTMLBody $smtp.Send($msg)

Hope this helps!

brad

Fun Fact:
Louisiana is the first state to have an Official Crustacean and it is the crawfish.

09 May 2014

Lync Conference 2014 Videos are available

Good News! The videos from all of the Lync Conference 2014 sessions are now available. You can see all of them over here.



"In all large corporations, there is a pervasive fear that someone, somewhere is having fun with a computer on company time. Networks help alleviate that fear." ~ John C. Dvorak

06 May 2014

Article: Sony develops tech for 185TB tapes: 3,700 times more storage than a Blu-ray disc

Just as everyone is moving away from tape backups, Sony decides to change the game.

There was a time, in computing’s not-so-distant past, where magnetic tape was the best way to back up large amounts of data. In the mid-90s, tape could store tens or hundreds of gigabytes, while hard drive capacities were still mostly measured in megabytes. That would soon change, of course, with the advent of writable optical media and cheap, large hard drives, but even today tape drives still hang around as one of the best options for mass data backup. Now, Sony has developed a new technology that pushes tape drives far beyond where they once were, leading to individual tapes with 185 terabytes of storage capacity.


Read the full article here.

"The factory of the future will have only two employees, a man and a dog.  The man will be there to feed the dog.  The dog will be there to keep the man from touching the equipment. " ~ Warren G. Bennis

05 May 2014

Lync Team Blog is finished

As of 1 May 2014 the Lync Team Blog is finished. This blog is being consolidated into the Microsoft Office Blog.
I'm not sure if this is going to be a good move or not, but there is a Welcome blog entry here to show you how to only get updates for the products you are interested in. When you apply your filters you can get a custom RSS link for your reader.

29 April 2014

Voicemail Retention in Exchange UM

Every Exchange admin freaks out at least a little bit when you start talking about storing voicemails in Exchange, except for maybe the handful that are blessed with unlimited storage.

Most users are pretty bad about managing their mailboxes unless you have implemented storage quotas on their mailboxes. I've seen mailboxes with email going back years. Even though the actual storage requirements for a single voicemail is pretty low (especially compared to large pdf's, spreadsheets, Word docs, etc) it does add up over time.

Older systems typically performed automatic cleanup of old voicemails, usually after 14 or 30 days. Since this is not a default behavior of Exchange, Microsoft has introduced a retention tag specifically for voicemail. This is only available through PowerShell, not through the Console.

Using the New-RetentionPolicyTag command, you can specify the Voicemail Message Class (this is the only class you can specify, all other tags use All). You can then specify an action to be applied after the retention age limit has expired. You will probably want to specify an action like PermanentlyDelete or DeleteAndAllowRecovery.

To create the new retention tag, your command will look like:
New-RetentionPolicyTag -Name “Delete Voicemail after 30 days” -Type All -MessageClass Voicemail -AgeLimitForRetention 30 -RetentionAction PermanentlyDelete

You will then need to create a new retention policy (New-RetentionPolicy) or assign this tag to an existing policy (Set-RetentionPolicy). After you have a policy it needs to be assigned to mailboxes using Set-Mailbox -RetentionPolicy. To assign it to a database, you will need a command like
Get-Mailbox -Database "DB01" | Set-Mailbox -RetentionPolicy "Delete Voicemail after 30 days"

~ brad

Fun Fact:
Douglas Englebart, the inventor of the mouse, has never seen a dime from the patent. That’s because his patent expired just before the device became widely used with almost every computer. But he’s not cursing his luck – Englebart has had a hand in a multitude of other inventions, including hypertext.

22 April 2014

Managing Users with Default Policies

User Management is always fun. The longer you have Lync installed, the more policies seem to build up and overlap. Frequently I will pull and manage users based on the policies that they have assigned. This can be done through the Console, but it does get slow the more users you are trying to manage.

While I do have all of my Global policies configured, I prefer to keep specific policies assigned for the major policies. Like I mentioned above this can be slow and tricky in the Console. Finding users who already have a policy assigned is pretty easy using a command like:
Get-CsUser -filter {ConferencingPolicy -eq "Lync-Conferencing-Gold"}

This will pull up all the users with the specified policy name, and can easily be piped to another command such as Grant-CsMobilityPolicy.

Finding the users that are inheriting the default Global policy is a little trickier. Running the command
Get-CsUser -filter {ConferencingPolicy -eq "Default"}
will give you the following error.
   "Get-CsUser : Cannot bind parameter 'Filter' to the target. Exception setting "Filter": "Policy "Default" is not a user policy. You can assign only a user policy to a specific user."

In order to find all the users with the default policy assigned you will need to use a command like:
Get-CsUser -filter {ConferencingPolicy -eq $Null}

~brad

Fun Fact:
In a short period of ten years Van Gogh made approximately 900 paintings.

16 April 2014

OT Article: Astronomers May Have Witnessed The Birth Of A New Moon In Our Solar System

*Off-Topic*
These may appear on the blog from time to time for things I find interesting.

Astronomers may have just witnessed the birth of a small, icy moon within the rings of Saturn. And since it could be Saturn’s last natural satellite, this is a particularly rare and precious opportunity for us to learn about the formation of the planet’s many moons, including the cloud-wrapped Titan and the ocean-holding Enceladus.

Read the full article on the I F-ing Love Science! blog here.


14 April 2014

Article: You've Seen This Photo A Million Times -- Now Learn The Story Behind It

If you have used a computer in the last decade you have probably seen it, especially if you are in IT. I'm talking about the default Windows desktop 'Bliss' that has been used since Windows XP. Check out this article on Huffington Post for the full story on this iconic desktop.


~ brad

"If nature were not beautiful, it would not be worth knowing, and if nature were not worth knowing, life would not be worth living."  ~ Henri Poincare

07 April 2014

Article: Lync Finds Its Groove in 'Universal Communications' Era

Scott Bekker from Redmond Channel Partner has an interesting article about Microsoft Lync Partners and the Keynote from the Lync Conference. The adoption and interest in Lync is growing, and Microsoft has no plans to slow that growth.

You can read the full article here, but here are a couple pieces that I found interesting.

Carol Spowart spent a moment at the recent Microsoft Lync Conference exchanging high fives with a peer on the show floor.
Spowart is the CEO of House of Lync, a Costa Mesa, Calif.-based professional services firm, which, as you might guess from the name, is 100 percent dedicated to Lync deployment projects. "I have a very friendly competitor out of Houston, and the president said, 'It's raining Lync.' I said, 'All you have to do is put out a bucket,'" Spowart recalls.
and later on...
"The era of universal communications is here to stay. That's what the next decade is going to be about. It's going to change your and my life. In fact, 1 billion people in this decade will use Microsoft universal communications," said Pall, who recently returned to Lync from other parts of Microsoft's business.
and still later...
McGillen notes that Microsoft has made installation of Lync so simple that customers often go too far in enabling features without understanding the underlying network requirements for quality of service. "It's a big problem when somebody tries to install Lync on their own," he says. "It's easy enough to click next, next, next and install it, and the [call] button shows up. That's when we get called in a lot. The voice quality is crummy. It was easy to install, but that doesn't mean that everything is magic."

Enjoy!

~ brad

“Wise men talk because they have something to say; fools, because they have to say something” ~ Plato


04 April 2014

Changing a User's SIP Domain

One of the big projects that we have been working on is re-branding with a global image. This project started with migrating all of our users to have the same email domain and SIP domain. When Lync was initially installed the decision was made to support two SIP domains.

I was lucky and we only had a handful of users that needed to be changed to out primary SIP domain and could make the changes manually. To change a lot of users you could use a script like this. I have not tested this script, so test it first.

$UserList = Get-CsUser -Filter 'SipAddress -like "*olddomain.com"'
foreach ($User in $UserList)
{
   $oldAddress = $User.SipAddress
   $newAddress = $oldAddress -replace "@olddomain.com", "@newdomain.com"
   Set-CsUser -Identity $User.Identity -SipAddress $newAddress
}

Once you change all of the users, you will want to update the Lync and Exchange address books. The changes will update eventually depending on your replication time and when Address Books are scheduled to rebuild, but we want to have as little impact on the users as possible. I ran all of the PowerShell commands just to be on the safe side.

To update the Lync address book:
     Update-CsAddressBook

To update the Exchange address books:
     Update-GlobalAddressList
     Update-OfflineAddressBook

Impacts to the User
  • When the change is made, the user will be logged off Lync, and they will need to log in with the new SIP address.
  • Internal contacts should update the SIP address automatically – no action required.
  • External contacts will have to re-add the user to their contact list.
  • Lync Online Meetings will now be scheduled using the new meet web address. Any existing meetings will need to be rescheduled. There will be a delay between the changing of the SIP address and the ability to schedule meetings with the new address. Once you have updated the Exchange Address List and Offline Address Book the users will need to close and relaunch Outlook for this change to be picked up.
~ brad

Fun Fact:
The MS 150 is a two-day, 180-mile fund raising cycling ride organized by the National Multiple Sclerosis (MS) Society: Lone Star chapter. This ride is the largest event of its kind in North America taking in about 13,000 riders each year with a goal of raising $18 million towards finding a cure for MS.
This year's 30th Anniversary ride is scheduled 12-13 April 2014.

01 April 2014

Lync Conference Sessions Videos

Microsoft has published several videos from Lync Conference 2014 on a new YouTube channel. This is by no means all of the sessions, but there are some including some of the customer sessions.

We are still waiting for all of the sessions to be released on the main Conference page.

~ Brad

Fun Fact:
The domestic cat can run faster than Usain Bolt (the Jamaican sprinter known as the fastest man ever).

25 March 2014

Lync Architecture Poster

In case you haven't seen it yet, Microsoft has updated the Lync Workload poster for 2013. They have also added a few new posters. These are helpful to any Lync administrator, new or experienced.

Links to all of them can be found on TechNet.

Lync Server 2013 On Premises Architecture
     Architectural guidance
Lync Call Quality Methodolgy
     Help find and eliminate call quality issues
     Metrics for server monitoring
Lync 2013 Platform Options
     Shows various platforms options - Online, Hybrid, Onsite and Hosted
Microsoft Lync 2013 Protocol Workloads
     How Lync workloads are processed

~ brad

"Books may look like nothing more than words on a page, but they are actually an infinitely complex imaginotransference technology that translates odd, inky squiggles into pictures inside your head." ~ Jasper Fforde

21 March 2014

Exchange Server Build Numbers

Here is a list of all the Update Rollups and Service Packs that have been released for Exchange Server 2010/2013.

Exchange 2010


Update Release Date Build Link
RTM November 2009 14.0.639.21
UR1 December 2009 14.0.682.1 http://support.microsoft.com/kb/976573
UR2 March 2010 14.0.694.0 http://support.microsoft.com/kb/979611
UR3 April 2010 14.0.694.0 http://support.microsoft.com/kb/981401
UR4 June 2010 14.0.702.1 http://support.microsoft.com/kb/982639
UR5 December 2010 14.0.726.0 http://support.microsoft.com/kb/2407113
SP1 August 2010 14.1.218.15 http://technet.microsoft.com/en-us/library/ff459257(v=exchg.141).aspx
UR1 October 2010 14.1.255.2 http://support.microsoft.com/kb/2407028
UR2 December 2010 14.1.270.1 http://support.microsoft.com/kb/2425179
UR3 March 2011 14.1.289.3 http://support.microsoft.com/kb/2492690
UR3-v3 April 2011 14.1.289.7 http://support.microsoft.com/kb/2529939
UR4 June 2011 14.1.323.1 http://support.microsoft.com/kb/2509910
UR4-v2 July 2011 14.1.323.6 http://support.microsoft.com/kb/2579150
UR5 August 2011 14.1.339.1 http://support.microsoft.com/kb/2582113
UR6 October 2011 14.1.355.2 http://support.microsoft.com/kb/2608646
UR7 August 2012 14.1.421.0 http://support.microsoft.com/kb/2743248
UR7-v2 October 2012 14.1.421.2 http://support.microsoft.com/kb/2756496
UR7-v3 November 2012 14.1.421.3 http://support.microsoft.com/kb/2778158
UR8 December 2012 14.1.438.0 http://support.microsoft.com/kb/2787763
SP2 December 2011 14.2.247.5 http://technet.microsoft.com/en-us/library/hh529924(v=exchg.141).aspx
UR1 February 2012 14.2.283.3 http://support.microsoft.com/kb/2645995
UR2 April 2012 14.2.298.4 http://support.microsoft.com/kb/2661854
UR3 May 2012 14.2.309.2 http://support.microsoft.com/kb/2685289
UR4 August 2012 14.2.318.2 http://support.microsoft.com/kb/2706690
UR4-v2 October 2012 14.2.318.4 http://support.microsoft.com/kb/2756485
UR5 November 2012 14.2.328.5 http://support.microsoft.com/kb/2719800
UR5-v2 December 2012 14.2.328.10 http://support.microsoft.com/kb/2785908
UR6 February 2013 14.2.342.3 http://support.microsoft.com/kb/2746164
UR7 August 2013 14.2.375.0 http://support.microsoft.com/kb/2874216
UR8 December 2013 14.2.390.3 http://support.microsoft.com/kb/2903903
SP3 February 2013 14.3.123.4 http://technet.microsoft.com/en-us/library/jj965775(v=exchg.141).aspx
UR1 May 2013 14.3.146.0  http://support.microsoft.com/kb/2803727
UR2 August 2013 14.3.158.1 http://support.microsoft.com/kb/2866475
UR3 November 2013 14.3.169.1 http://support.microsoft.com/kb/2891587
UR4 December 2013 14.3.174.1 http://support.microsoft.com/kb/2905616
UR5 February 2014 14.3.181.6 http://support.microsoft.com/kb/2917508
UR6 May 2014 14.3.195.1 http://support.microsoft.com/kb/2936871


Exchange 2013

Update Release Date Build Link
RTM October 2012 15.0.516.32
CU1 April 2013 15.0.620.29 http://support.microsoft.com/kb/2816900
CU2 July 2013 15.0.712.22
CU2-v2 July 2013 15.0.712.24 http://support.microsoft.com/kb/2859928
CU3 November 2013 15.0.775.38 http://support.microsoft.com/kb/2892464
SP1 February 2014 15.0.847.32 http://support.microsoft.com/kb/2926248


Hope this helps!
~ Brad

Fun Fact:
The first webcam watched a coffee pot. It allowed researchers at Cambridge to monitor the coffee situation without leaving their desks.

20 March 2014

Lync Client Version Numbers


Here is a list of all the CUs that have been released for the Lync Client. Lync Server version numbers can be found here.

Last Updated 13 June 2014

Lync Client 2010

CU # Release Date Version Link
CU1 January 2011 4.0.7577.108 http://support.microsoft.com/kb/2467763
CU2 April 2011 4.0.7577.253 http://support.microsoft.com/kb/2496325
CU3 May 2011 4.0.7577.280 http://support.microsoft.com/kb/2551268
CU4 July 2011 4.0.7577.314 http://support.microsoft.com/kb/2571543
CU5 November 2011 4.0.7577.4051 http://support.microsoft.com/kb/2514982
CU6 February 2012 4.0.7577.4072 http://support.microsoft.com/kb/2670326
CU7 June 2012 4.0.7577.4103 http://support.microsoft.com/kb/2701664
CU8 October 2012 4.0.7577.4356 http://support.microsoft.com/kb/2737155
CU9 March 2013 4.0.7577.4378 http://support.microsoft.com/kb/2791382
CU10 April 2013 4.0.7577.4384 http://support.microsoft.com/kb/2815347
CU11 July 2013 4.0.7577.4398 http://support.microsoft.com/kb/2842627
CU12 October 2013 4.0.7577.4409 http://support.microsoft.com/kb/2884632
CU13 January 2014 4.0.7577.4419 http://support.microsoft.com/kb/2912208


Lync Client 2013

CU # Release Date Version Link
CU1 February 2013 15.0.4454.1509 http://support.microsoft.com/kb/2812461
CU2 July 2013 15.0.4517.1004 http://support.microsoft.com/kb/2817465
CU3 November 2013 15.0.4551.1005 http://support.microsoft.com/kb/2825630
CU4 December 2013 15.0.4551.1007 http://support.microsoft.com/kb/2850057
CU5/
SP1
February 2014 15.0.4569.1503
http://support.microsoft.com/kb/2817430
CU6 April 2014 15.0.4605.1003 http://support.microsoft.com/kb/2880474
CU7 May 2014 15.0.4615.1001
http://support.microsoft.com/kb/2880980


Lync for Mac 2011

CU # Release Date Version Link
CU1 October 2011 14.0.1 http://support.microsoft.com/kb/2634523
CU2 April 2012 14.0.2 http://support.microsoft.com/kb/2690036‎
CU3 August 2012 14.0.3 http://support.microsoft.com/kb/2726395
CU4 February 2013 14.0.4 http://support.microsoft.com/kb/2778095
CU5 June 2013 14.0.5 http://support.microsoft.com/kb/2844274
CU6 October 2013 14.0.6 http://support.microsoft.com/kb/2888920
CU7 December 2013 14.0.7 http://support.microsoft.com/kb/2909662
CU8 April 2014 14.0.8 http://support.microsoft.com/kb/2952672
CU9 June 2014 14.0.9 http://support.microsoft.com/kb/2963369

Hope this helps!

~ brad

"The most likely way for the world to be destroyed, most experts agree, is by accident. That's where we come in; we're computer professionals. We cause accidents."  ~ Nathaniel Borenstein

Lync Server Version Numbers


Here is a list of CUs released for Lync Server. Lync Client version numbers can be found here.

Last Updated: 20 March 2014

Lync Server 2010

CU # Release Date Version Link
CU1 January 2011 4.0.7577.108 http://support.microsoft.com/kb/2467775
CU2 April 2011 4.0.7577.137 http://support.microsoft.com/kb/2500442
CU3 July 2011 4.0.7577.166 http://support.microsoft.com/kb/2571546
CU4 November 2011 4.0.7577.183 http://support.microsoft.com/kb/2514980
CU5 February 2012 4.0.7577.190 http://support.microsoft.com/kb/2670352
CU6 June 2012 4.0.7577.199 http://support.microsoft.com/kb/2701585
CU7 October 2012 4.0.7577.203 http://support.microsoft.com/kb/2737915
CU8 March 2013 4.0.7577.216 http://support.microsoft.com/kb/2791381
CU9 July 2013 4.0.7577.217 http://support.microsoft.com/kb/2860700
CU10 October 2013 4.0.7577.223 http://support.microsoft.com/kb/2889610
CU11 January 2014 4.0.7577.225 http://support.microsoft.com/kb/2909888

Lync Server 2013

CU # Release Date Version Link
CU1 February 2013 5.0.8308.291 http://support.microsoft.com/kb/2781547
CU2 July 2013 5.0.8308.420 http://support.microsoft.com/kb/2819565
CU3 October 2013 5.0.8308.556 http://support.microsoft.com/kb/2881684
CU4 January 2014 5.0.8308.577 http://support.microsoft.com/kb/2905048

Hope this helps!

~ brad

"A computer will do what you tell it to do, but that may be much different from what you had in mind."  ~ Joseph Weizenbaum

14 March 2014

Persistent Chat Settings Disappear

One of the best new features in Lync 2013 is the built-in Persistent Chat role. This is a new role for me and lately we have been piloting the feature in my environment. Everything is working great, but a couple of my pilot users complained about the notification settings in the client not being retained. After some testing, I found that the 2013 client would hold the settings on a simple log out, log in; but if you did a full restart of the client or rebooted the machine that settings would revert back to default of no notifications.


Doing some research, I didn't find much. These settings don't appear to be stored in the registry as the values don't change when settings are changed.

The Persistent Chat policy in Lync is very basic, basically one setting to turn persistent chat on or off for the user base. By default a Global policy is created when you enable Persistent Chat in the topology. Like most Global Policies that are assigned by default, when you look at a user in PowerShell the field shows up blank.



Global automatic policies are a great idea, but in this case appears to only partway work. It does enable users to use Persistent Chat but doesn't save their settings related to it.

As a workaround, I created a new pool policy for the pool my account is in. A few minutes later I was able to exit the client and relaunch it, and my settings remained.

The Technet article for New-CsPersistentChatPolicy doesn't mention a pool policy, but it is available through the Control Panel.

~brad

“What we now want is closer contact and better understanding between individuals and communities all over the earth, and the elimination of egoism and pride which is always prone to plunge the world into primeval barbarism and strife... Peace can only come as a natural consequence of universal enlightenment...” 
~ Nikola Tesla

10 March 2014

Exchange 2013 SP1 Released

Exchange 2013 Service Pack 1 (Build 15.00.0847.032) was released on 25 February 2014.

You can find the Release Notes here. There is a schema update involved so be sure to read the notes.

There is also a good write-up on the Exchange Team Blog.

~brad

Fun Fact:
The Houston Livestock Show and Rodeo, also known as Rodeo Houston or HLSR, is the world's largest world's largest live entertainment and livestock exhibition.

06 March 2014

Exchange Supportability for Server 2012/2012 R2

Microsoft has recently (20 February 2014) updated the Exchange supportability matrices. There is now support for Server 2012/2012 R2 to be used as the OS for an Exchange server, and as the OS for your domain controllers. In addition the new 2012 AD Forest and Domain functionality levels are supported.

See the tables below for release compatibility, and see Technet for full details and the latest information.

Supported OS for Exchange Servers

(Click to embiggen)

Support for Active Directory Server OS
(Click to embiggen)

Support for Active Directory Domain and Functional Level
(Click to embiggen)

~ brad

"Anyone who has never made a mistake has never tried anything new." ~ Albert Einstein


27 February 2014

Lync Conference: Securing External and Mobile Access in Lync

Here are the notes for another session I attended at the conference.

Unlocking Lync Mobile Deployments
Francois Doremieux (Microsoft)
Rui Maximo (Lync-Solutions)

Authentication in Earlier Mobile Versions
  • To Lync server
    • Through Reverse Proxy
    • NTLM only
    • Re-authorize every 8 hours
  • To EWS
    • For voice mail, meetings, UCS in 2013
    • NTLM only
    • Authorization is required for each query




Recent Improvements
  • Improvement Principles
    • Reduce or remove AD credential exposure
    • Two options for initial authorization
      • NTLM
      • Passive Authentication
    • Dissociate subsequent re-authorizations - personal Lync certificate issued by Lync server
    • No solution for EWS yet
      • Remains NTLM for every query
      • Can remove/disable EWS dependent capabilities
  • Lync Certificate Authorization
    • Client obtains certificate on initial authorization
    • Method has been used for awhile with other clients (desktop, phone)
    • Admin can revoke a user's certificate at any time
    • Certificate lifetime and auto-renewal interval manageable by Lync admin
    • Certificate is scoped only to Lync - can't be used to gain access to anything else on the network
    • Sign-out, deleting client, upgrading client required intial sign-in again
  • Initial Authentication
    • NTLM
    • Used to obtain web ticket from web ticket service

  • Protecting AD Credentials
    • New policy to disable password storage
      • Set-CsMobilityPolicy -AllowSaveCredentials
    • Disable EWS
      • Set-CsMobilityPolicy -AllowExchangeConnectivity
      • Voicemails will still be in email, Meeting links in calendar
  • Passive Authentication
    • New auth method introduced in Q1 CY2013
    • Lync server gets out of authentication
      • Server delegates authentication to trusted Security Token Service
      • STS serves custom authorization web page rendered in Lync app
      • Uses form entries in Trident page - not possible to use cert on device or smart card but can support forms based multifactor (password + OTP or SecurID)
      • STS passes token to client which it presents to Lync server
    • Set up server side
      • Can't be client policy as client would only get it after authentication
      • Server Policy - scope per pool, affects all users and all client types
      • Enable Passive, disable kerberos and NTLM
    • Experience - pop up window to authenticate



      • Not quite ready for all clients

    Other questions around mobile security
    • MDM discussion
      • Lync Mobile does not support MDM
        • No path to distribute
        • Rich, real-time behavior of app does not lend itself to complex integration
        • Distribution through App Store is most efficient way to get current release
      • What we endeavour instead
        • Why should app security depend on MDM?
        • Improvement on policies, authentication, protection of data at rest
        • Open to feedback toward closing possible remaining gaps
    • What does Lync mobile do for data security
      • Data transfers
        • Authenticated, encrypted at similar grade as encapsulating solutions
      • Data at rest
        • Very little data at rest
        • Not accessible to other apps
        • No local storing of address books
    • Pre-authentication in DMZ
      • All authentication done in network
      • Third party solutions available where Lync Mobile traffic is intercepted at reverse proxy

    Incremental capabilities through third party solutions
    • Lync-Solutions Security Filters
      • Modular security solution
      • Not just mobile but external access
      • Intercepts login traffic in DMZ, deep packet inspection and validation
      • Prevention of DoS and Brute Force attacks
      • User-device affinity
      • Logging, monitoring, alarming


      • Authentication mechanism
        • kerberos contrained
        • Passive authentication
      • Addresses customer asks
        • Pre-authentication and validation in DMZ
        • Device restriction - enables verification of device used by user, can be combined with policies, alarming, etc



    • Random Trivia: 

      The Hoover Dam is made of enough concrete to make a two lane highway from New York to San Francisco, that’s around 4000 miles (2500 kilometres).