January 2012 Technical Rollup Mail: Unified Communications

January 14, 2012 Leave a comment

News

Premier

OpsVault — Operate and Optimize IT
http://www.opsvault.com

Microsoft Premier Support UK – Site Home – TechNet Blogs
http://blogs.technet.com/b/mspremuk/

Antigen & Forefront

Forefront Team Blog – Site Home – TechNet Blogs
http://blogs.technet.com/b/forefront

Forefront Server Security Support Blog – Site Home – TechNet Blogs
http://blogs.technet.com/b/fssnerds

Exchange

Exchange Team Blog – Site Home – TechNet Blogs
http://blogs.technet.com/b/exchange/

MCS UK Unified Communications Blog – Site Home – TechNet Blogs
http://blogs.technet.com/b/msukucc

Hosted Messaging Collaboration

Lync, Office Communication Server & LiveMeeting

NextHop – Site Home – TechNet Blogs http://blogs.technet.com/b/nexthop/

Lync Team Blog – Site Home – TechNet Blogs http://blogs.technet.com/b/lync/

Outlook

http://blogs.msdn.com/b/outlook/default.aspx

Other

NextHop – Site Home – TechNet Blogs http://blogs.technet.com/b/nexthop/

The Master Blog – Site Home – TechNet Blogs http://blogs.technet.com/b/themasterblog

Events/Webcasts

Unleash Your Productivity – Delivering a Great First Impression with Exchange 2010

January 27, 2012 2:00PM Eastern / 11:00AM Pacific

Are you interested in Microsoft productivity solutions and would like to hear more about the technology directly from Microsoft? Join us for 60 minutes to hear Microsoft technology experts deliver information on the latest Microsoft technologies, solution demos and product tips and tricks!

Microsoft Office System Webcast: Outlook 2010: Use Contacts as More Than Just an Address Book (Level 200)

Tuesday, January 31, 2012 9:00 AM Time zone: (GMT-08:00) Pacific Time (US & Canada)

See how contacts in Microsoft Outlook 2010 can be more than just an email address book. Use your Contacts folder to store email addresses, street addresses, multiple phone numbers, pictures, logos, and any other information that relates to a contact. Create and share distribution lists, and learn how Outlook 2010 also supports vCards (virtual business cards). Additionally, see how tasks can simplify your life by helping you create and manage easy to-do lists in Outlook 2010. This webcast covers the following topics:

  • Creating and managing contacts and distribution lists
  • Working with contacts as electronic business cards
  • Sharing contacts and distribution lists
  • Setting your default address book
  • Creating tasks from email messages
  • Keeping track of your to-do lists with tasks
  • Advanced calendar options

New KB’s

Antigen & Forefront

  1. Microsoft Forefront Online Protection for Exchange: How Exchange Hosted Archive handles blind carbon copy (Bcc) recipients http://support.microsoft.com/kb/2653006

Exchange

Microsoft Exchange Server 2003 Enterprise Edition:

  1. Exchange ActiveSync and Outlook Mobile Access errors occur when SSL or forms-based authentication is required for Exchange Server 2003 http://support.microsoft.com/kb/817379

Microsoft Exchange Server 2003 Standard Edition:

  1. How to troubleshoot public folder replication problems in Exchange 2000 Server and in Exchange Server 2003 http://support.microsoft.com/kb/842273

Microsoft Exchange Server 2007 Enterprise Edition:

  1. A meeting reminder is set unexpectedly when you send an email message to an Exchange Server user http://support.microsoft.com/kb/945854

Microsoft Exchange Server 2010 Coexistence:

How to extend the Active Directory schema for the Hierarchical Address Book (HAB) on an Exchange Server 2010 server http://support.microsoft.com/kb/973788

Microsoft Exchange Server 2010 Enterprise:

  1. The Seniority Index feature in the Hierarchical Address Book does not work as expected in Exchange Server 2010 http://support.microsoft.com/kb/2448288
  2. The Exchange Server is not a member of Exchange Trusted Subsystem http://support.microsoft.com/kb/2655050
  3. Some e-mail messages become stuck in an Exchange Server environment http://support.microsoft.com/kb/979175

Microsoft Exchange Server 2010 Standard:

  1. Exchange Server 2010 databases grow very large when the Calendar Snapshot feature is enabled http://support.microsoft.com/kb/2661071

Outlook

Microsoft Office Outlook 2003:

  1. Description of the Outlook 2003 Junk Email Filter update: December 13, 2011 http://support.microsoft.com/kb/2597035

Microsoft Office Outlook 2007:

  1. Description of the Outlook 2007 hotfix package (Outlook-x-none.msp, Outlook-en-us.msp): December 13, 2011 http://support.microsoft.com/kb/2596985
  2. The sort order may be incorrect for e-mail messages that you sort by size in Outlook 2007 http://support.microsoft.com/kb/919200

Microsoft Outlook 2010:

  1. No prompt for credentials when you start Outlook 2010 as an initial application in RDP or as a published application in Citrix Zen http://support.microsoft.com/kb/2596960
  2. Description of the Outlook 2010 hotfix package (x86 Outlookintl-de-de.msp, x64 Outlookintl-de-de.msp): December 13, 2011 http://support.microsoft.com/kb/2597001
  3. Description of the Outlook 2010 hotfix package (x86 Outlookintl-xx-xx.msp, x64 Outlookintl-xx-xx.msp): December 13, 2011 http://support.microsoft.com/kb/2597012
  4. “Could not connect to server” error message in the Outlook Social Connector http://support.microsoft.com/kb/2597026
  5. Smart cards are not supported in Outlook 2010 when you access your mailbox by using Outlook Anywhere (RPC/HTTP) http://support.microsoft.com/kb/2597028
  6. “The operation failed” error message when you try to book a resource mailbox from a shared calendar by using Outlook 2010 http://support.microsoft.com/kb/2597037
  7. Description of the Outlook 2010 hotfix package (x86 Outlook-x-none.msp, x64 Outlook-x-none.msp, Outlookintl-xx-xx.msp): December 13, 2011 http://support.microsoft.com/kb/2597061
  8. You receive unexpected results when you search lots of subfolders in Outlook 2010 http://support.microsoft.com/kb/2654234
  9. Certain appointments that are scheduled to occur on Saturdays disappear from the Calendar view in Outlook 2010 http://support.microsoft.com/kb/2655312
  10. An email message is stuck in the Microsoft Outlook 2010 Outbox. http://support.microsoft.com/kb/2663435

 

What to expect at your first MVP Summit

January 2, 2012 19 comments

Every year, there is a flurry of questions from newly minted MVPs about the annual MVP Summit. As a veteran of at least a 1/2 dozen Summits, I’ve created this post to answer the commonly asked questions. Hopefully, it should provide a good bit of info on what to expect. Feel free to ask questions in the comments below. This is a living post.

Keep your MVP profile updated!

I can’t recommend enough about having your MVP profile up to date, especially the ”Expertise and Interests” section. This section dictates what session areas you may attend at the Summit. Update it NOW! Also, other MVPs can use your profile to contact you. The first year I attended, I viewed the profiles of other MVPs in my expertise (Exchange) to learn more about my colleagues. I’ve also had some recruiters and customers call after viewing my profile. The MVP profile can be quite beneficial.

What to bring

Here is a list of things you should bring.

  1. Camera – You’ll be meeting a lot of people, putting faces to names. There are a lot of social events and social networking opportunities in which to record the moment. Plus, there are some nice places to visit, or take pictures of, such as Mt. Ranier, Pike’s Place Market, etc.
  2. Business cards – As mentioned above, you’ll be meeting lots of people. If you’re in sales, tread lightly on the marketing push. Stick them in the back of your ID holder for easy access.
  3. Cold weather clothing – Seattle weather during the Summit time frame can be predictable (rain), and unpredictable (snow). It’s generally fairly cold during the time of the Summit. Dress in layers to survive.
  4. A suitcase with extra space. You’ll get a Summit shirt, you’ll go to the company store, and some product groups give out gifts. There is also the public Microsoft Store at the Bellevue Square, a mall near the Summit hotels.
  5. Laptop or iPad for taking notes during technical sessions and keynotes. I recommend Microsoft OneNote, which is available on both the PC and iOS platforms.
  6. If you’re coming from another country, bring a suitable power adapter to use for your gear in the U.S.
  7. Your MVP number. If Microsoft hasn’t received your signed NDA form yet, you may be required to sign one before you’re allowed into the event. The form requires your MVP number.
  8. If you’re from outside the country, check your cell phone’s data plan and roaming limitations. Don’t get caught with an unexpected costly mobile bill.

Arrive early, stay late – dinners, parties and extra events

I recommend padding the summit time frame by a day on each end to allow for extra sight-seeing, additional events, and shopping.

Some product groups will have extra sessions, and those take place before or after the regular summit days. If your product group is doing this, you’ll know in advance.

There is a Welcome Reception, Summit Attendee party, a product group event (usually a dinner event), and generally some third-party events like Party with Palermo (a developer based event). Many of the various groups informally meet at local establishments during the evenings, as well. You’ll stay busy at this event, I guarantee!

The Attendee Party is being held at CenturyLink Field, home of the Seattle Seahawks. Food, drink, and the chance to check out the facility, listen to live music , etc. Last year you could play XBox in the locker rooms at the party at Safeco Field – lots of fun.

See the list of official events at http://www.2012mvpsummit.com/Agenda and other events at http://mvpsummitevents.info/

There is also a growing participation in GeekGive, a charity event, and MVPNation.

Keynote speeches

Note: There are no scheduled keynotes for Summit 2012. This section is for past and future reference.

There are Q&A sessions at the end of each. Here are some guidelines that will avoid people throwing things at you.

  1. Introduce yourself with your name and MVP area. Avoid anything else.
  2. Make it quick – ask a single question. I’m reminded of the scene in “Back to School” with Rodney Dangerfield where the professor says he “has but one question – in 27 parts”. Don’t hog the time, others have questions, too.
  3. And I hate to say this, but the fact is, if your English isn’t very strong, consider having someone else ask your question, or don’t ask at all. Every year, someone will ask some questions that very few people can understand. That leads to awkwardness and unanswered questions.
  4. Don’t ask deep technical questions. The people giving the keynote and answering questions aren’t likely going to know WHY Exchange isn’t running on SQL.
  5. Don’t ask for autographs.
  6. Don’t bring things to give to them. Those crazy Canadians started that and it got out of control one year (although they do look sharp in their red hockey jerseys).

Engaging the product group

There are some opportunities to engage the product group for your area of expertise. This includes during technical sessions, product group events like dinners, and other unofficial events. Keep in mind that interaction with the product group should be handled professionally. While it’s important to discuss concerns, please respect their time and efforts. Remember, having access to the product group is a privilege, and you’d be surprised how quickly they stop answering your questions and requests for help if you’re constantly (or worse, publicly) berating of their accomplishments. Also keep in mind that not every person in the product group happens to be in the Redmond area during the Summit time frame. So don’t get angry if the person responsible for feature X isn’t there.

Company store

There is generally a trip to the company store. You’re generally given a voucher that allows you to spend up to a specific amount (100-150 bucks) OF YOUR OWN MONEY on licensed materials such as hardware and software. These are regular consumer products available at employee pricing. You cannot exceed the amount on the voucher, so don’t think you’re gonna get an XBox console on the cheap. The voucher is generally valid to purchase from a special site online as well, and have the items shipped to you. In the past, if you use part of the amount on your voucher, they take the voucher, and you can’t user “what’s left” of it. Choose accordingly.

You can purchase as much as you want of the other items, including clothing, bags, books, and other swag. As mentioned above, plan accordingly. Make sure you have room in your suitcase to take the stuff home.

Internet access

Here’s the bad part. The WiFi inside the Microsoft buildings can be extremely unreliable due to the sheer demand. If you can tether via cell phone, or you have an air card/MiFi, keep those handy. Don’t plan on streaming videos, and even doing VPN connections can be very problematic over the guest WiFi.

Dress code

There isn’t one. Casual is generally what people wear, with the majority wearing jeans. Many people wear shirts and jerseys from previous Summits. See my comments above about dressing warm.

Car rentals

Don’t bother. It’s too expensive, and, unless you plan on doing a bunch of tourist stuff, you won’t use it. Keep in mind that hotels will charge you a horrendous fee to park each night.

Transportation

From the airport, take a taxi or shuttle bus. Many people will coordinate with others and split the bill. Some people recommend the Gray Line, and I’ve used Shuttle Express which typically makes stops at all of the hotels used by Summit attendees. I believe one-way trips are in the $20 range for both. In can easily take 30 minutes (with no traffic) to get from the airport to the hotels.

Transportation to/from hotels and official Summit locations including the Attendee Party, are provided by Microsoft. I believe information about that is listed on the Summit website. Many of the “hangouts” in the Bellevue area are all within walking distance from the hotels.

Social networking, NDAs, and such

It’s generally acceptable to mention where you are (check-in). But you are under NDA during the technical sessions, so don’t even THINK about posting ANYTHING you see or hear during official events such as keynotes, sessions, official events, etc. Microsoft monitors social networks during the event, and people have lost their MVP status in the past for tweeting/posting info that was covered by NDA. I would recommend not discussing technical information in public areas, either. I mentioned near the top about bringing cameras. Tread lightly here.

Lately, I’ve seen quite a few people win items simply by checking in via Foursquare when going to the public Microsoft Store. There is also a downtown Seattle badge on Foursquare.

Also, the MVP program has Facebook and Twitter feeds to follow (including the #MVP12 hashtag for the Summit, and #MVPBuzz for the program in general). The program also has a blog.

Hotels

If you’re rooming with someone you haven’t roomed with before, and you snore, buy your roomie some drinks. Someone suggested bringing tennis balls they can lob at you to help stir you a little. Interesting suggestion.

Have fun!

You will meet new friends, technical contacts, and people who will help you succeed. Have fun!

Categories: Personal Tags:

Ensure your PowerShell script is connected to Exchange 2010

December 28, 2011 9 comments

When writing scripts that execute commands on an Exchange server, for Exchange 2010, it’s important to ensure that you’re running within a session connected to an Exchange server, and that all Exchange cmdlets are available. In Exchange 2007, we could load the Exchange snapins. But 2010 doesn’t use snapins. Some people would say that you can simply load the modules, but loading the modules bypasses RBAC, and is thus, not recommended. Mike Pfeiffer wrote a great article Managing Exchange 2010 with Remote PowerShell that sheds some light. It’s worth a read.

A solution around this is to run a PowerShell script that comes built into Exchange 2010. This makes available the Connect-ExchangeServer cmdlet, which will connect via remote PowerShell to Exchange. We can specify a server, or let the -auto option connect to the best server via autodiscover. New-ExchangeConnection is a function I wrote to connect:

function New-ExchangeConnection	{
	Write-Host "Checking for Exchange Management Shell"
	$s = Get-PSSession | Where-Object {$_.ConfigurationName -eq 'Microsoft.Exchange'}
	if (!($s)){
		Write-Host "Exchange Management Shell not found - Loading..." -ForegroundColor Yellow
		. "$env:ExchangeInstallPath\bin\RemoteExchange.ps1"
		Write-Host "Exchange Management Shell loaded" -ForegroundColor green
		Write-Host "Connecting to Exchange server"
		Connect-ExchangeServer -auto
		Write-Host "Connected to Exchange Server" -ForegroundColor green
	}else{
		Write-Host "Exchange Management Shell already loaded" -ForegroundColor Yellow
	}
} # end function New-ExchangeConnection

I make use of dot sourcing the .ps1 script, then issue the Connect-ExchangeServer command. Calling this within your script will make ensuring that your script is running with access to Exchange cmdlets much simpler.

PowerShell function for loading and verifying modules

December 27, 2011 10 comments

Often in my PowerShell scripts, I need to either load a specific module, or verify it’s loaded. Manually, of course, we can use Get-Module, Import-Module, etc. But in automation scripts, we need to programtically make sure the module is loaded or load it if it’s not. I wrote this function and it’s worked well for me. introducing Get-ModuleStatus:

function Get-ModuleStatus { # http://www.ehloworld.com/938
	[CmdletBinding(SupportsShouldProcess=$true)]
	param	(
		[parameter(ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true, Mandatory=$true, HelpMessage="No module name specified!")]
		[string]$name
	)
	if(!(Get-Module -name "$name")) {
		if(Get-Module -ListAvailable | ? {$_.name -eq "$name"}) {
			Import-Module -Name "$name"
			# Write-Host "module $name was imported"
			return $true
		} else {
			# Write-Host "module $name was not available (Windows feature isn't installed)"
			return $false
		}
	}else {
		# Write-Host "module $name was already imported"
		return $true
	}
} # end function Get-ModuleStatus

Call it supplying the module name, such as

Get-ModuleStatus Lync

You can use logic such as

if (Get-ModuleStatus Lync){Write-Host "Lync module is loaded}else{Write-Host "Lync module is NOT loaded" -ForegroundColor red}

Simple and effective.

Download

v1.0 Get-ModuleStatus.ps1

Categories: PowerShell Tags:

Creating passwords with PowerShell

December 26, 2011 2 comments

When creating new accounts, an admin needs to assign a password. We often then check the box to force a user to change their password when they logon for the first time. Some organizations will use a ‘default’ password for all new accounts. That’s fraught with security implications, and I’ve never recommended it. The downside is that you, as an admin, need to think up a password for each new account. I know how it is – you look around at things on your desk, items on the wall, looking for ideas. Then you have to make sure your super password meets your organizations password requirements, including length and complexity. Well, no more!

Enter New-Password. This function takes one simple input – length. It then spits out a password of said length, using upper and lower case letters, numbers, and punctuation, as well as a phonetic version. If you choose not to use some of the punctuation characters, feel free to just put a ‘#’ in front of that particular line.

function New-Password	{
	[CmdletBinding(SupportsShouldProcess=$true)]
	param(
		[int]$length
	)
	$password = -join ([Char[]]'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789%$!#^{}<>' | Get-Random -count $length)
	Write-Host "`n$password`n" -ForegroundColor green
	# Write-Host
	ForEach ($character in [char[]]"$password"){
		[string]$ThisLetter = $character
		switch ($ThisLetter)	{
			a	{$ThisWord = "alpha"}
			b	{$ThisWord = "bravo"}
			c	{$ThisWord = "charlie"}
			d	{$ThisWord = "delta"}
			e	{$ThisWord = "echo"}
			f	{$ThisWord = "foxtrot"}
			g	{$ThisWord = "golf"}
			h	{$ThisWord = "hotel"}
			i	{$ThisWord = "india"}
			j	{$ThisWord = "juliett"}
			k	{$ThisWord = "kilo"}
			l	{$ThisWord = "lima"}
			m	{$ThisWord = "mike"}
			n	{$ThisWord = "november"}
			o	{$ThisWord = "oscar"}
			p	{$ThisWord = "papa"}
			q	{$ThisWord = "quebec"}
			r	{$ThisWord = "romeo"}
			s	{$ThisWord = "sierra"}
			t	{$ThisWord = "tango"}
			u	{$ThisWord = "uniform"}
			v	{$ThisWord = "victor"}
			w	{$ThisWord = "whiskey"}
			x	{$ThisWord = "xray"}
			y	{$ThisWord = "yankee"}
			z	{$ThisWord = "zulu"}
			1	{$ThisWord = "one"}
			2	{$ThisWord = "two"}
			3	{$ThisWord = "three"}
			4	{$ThisWord = "four"}
			5	{$ThisWord = "five"}
			6	{$ThisWord = "six"}
			7	{$ThisWord = "seven"}
			8	{$ThisWord = "eight"}
			9	{$ThisWord = "nine"}
			0	{$ThisWord = "zero"}
			!	{$ThisWord = "!"}
			$	{$ThisWord = "$"}
			%	{$ThisWord = "%"}
			^	{$ThisWord = "^"}
			*	{$ThisWord = "*"}
			-	{$ThisWord = "-"}
			_	{$ThisWord = "_"}
			:	{$ThisWord = ":"}
			`;	{$ThisWord = ";"}
			`{	{$ThisWord = "{"}
			`}	{$ThisWord = "}"}
			`/	{$ThisWord = "/"}
			`<	{$ThisWord = "<"}
			`>	{$ThisWord = ">"}
			`#	{$ThisWord = "#"}
			`{	{$ThisWord = "{"}
			`}	{$ThisWord = "}"}
		}
		if ($ThisLetter -cmatch $ThisLetter.ToUpper()){
			$ThisWord = $ThisWord.ToUpper()
		}
		Write-Host "$ThisWord " -NoNewLine -ForegroundColor yellow
	}
	Write-Host "`n"
} # end function New-Password

Now, stick that function in your PowerShell profile. Each time you need a new password, use

New-Password -length [number]

such as

New-Password -length 12

And you now have a password to use.

New-Password

New-Password

 

Categories: PowerShell Tags: ,

Getting and settings local admin group membership on remote machines via PowerShell

December 22, 2011 1 comment

While writing some PowerShell scripts to automate the installation of Exchange on over 100 servers, I needed to set and then verify that a group (in this case, “Exchange Trusted Subsystem”) was a member of the local admins group on some remote servers.

We start with Get-LocalAdminGroupMembership. This function merely checks the local admins group on a remote server to see if the group to be added is already a member. If it is, it returns $true, if not, $false. We need to pass it two variables: $ComputerName, and $Member. We don’t need to run this function. It’s called from the second function.

function Get-LocalAdminGroupMembership	{
	[CmdletBinding()]
	Param(
		[Parameter(Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)]
		$ComputerName = ".",
		[Parameter(Position=1, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)]
		$Member
	)
	if($ComputerName -eq '.'){$ComputerName = (get-WmiObject win32_computersystem).Name}
	$computer = [ADSI]("WinNT://" + $ComputerName + ",computer")
	$Group = $computer.psbase.children.find("Administrators")
	$members= $Group.psbase.invoke("Members") | % {$_.GetType().InvokeMember("Name", 'GetProperty', $null, $_, $null)}
	if ($members -match $member){return $true}else{return $false}
} # end function Get-LocalAdminGroupMembership

 

The second function does all the heavy lifting.

function Set-LocalAdminGroupMembership {
	[CmdletBinding()]
	Param(
		[Parameter(Position=0, Mandatory=$false, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)]
		[string]$ComputerName = '.',
		[Parameter(Position=1, Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)]
		[string]$Member,
		[Parameter(Position=2, Mandatory=$false, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)]
		[string]$Domain = $env:USERDNSDOMAIN
	)

	Process{
		if (!(Get-LocalAdminGroupMembership -ComputerName "$ComputerName" -Member "$Member")){
			if($ComputerName -eq '.'){$ComputerName = $env:ComputerName.ToUpper()}    

			if($Domain){
  			$adsi = [ADSI]"WinNT://$ComputerName/administrators,group"
    		$adsi.Add("WinNT://$Domain/$Member,group")
			}else{
	  		Write-Host "Not connected to a domain." -ForegroundColor "red"
			}
		} else {
			Write-Host "`"$Account`" is already a local admin on $ComputerName" -ForegroundColor yellow
		}
		Get-LocalAdminGroupMembership -ComputerComputer "$ComputerName" -Member "$Member"
	}# Process
} # end function Set-LocalAdminGroupMembership

We call Set-LocalAdminGroupMembership and pass it the same parameters, $ComputerName and $Member

Set-LocalAdminGroupMembership -ComputerName mycomputer -Member "Exchange Trusted Subsystem"

The function will add the group to the local admins group, and then do a Get-LocalAdminGroupMembership for that same group and dump the results to the screen.

Pausing PowerShell scripts

December 21, 2011 Leave a comment

Yesterday, I wrote about a sleep function to cause a predetermined delay in a script. Today, I give you a short function, New-Pause. New-Pause stops a script and waits for the user to press a key before continuing.

function New-Pause {
 Write-Host "Press any key to continue" -ForegroundColor green
 $x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
} # end function New-Pause

Call the function using

New-Pause
New-Pause
New-Pause

Once any key is pressed, your script can continue.

Categories: PowerShell Tags:

Sleep function for PowerShell when you need a delay

December 20, 2011 5 comments

On a recent project, I needed some PowerShell scripts to wait for a few seconds just to ensure that some other processes were finished and I wasn’t issuing too many commands to some Exchange servers too quickly. I came up with this little function:

function New-Sleep {
	[cmdletbinding()]
	param(
		[parameter(ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true, Mandatory=$true, HelpMessage="No time specified")]
		[int]$s
	)
	for ($i=1; $i -lt $s; $i++) {
	[int]$TimeLeft=$s-$i
	Write-Progress -Activity "Waiting $s seconds..." -PercentComplete (100/$s*$i) -CurrentOperation "$TimeLeft seconds left ($i elapsed)" -Status "Please wait"
	Start-Sleep -s 1
	}
	Write-Progress -Completed $true -Status "Please wait"
} # end function New-Sleep

Call the function like this:

New-Sleep -s 60

Where the value of $s is the number of seconds you want to sleep. The display tells you how long your sleeping for, how much time is left, and how much time has elapsed.

New-Sleep

New-Sleep

Download the function below.

Download

v1.0 New-Sleep.ps1

Categories: PowerShell Tags:

December 2011 Technical Rollup: Unified Communications

December 12, 2011 Leave a comment

News

Premier

OpsVault — Operate and Optimize IT
http://www.opsvault.com 

Microsoft Premier Support UK – Site Home – TechNet Blogs
http://blogs.technet.com/b/mspremuk/ 

Antigen & Forefront

Forefront Team Blog – Site Home – TechNet Blogs
http://blogs.technet.com/b/forefront 

Forefront Server Security Support Blog – Site Home – TechNet Blogs
http://blogs.technet.com/b/fssnerds 

Exchange

  1. Exchange Server 2010 SP2
    http://blogs.technet.com/b/exchange/archive/2011/12/05/released-exchange-server-2010-sp2.aspx
  2. What’s New in Exchange 2010 SP2
    http://technet.microsoft.com/en-us/library/hh529924.aspx
  3. Exchange Server 2010 SP2 Unified Messaging Language Packs
    http://www.microsoft.com/download/en/details.aspx?id=28191
  4. Exchange Server 2010 SP2 Help
    http://www.microsoft.com/download/en/details.aspx?id=28207

Exchange Team Blog – Site Home – TechNet Blogs
http://blogs.technet.com/b/exchange/ 

MCS UK Unified Communications Blog – Site Home – TechNet Blogs
http://blogs.technet.com/b/msukucc 

Hosted Messaging Collaboration

Lync, Office Communication Server & LiveMeeting

  1. Lync Server 2010 Hotfix KB 2493736 (Cumulative Update 4)
    http://www.microsoft.com/download/en/details.aspx?id=11551
  2. Lync Server 2010 Documentation Help File
    http://www.microsoft.com/download/en/details.aspx?id=23888
  3. Lync Server 2010 Mobility Guide
    http://www.microsoft.com/download/en/details.aspx?id=28355
  4. Lync Server 2010 Mobility Service and Lync Server 2010 Autodiscover Service
    http://www.microsoft.com/download/en/details.aspx?id=28356

NextHop – Site Home – TechNet Blogs
http://blogs.technet.com/b/nexthop/ 

Lync Team Blog – Site Home – TechNet Blogs
http://blogs.technet.com/b/lync/ 

Outlook

http://blogs.msdn.com/b/outlook

Other

NextHop – Site Home – TechNet Blogs
http://blogs.technet.com/b/nexthop/ 

The Master Blog – Site Home – TechNet Blogs
http://blogs.technet.com/b/themasterblog 

New KB’s

Antigen & Forefront

Microsoft Forefront Online Protection for Exchange:

  1. “A synchronization error occurred between your Active Directory environment and the Hosted Archive service” error message in Exchange Hosted Archive
    http://support.microsoft.com/kb/2635303
  2. “An unexpected error has occurred” error when you delete junk email messages from the spam quarantine mailbox in Forefront Online Protection for Exchange
    http://support.microsoft.com/kb/2635327
  3. The sign-in page is not displayed, or a “Page not found” error occurs, after a new version of the Forefront Online Protection for Exchange Administration Center is released
    http://support.microsoft.com/kb/2636060
  4. A blank webpage appears when you click the answer-back URL in a message that is encrypted by Exchange Hosted Encryption in Windows Live Hotmail
    http://support.microsoft.com/kb/2636095
  5. How to add a disclaimer or footer to outgoing mail messages through Forefront Online Protection for Exchange
    http://support.microsoft.com/kb/2639679
  6. The footer for outgoing email messages does not work in Forefront Online Protection for Exchange
    http://support.microsoft.com/kb/2642173
  7. How to create a policy for a group of users in a stand-alone Forefront Online Protection for Exchange environment
    http://support.microsoft.com/kb/2645012

Exchange

Microsoft Exchange Server 2003 Enterprise Edition

  1. You cannot connect to Outlook Mobile Access on a server that is running Exchange Server 2003
    http://support.microsoft.com/kb/2448283
  2. How to redirect an HTTP connection to HTTPS for Outlook Web Access clients and how to redirect the Default Web Site to point to the Exchange virtual directory
    http://support.microsoft.com/kb/839357
  3. Error message when you try to synchronize a Windows Mobile-based device by using Exchange ActiveSync for Exchange 2003 or for Exchange 2007 or for Exchange 2010: “Synchronization failed”
    http://support.microsoft.com/kb/927465
  4. Error message when you use ActiveSync to synchronize a Windows Mobile-based device to Exchange 2003: “0×85030027 — The Exchange Server requires certificates to log on”
    http://support.microsoft.com/kb/927467

Microsoft Exchange Server 2003 Service Pack 2

  1. Incremental changes of free/busy information may not be successful replicated from Exchange Server 2010 to Exchange Server 2003
    http://support.microsoft.com/kb/2601033

Microsoft Exchange Server 2003 Standard Edition

  1. The W3wp.exe process uses almost 100 percent of CPU resources when you synchronize large email messages in Exchange Server 2003 Service Pack 2
    http://support.microsoft.com/kb/941439

Microsoft Exchange Server 2007 Enterprise Edition

  1. The Fax feature stops working in Exchange Server 2007 SP3
    http://support.microsoft.com/kb/2526140
  2. Store.exe intermittently stops responding in an Exchange Server 2007 environment
    http://support.microsoft.com/kb/2638878

Microsoft Exchange Server 2007 Service Pack 1

  1. Email messages cannot be delivered to the Hub Transport server in an Exchange Server 2007 environment
    http://support.microsoft.com/kb/2638876

Microsoft Exchange Server 2007 Standard Edition

  1. “HTTP 400 Bad Request” error when you connect to an Exchange Server 2007 mailbox by using Outlook Web App
    http://support.microsoft.com/kb/2645573
  2. The synchronization session of the mobile device fails, and you receive error code “0X85010015″ when you try to synchronize a mobile device by using Exchange ActiveSync in Exchange Server 2007
    http://support.microsoft.com/kb/934402

Microsoft Exchange Server 2010 Enterprise

  1. Office Communications Server 2007 IM integration with Exchange 2010 OWA does not work for all users
    http://support.microsoft.com/kb/2279487
  2. “Cannot open your default e-mail folder” error when users try to open their mailboxes in Outlook after migration to Exchange 2010
    http://support.microsoft.com/kb/2521770
  3. An Exchange Server 2010 database store grows unexpectedly large
    http://support.microsoft.com/kb/2621266
  4. Email message content is missing in OWA
    http://support.microsoft.com/kb/2640306
  5. Error when you try to change the default global address list recipient filter in Exchange Server 2010
    http://support.microsoft.com/kb/2645013

Microsoft Exchange Server 2010 Standard

  1. Windows Network Load Balancing does not work in an Exchange Server cluster
    http://support.microsoft.com/kb/2644137
  2. You receive an error message when you try to create an Exchange Server 2010 DAG
    http://support.microsoft.com/kb/2644540

Lync, Office Communication Server & LiveMeeting

Microsoft Office Communicator 2007

  1. Additional authentication prompt is displayed when an external network user signs in to an Office Communicator 2007 client
    http://support.microsoft.com/kb/2633194

Microsoft Office Live Meeting 2007

  1. Live Meeting 2007 loads a blank white screen when joining a Live Meeting on Macintosh computer
    http://support.microsoft.com/kb/2628045
  2. How to use Microsoft Office Live Meeting 2007 on a Macintosh computer
    http://support.microsoft.com/kb/884961

Outlook

Microsoft Office Outlook 2003

  1. Description of the Outlook 2003 Junk Email Filter update: November 8, 2011
    http://support.microsoft.com/kb/2596972
  2. “80004005-501-4B9-560″ synchronization error logs in the Outlook Sync Issues folder
    http://support.microsoft.com/kb/2637470

Microsoft Office Outlook 2007

  1. Outlook receives a message that has an attachment that is named “not supported calendar message.ics”
    http://support.microsoft.com/kb/2643084

Microsoft Outlook 2000 Standard Edition

  1. Outlook Meeting Request to DL Shows Members As Optional
    http://support.microsoft.com/kb/214633 
  2. OL2000: (CW) Sending Pasted Bitmap from Word Behaves Differently
    http://support.microsoft.com/kb/218362

Microsoft Outlook 2010

  1. Description of the Outlook 2010 update: November 8, 2011
    http://support.microsoft.com/kb/2553323
  2. You receive an error message when you publish Internet free/busy information in Outlook 2010
    http://support.microsoft.com/kb/2589415
  3. The Mailbox Cleanup Wizard does not start in Outlook 2010 when the mailbox is full
    http://support.microsoft.com/kb/2632283
  4. Outlook 2010 does not display Journal entries for a contact
    http://support.microsoft.com/kb/2639664
  5. Outlook Issues that occur when you use the ExtractOrganizedMeetings registry value
    http://support.microsoft.com/kb/2646698

Exchange Server 2010 SP2 Is Now Available

December 5, 2011 1 comment

Microsoft has released Service Pack 2 (SP2) for Exchange Server 2010. Release Notes for Exchange 2010 SP2 includes a list of known issues.

The 535MB download is just like RTM – a full install package. Existing installations can be upgraded, as new installs can be completed with the Service Pack integrated.

 

What’s New in Exchange 2010 SP2

The What’s New in Exchange 2010 SP2 has comprehensive list of the changes and enhancements, including:

Address Book Policies

This is a long sought after feature which allows the segmentation of the Global Address List. This essentially allows an organization to have different address books visible to different users and/or groups. This is great, especially in large organization that may want users to just see users in their division, or if an org wants to do a multi-tenant scenario.

Outlook Mobile Access (OWA mini)

This is essentially the old Outlook Mobile Access brought back to life, which allows devices with small screens, such as mobile devices, to see a simple to use web page for accessing their mailbox. This is great for devices that don’t support Exchange ActiveSync.

Hybrid Configuration Wizard

This feature is based around on-premise and cloud based scenarios such as Office365.

OWA Cross-Site redirection

Redirection of client connections across AD sites is now possible.

 

Installation notes

Schema Updates

The service pack does do schema updates in order to support some of the new features.

Required Role Features

Also, on Client Access Servers (CAS), the IIS 6 WMI Compatibility feature is now required.

Installing from the command line

Upgrading is quite simple. Open a command prompt and navigate to the folder containing the extracted files and run:

Setup /m:upgrade /InstallWindowsComponents

The setup routine will automatically install the Web-WMI feature if needed, and upgrade the server.

Installation of SP2 via command prompt

Installation of SP2 via command prompt

Installation from the graphical user interface (GUI)

As mentioned above, the IIS 6 WMI Compatibility (Web-WMI) feature is required. If you plan to install the Service Pack using the GUI, you must manually add this feature. To install the feature, open PowerShell, and type:

Import-Module ServerManager Add-WindowsFeature web-wmi

As shown below.

Add-WindowsFeature Web-WMI
Add-WindowsFeature Web-WMI

If you don’t manually install this feature, the service pack installation will fail:

SP2 fails - IIS 6 WMI Compatibility required

SP2 fails - IIS 6 WMI Compatibility required

Once the SP2 file is downloaded, double click on it to extract the files to a folder.

Navigate to the folder containing the extracted files and double click on setup.exe and follow the prompts.

Installation on Database Availability Groups (DAG)

If you are going to apply SP2 to servers that are members of a DAG, run the StartDagServerMaintenance.ps1 script on the server first. This accomplishes several things, including suspending mailboxdatabase copying for each database; prevents the activation of databases on the server and moves active copies on the server to copies on other servers; prevents the server from taking on the PAM role. When finished, run the StopDagServerMaintenance.ps1 script, which allows databases to be activated, begins the copying, and allows the server to become the PAM. Mike Pfeiffer has a great blog post on this process.

Download

Download the Service Pack from the Microsoft Download Center here.

A stand-alone version of the SP2 Help file is available here.

Unified Messaging language packs for SP2 are available here.