Matt Ellis

Lync Management Shell shows blank hanging window…

Posted by in Lync, PowerShell, Skype for Business

I’ve had this quite a bit recently. Especially with new servers after installing the latest CU from RTM. Essentially, when you load the Lync Management Shell (elevated or not, it doesn’t matter) it just hangs. You can leave it as long as you want – it never opens. You don’t even get a command prompt. It’s annoying. I’ve worked out that you can fix this by first closing all PowerShell windows. This includes the hanging Lync Management Shell and any other PowerShell windows you might have open. Then, you need…read more

0

“You do not appear to be authorized to move this user” when moving a user to Skype for Business Online…

Posted by in Lync, PowerShell, Skype for Business

We recently setup the hybrid connection to Skype for Business from our on prem environment. When trying to move a user I got the following error: Move-CsUser : HostedMigration fault: Error=(0), Description=(You do not appear to be authorized to move this user. Please verify the credentials you are running this command under and then try again.) Within Office 365 I had been assigned limited admin access to both Exchange and Skype for Business: After changing my permissions to “Global admin” I was able to move the user. So, it would appear…read more

2

Which Lync FE server creates the Address Book in an Enterprise Pool?

Posted by in Lync, PowerShell

I had to troubleshoot some Lync address book issues recently and had to work out which FE server was creating the address book during the night. Originally, I was searching through the event logs to find the server doing it at 0130. Then I found Debug-csAddressBookReplication (http://technet.microsoft.com/en-us/library/jj205232.aspx). Run it and take a look at the Task Owner FQDN…

Lync 2013 Best Practice Analyzer: Processor speed is less than maximum possible…

Posted by in PowerShell

I have recently been running the Lync 2013 Best Practice Analyzer on my environment to make sure everything is tickety-boo. On the whole, everything seems to be in a good state but I did receive the following warning for a number of front end servers: I managed to track this down to a power plan in the Power Options in Control Panel. By changing the server power plan from Balanced (default) to High performance this warning went away the next time a ran the BPA:

0

Exchange 2003 Mailbox Powershell Report

Posted by in Exchange, PowerShell

Right, this will probably be so horrifically out-of-date for some people, but recently I’ve been doing a few Exchange 2003 migrations and have realised the importance of getting all the data you need before performing these migrations is quite high. Sure, you can export the data you find in Exchange System Manager but what if you want other details like PrimarySMTPAddress or whether Email Address Policy is enabled for the user, or what their quotas are? This is where this script comes in. This script will give you a CSV…read more

6

Enable or Disable Outlook Anywhere based on Group Membership

Posted by in Exchange, PowerShell

Lets face it – security guys HATE Outlook Anywhere. So, it is highly likely you’ve stumbled onto this page because you’ve been asked to disable it outright or only enable it for the trusted few. In that case, this will hopefully help. The script below will enable or disable Outlook Anywhere based on the membership of a distribution group. It will then give you a CSV output of everything it’s done. Note: The script doesn’t currently recurse groups, so nested groups will not work. Also Note: The script runs a…read more

2

Exchange CCR Health Script

Posted by in Exchange, PowerShell

Download the script here: Get-CCRHealth Script If you administer a multi CCR cluster environment then it’s useful to know the specific state of your server without having to go and look for it. I find monitoring screens that offer a quick glance on health really useful, so for the purpose of this blog I have cleaned my script up a bit and have adapted it to offer 3 output types. First of all, I need to stress that you need to run this script from a server with Windows Failover Clustering…read more

8

Exchange SCR Health Script

Posted by in Exchange, PowerShell

Download the script here: Get-SCRHealth.ps1 In the same way that Standby Continuous Replication (SCR) has to be configured using the Exchange Management Shell, it can also only be managed and monitored through the Shell too. I’m not sure how many people this will help as Exchange 2007 isn’t the latest and greatest but I’ve created a script to keep me updated with the state of my storage groups configured with Standby Continuous Replication (SCR). The script should work out of the box in any 2007 environment as it finds the SCR replicas…read more

8

Exchange RPC Client Access service won’t start…

Posted by in Exchange, PowerShell

I was asked to go and look at a new Exchange 2010 implementation today as they couldn’t get Outlook to connect. It was a single server implementation with all roles on one box but the first thing I noticed was that the Exchange RPC Client Access service was not started. Starting it just resulted in it stopping immediately. After looking in the Application log I found an error with Event ID 1002 MSExchangeRPC: Failed to register service principal name ExchangeMDB. Failed with error code Access is denied (5). After a…read more

5

Export FullAccess & SendAs permissions for Shared Mailboxes…

Posted by in Exchange, PowerShell

Ever been asked to get an export of all the assigned permissions to a group of mailboxes? With this script you’ll be able to export the Full Access and & Send As permissions for whatever group of mailboxes you wish. This script works on Exchange 2007 but there’s no reason why it won’t work for Exchange 2010 either. You can customise the $Mailboxes query to gather whatever mailboxes you wish to export the details for. This is just a Get-Mailbox query. The export will be in the form of a…read more

24

How to set your default domain in Office 365…

Posted by in Office 365, PowerShell

There are two ways in which to do this; one is the administration portal for your Office 365 deployment and one is using the Microsoft Online Services Module for PowerShell. The first is a bit boring and straight forward. The second at least gets you inside the management shell so helps you to start learning how to harness the power of PowerShell with Office 365. Office 365 Administration Portal Login to your Administration portal at https://portal.microsoftonline.com/ Click on your company name in the top left right above where it says ‘Admin…read more

1

Import-CSV Error…

Posted by in PowerShell

I had to create a crap load of contacts earlier for a migration using an import from an Excel file. I saved the Excel spreadsheet as a CSV file and went to run my script against it. I got this error: Import-Csv : Cannot process argument because the value of argument “name” is invalid. Change the value of the “name” argument and run the operation again. Confused me for a bit until I realised that I had an empty column in the CSV file. It was trying to read in…read more

0

Setting Distribution Group Delivery Restrictions via PowerShell…

Posted by in Exchange, PowerShell

Adjusting the delivery restrictions on distribution groups is quite a common task. The more members a group has the more of a problem this ends up being in big organisations. Setting the permissions in the Exchange Management Console (EMC) is simple enough when you have one or two people/groups to add to the allowed list. When you have many user/groups needing to be added across a massive range of groups then this is something your going to need to script. Now this is where it doesn’t quite work as expected….read more

20

Missing LastFullBackup Attribute on Mailbox Database..?

Posted by in Exchange, PowerShell

This is more of an annoyance if anything but I noticed today that while I could look on the Properties page of each mailbox database and see the LastFullBackup date and time this wasn’t reflected in the Get-MailboxDatabase -Server “SERVERNAME” | fl command. It was simply empty. It seems that if you’d like to get details such as LastFullBackup, Mounted, BackupInProgress or OnlineMaintenanceInProgress you need to use the -Status parameter. So, my command should have been: Get-MailboxDatabase -Server "SERVERNAME" -Status | fl I don’t know why, but that’s the way…read more

0