The Lync 2013 client doesn't have as many in-band GPO options as previous versions of communicator did (hopefully MS will change that), but there are a few reg settings that you can throw into a GPO to control it.
Add these settings into your GPO as a User Setting.
Minimize to the notification area instead of the task bar:
Navigate to:
HKCU\Software\Microsoft\Communicator\MinimizeWindowToNotificationArea
Set the value to 1 - Lync is minimized to the notification area when the Contact List is closed
Automatically start Lync at logon:
Navigate to:
HKCU\Software\Microsoft\Communicator\AutoRunWhenLogonToWindows
Set the value to 1 - Lync starts when you log on to Windows
Auto Open Main Window When Startup:
Navigate to:
HKCU\Software\Microsoft\Communicator\AutoOpenMainWindowWhenStartup
Set the value to 1 - Show Lync in foreground
Thursday, October 24, 2013
Wednesday, October 23, 2013
Deploying the Lync 2013 Client On Mismatched Windows/Office Architecture
Just a quick note when dealing with deploying the Lync 2013 client when the Windows architecture doesn't match the currently installed flavor of Office.
Lync 2013 x64 can only be installed on 64-bit Windows, but what if 32-bit Office is installed on that 64-bit Windows machine? Since a lot of organizations upgrade Office in steps according to budgets, you'll see this quite often.
In order for Lync to install and not throw an error; you have to first uninstall Office, then install Lync, then re-install Office. It's a pain, but there's no way around it.
If you're running something like SCCM, you can create scripts that will roll off Office, install Lync and then re-install Office, silently.
Lync 2013 x64 can only be installed on 64-bit Windows, but what if 32-bit Office is installed on that 64-bit Windows machine? Since a lot of organizations upgrade Office in steps according to budgets, you'll see this quite often.
In order for Lync to install and not throw an error; you have to first uninstall Office, then install Lync, then re-install Office. It's a pain, but there's no way around it.
If you're running something like SCCM, you can create scripts that will roll off Office, install Lync and then re-install Office, silently.
How to install Exchange 2010 Management Tools on Windows 8
Installing Exchange Management Tools on your workstation saves a lot of time from having to RDP to an Exchange server. To install the tools on Windows 8, just follow along!
Requirements:
First, you’ll need Exchange Server 2010 Service Pack 3. After it downloads, extract it somewhere that’s easily accessible.
**Note** Windows 8 and Server 2012 require the SP3 setup files in order to install the Management tools.
You'll need a few prereqs: PowerShell 2.0, .NET Framework, IIS 6 Metabase Compatibility and IIS 6 Management Console features.
Setup:
Go to the location where you extracted the SP3 files
and run setup.exe.
Accept the license agreement. Click Next.
On this screen, select the Custom Exchange Server Installation option. Choose your install path or leave as default, and do not check the box for automatic installations. Click Next.
Setup will run through any other prerequisites during the Readiness Check.
If you’ve missed a requirement, it’ll throw the error you need to fix. Click Retry, or click Cancel, correct the problem areas, and rerun the setup. If you restart the setup, it will pick up where you left off. If you pass all the prereqs, click Install.
If you check “Finalize this installation using the Exchange Management Console,” the EMC will automatically open and connect to the nearest server in your Exchange organization. Click Finish.
The EMC
Requirements:
First, you’ll need Exchange Server 2010 Service Pack 3. After it downloads, extract it somewhere that’s easily accessible.
**Note** Windows 8 and Server 2012 require the SP3 setup files in order to install the Management tools.
You'll need a few prereqs: PowerShell 2.0, .NET Framework, IIS 6 Metabase Compatibility and IIS 6 Management Console features.
Go to Control Panel > Programs
> Turn Windows Features On or Off.
Expand Internet Information Services
and check the boxes for the IIS 6 Management Console and IIS Metabase Compatibility.
Click on Step 4 to Install.
Accept the license agreement. Click Next.
Choose if you want Error Reporting. Click Next.
On this screen, select the Custom Exchange Server Installation option. Choose your install path or leave as default, and do not check the box for automatic installations. Click Next.
Check the box for Management Tools and leave all others unchecked, or you’ll cause havoc in your Exchange organization J Click Next.
If you’ve missed a requirement, it’ll throw the error you need to fix. Click Retry, or click Cancel, correct the problem areas, and rerun the setup. If you restart the setup, it will pick up where you left off. If you pass all the prereqs, click Install.
Installation will take several minutes. Click Next after it completes.
The EMC
You’ll also notice shortcuts to the
Exchange Management Console (EMC), Exchange Management Shell (EMS) in your
Start Menu.
Happy Exchanging!
Friday, October 18, 2013
Useful Lync PowerShell Commands
Here are a few Lync PowerShell commands that I use daily. (Since there's not as many as the Exchange commands I previously posted, I've just listed them out here...but leave a comment if you want them zipped and shared out.)
Create Lync User Account
**Note**
You will need an existing AD account for the specified user account, and the SIP Address is usually the email address unless you're installation is configured differently; if so you'll need to specify that.
--To Create Lync User, run:
Enable-CsUser "User Name" -RegistrarPool "poolname.domain.com" -SipAddressType EmailAddress
Disable/Re-enable Lync User Account
You can disable a Lync user account without losing the Lync Server settings that you configured for the user account
--To Disable a Lync account, run:
Set-CsUser -Identity "User Name" -Enabled $False
--To Re-enable a Lync account, run:
Set-CsUser -Identity "User Name" -Enabled $True
Force Lync Replication and Check Replication Status
After any major changes such as routes or policy changes, its best to force a replication.
**Note**
Invoking replication does not return any values, so you'll need to check replication status like below.
--To Force CMS Replication, run:
Invoke-CsManagementStoreReplication
--To Check CMS replication health, run:
Get-CsManagementStoreReplicationStatus
If you have a large topology, run:
Get-CsManagementStoreReplicationStatus | Where {$_.UpToDate -ne $True}
Remove a Lync User Account
-- To remove a Lync account, run:
Disable-CsUser -Identity "User Name"
Revoke a Lync User Certificate
**Note**
If you allow users to save their username/password, they will still be able to use Lync even if you disable their AD account.
--To Revoke a User Certificate, run:
Revoke-CsClientCertificate "User Name"
Create Lync User Account
**Note**
You will need an existing AD account for the specified user account, and the SIP Address is usually the email address unless you're installation is configured differently; if so you'll need to specify that.
--To Create Lync User, run:
Enable-CsUser "User Name" -RegistrarPool "poolname.domain.com" -SipAddressType EmailAddress
Disable/Re-enable Lync User Account
You can disable a Lync user account without losing the Lync Server settings that you configured for the user account
--To Disable a Lync account, run:
Set-CsUser -Identity "User Name" -Enabled $False
--To Re-enable a Lync account, run:
Set-CsUser -Identity "User Name" -Enabled $True
Force Lync Replication and Check Replication Status
After any major changes such as routes or policy changes, its best to force a replication.
**Note**
Invoking replication does not return any values, so you'll need to check replication status like below.
--To Force CMS Replication, run:
Invoke-CsManagementStoreReplication
--To Check CMS replication health, run:
Get-CsManagementStoreReplicationStatus
If you have a large topology, run:
Get-CsManagementStoreReplicationStatus | Where {$_.UpToDate -ne $True}
Remove a Lync User Account
-- To remove a Lync account, run:
Disable-CsUser -Identity "User Name"
Revoke a Lync User Certificate
**Note**
If you allow users to save their username/password, they will still be able to use Lync even if you disable their AD account.
--To Revoke a User Certificate, run:
Revoke-CsClientCertificate "User Name"
Tuesday, October 15, 2013
Lync IM/OWA Integration with Wildcard Certs
A lot of organizations use wildcard certificates for Exchange and Lync, and although MS doesn't really like wildcards to be used, it's doable. When integrating Lync with OWA, you'll get a "Instant Messaging isn't available right now" message. The workaround is to install local certs for the IIS service on your CAS hubs.
1. Request new certificates using the Web Server Template on each of your CAS hubs from your local CA. Add the Trusted Application FQDN of the CAS hub you are working on, as the Subject Name. You can name them whatever you like. Make note of the thumbprint(s) of the new certs(s).
**Note** If the Web Server Template isn't available, you'll need to allow your Exchange Servers as "Allowed to Enroll" on the Template's Security Tab on your Root CA.
2. Assign the new certificates to IIS and OWA by running:
Get-OwaVirtualDirectory | Set-OwaVirtualDirectory -InstantMessagingCertificateThumbprint <New Certificate Thumbprint>
3. Restart IIS with a iisrest/noforce command
4. Add the CAS hubs to the Trusted Application Pool in Lync Topology Builder
5. Log on to OWA and check that it works
**Note** The new "local" certs you just created and assigned are only for the IM integration, they will have no effect on OWA functionality...OWA will still work as it has been.
1. Request new certificates using the Web Server Template on each of your CAS hubs from your local CA. Add the Trusted Application FQDN of the CAS hub you are working on, as the Subject Name. You can name them whatever you like. Make note of the thumbprint(s) of the new certs(s).
**Note** If the Web Server Template isn't available, you'll need to allow your Exchange Servers as "Allowed to Enroll" on the Template's Security Tab on your Root CA.
2. Assign the new certificates to IIS and OWA by running:
Get-OwaVirtualDirectory | Set-OwaVirtualDirectory -InstantMessagingCertificateThumbprint <New Certificate Thumbprint>
3. Restart IIS with a iisrest/noforce command
4. Add the CAS hubs to the Trusted Application Pool in Lync Topology Builder
5. Log on to OWA and check that it works
**Note** The new "local" certs you just created and assigned are only for the IM integration, they will have no effect on OWA functionality...OWA will still work as it has been.
Monday, October 14, 2013
Exchange Domain Prep Error: "Microsoft Exchange Server setup cannot continue because a restart from a previous installation or update is pending"
I've come across this error many times, especially when prepping a Child Domain.
The fix is easy:
1. Open Regedit on the machine you're running the prep against
2. Navigate to HKEY_LOCAL_MACHINE\CurrentControlSet\Control\SessionManager\
3. Delete the PendingFileRenameOperations String
4. Rerun your Domain Prep
The fix is easy:
1. Open Regedit on the machine you're running the prep against
2. Navigate to HKEY_LOCAL_MACHINE\CurrentControlSet\Control\SessionManager\
3. Delete the PendingFileRenameOperations String
4. Rerun your Domain Prep
Useful Exchange 2010 PowerShell Commands
This is a folder of Exchange Shell commands that I use regularly and I thought I'd share it with the masses. It contains a wide range of commands in .txt files.
Here's a listing of the commands:
**Note** Its on Google Drive and you can choose individual files to download, or hit CTRL+S to get the whole archive.
Here's a listing of the commands:
Exchange 2010 Add Besadmin Permissions to New MDB.txtLink: Exchange PowerShell Commands.zip
Exchange 2010 Add Full Access Without AutoMap.txt
Exchange 2010 ADRMS.txt
Exchange 2010 BES Commands.txt
Exchange 2010 Bulk Convert User Mailbox To Shared.txt
Exchange 2010 Bulk Remove User Mailboxes From CSV.txt
Exchange 2010 Check Build and Rollup Number.txt
Exchange 2010 Clear Disconnected Mailboxes.txt
Exchange 2010 Clear Export Import Move Requests.txt
Exchange 2010 Clear Move Request.txt
Exchange 2010 Convert User Mailbox To Other Type.txt
Exchange 2010 Create and Connect a Mailbox to User.txt
Exchange 2010 Create Shared Mailbox.txt
Exchange 2010 DagHealth.txt
Exchange 2010 Delete Messages from User Mailbox -Bulk-.txt
Exchange 2010 Disable User Mailbox.txt
Exchange 2010 Environment Report HTML.txt
Exchange 2010 Export All Email Addresses.txt
Exchange 2010 Fix CAS Cert Security Warning.txt
Exchange 2010 Force a GAL Update.txt
Exchange 2010 Get A List Of All Email Addresses.txt
Exchange 2010 Get All Databases Size With WhiteSpace.txt
Exchange 2010 Get All Databases Size.txt
Exchange 2010 Get Database Backup Status.txt
Exchange 2010 Get Folder Count In a Mailbox.txt
Exchange 2010 Get Full Access Permissions.txt
Exchange 2010 Get Largest Mailboxes.txt
Exchange 2010 Get List of Aliases from Display Names.txt
Exchange 2010 Get List of IP Relays.txt
Exchange 2010 Get List of Messages Sent From a Domain.txt
Exchange 2010 Get Mailbox Count On Each Database.txt
Exchange 2010 Get Mailbox Quotas.txt
Exchange 2010 Get Mailbox Size For an OU.txt
Exchange 2010 Get Mailbox Stastics On Each Server.txt
Exchange 2010 Get Mailboxes With Forwarding Set.txt
Exchange 2010 Get Public Folder Database Report.txt
Exchange 2010 Large Batch Mailbox Move.txt
Exchange 2010 Mailbox Export.txt
Exchange 2010 Mailbox Import.txt
Exchange 2010 Recall Emails.txt
Exchange 2010 Redistribute Databases Across DAG.txt
Exchange 2010 Remove Database and DB Copy.txt
Exchange 2010 Set Higher Corrupted Item Limit.txt
Exchange 2010 Test Health of Servers.txt
Exchange 2010 View Export Request Statistics.txt
Exchange 2010 View Mailbox Size List.txt
Exchange 2010 View Move Request Statistics.txt
**Note** Its on Google Drive and you can choose individual files to download, or hit CTRL+S to get the whole archive.