250 Hello

Random Musings on Exchange and Virtualization

Browse by Tags

Related Posts
  • Blog Post: Azure Active Directory Module–Newer Version Available Notifications

    When connecting to Azure Active directory with the MSOnline PowerShell module, it will check the currently installed version. This allows the service to let you know that a newer version may be available. If the locally installed module is out-dated, you will get a message like the below: WARNING...
  • Blog Post: Using PowerShell To Filter Multiple Different Values

    This post is to answer one of the many interesting questions that seem to pop up doing Exchange work! This is for one of my favourite customers in Winnipeg. Next time, let’s arrange the work for summertime so we can go golfing Tyler, eh? For some added nostalgia, let’s use Exchange 2007 as...
  • Blog Post: Exchange 2013 Performance Health Check Script

    One of the recent additions to the TechNet script gallery was this nifty little contribution from Marc Nivens. This script reports on OS, system, and hardware information in addition to the Exchange 2013 sizing recommendations on TechNet . It can be ran remotely, against a single server or a group...
  • Blog Post: Unable To Run Downloaded PowerShell Script

    After finding a killer PowerShell script on the interwebs, you download it and then the excitement dies when you get a lovely PSSecurityException error like the example below: File C:\Scripts\Script.ps1 cannot be loaded. The file C:\Scripts\Script.ps1 is not digitally signed. You cannot run...
  • Blog Post: How To Get Azure VM IP Addresses Using PowerShell

    Curious as to what IPs are used by your Azure VMs? This may seem a simple question, but it was not until last year that Azure allowed you to set static IPs on VMs. Prior to this it was a first come first served basis. The net result was that you powered VMs on in a set order to preserve the IP assignment...
  • Blog Post: Retrieving Packets Received Discarded Perfmon Counter From Multiple Servers–Updated February 2015

    On the Retrieving Packets Received Discarded Perfmon Counter From Multiple Servers post, Tim commented that he had found the script very useful when troubleshooting discarded packets on Exchange 2013 DAG servers.  Using PowerShell  it is very easy to extend the search to discover which other...
  • Blog Post: PowerShell – CannotConvertArgumentNoMessage Where Object Error

    This is an interesting tale from a customer who was trying to get a list of Outlook clients that were connecting to their Exchange 2010 servers. They wanted to validate the Outlook versions that were connecting, due to Exchange 2013 requirements and also that Outlook 2010 must have SP2 installed at this...
  • Blog Post: Remove Multiple Management Role Entries In Office 365

    Exchange Online in Office 365 has a very similar RBAC implementation to the on-premises installations of Exchange. After previously bumping to an issue with Exchange Online (EXO), and then twice again in the last fortnight this bubbled to the top of the publishing pile. In this environment, a custom...
  • Blog Post: Using Exchange PowerShell Remoting With Integrated Scripting Environment–ISE

    One item that is very prevalent is people directly loading the Exchange PowerShell snapin into the Integrated Scripting Environment (ISE). This is not supported from the Exchange point of view, as Exchange requires that Remote PowerShell be used with Exchange 2010 and 2013. Let’s look at how...
  • Blog Post: Creating PowerShell Profile For Integrated Scripting Environment – ISE

    In this post we will look at some of the mechanics behind creating a profile file which will customise the start-up behaviour of the Integrated Scripting Environment (ISE). This will also serve as a precursor to additional posts on tweaking ISE for Exchange purposes. The catalyst for writing this was...
  • Blog Post: PowerShell Script To Get Exchange 2010 Active CAS Connections

    Purpose of this script is to report on particular performance monitor counters for Outlook RPC Client Access, OWA and Exchange ActiveSync on multiple servers. This was required as during the course of the year there have been a few issues where the third party load balancer device was not really doing...
  • Blog Post: PowerShell Quotes – To Expand Or Not Expand, That Is The Question

    Abraham Lincoln made the famous quote that it is impossible to verify the accuracy of information on the Internet . Well, OK he didn't but it was a semi-funny intro on the subject of quotes….. There are two different types quotes that we can use in PowerShell.: Single quotes -...
  • Blog Post: Set AdminSessionADSettings ViewEntireForest To True By Default

    In Exchange 2010 the Set-AdServerSettings cmdlet is used to manage the AD environment in the current Exchange Management Shell (EMS) session. In Exchange 2007 there was a variable called AdminSessionADSettings for the same purpose. Exchange admins normally use the Set-AdServerSettings cmdlet to change...
  • Blog Post: How To Rename DAG Network Using PowerShell

    Quick post for a Friday! A customer had an “interesting” issue where the DAG networks were not being displayed inside the Exchange Management Console. The underlying reason is because the implemented firewalls between Exchange servers, and then restricted network traffic between Exchange...
  • Blog Post: Retrieving Packets Received Discarded Perfmon Counter From Multiple Servers

    Whilst working on a customer’s Exchange 2010 DAG issue, I wrote a quick script to quickly grab some performance monitor counters from all of their Exchange servers. The issue that we were investigating was related to discarded packets when the VM was running on a certain hypervisor host. The customer...
  • Blog Post: PowerShell Pipeline Perversion

    Every so often I see folks run into issues with scripts/one-liners that they obtained from a blog or crafted themselves. One common issue is when they think the command is perfect and then when they go to dump the output to a file, the content is mince . ** Imagine your surprise when you open up the...
  • Blog Post: PowerShell Input Output Escapades

    After using various types, architectures and generations of computers over the years there is always the habit of “you go to what you know!” In other words once you figure out a solution to an issue, you then use that repeatedly in the future as you know the process/steps involved. This adroitly describes...
  • Blog Post: Exchange Scripting Agent - The Power Of Script

    Exchange 2010 introduced a very interesting feature – the Scripting Agent. The intent for this component is to provide extensibility to the base management tools and ensure consistency for the execution of cmdlets in the environment. The feature is not enabled by default and you must manually enable...
  • Blog Post: Exchange 2013 Tip Of The Day – 76 To 93

    The other Exchange 2013 tips of the day posts can be found here: Exchange 2013 Tip Of The Day – 1 To 25 Exchange 2013 Tip Of The Day – 26 To 50 Exchange 2013 Tip Of The Day – 51 To 75 To obtain the listing below, the following command was used: $Int = 76;While ($Int...
  • Blog Post: Exchange 2013 Tip Of The Day – 51 To 75

    The other Exchange 2013 tips of the day posts can be found here: Exchange 2013 Tip Of The Day – 1 To 25 Exchange 2013 Tip Of The Day – 26 To 50 Exchange 2013 Tip of The Day – 76 To 93 To obtain the listing below, the following command was used: $Int = 51;While ($Int -le 75){Get-Tip $Int; Write-Host;...
  • Blog Post: Exchange 2013 Tip Of The Day – 26 To 50

    The other Exchange 2013 tips of the day posts can be found here: Exchange 2013 Tip Of The Day – 1 To 25 Exchange 2013 Tip Of The Day – 51 To 75 Exchange 2013 Tip of The Day – 76 To 93 To obtain the listing below, the following command was used: $Int = 26;While ($Int -le 50){Get-Tip $Int; Write-Host;...
  • Blog Post: Exchange 2013 Tip Of The Day – 1 To 25

    The Exchange Management Shell helps us discover the amazing capabilities of PowerShell. One way it does this is by displaying a tip of the day so that we are introduced to concepts and topics that inevitably will come in handy one day! The other Exchange 2013 tips of the day posts can be found here:...
  • Blog Post: Exchange PowerShell Filtering Examples

    When writing Exchange PowerShell scripts it is very useful to target specific machines to either query or set their properties. Thus the ability to generate a query that effectively targets the correct machines is a very good thing to have! The reason I'm posting this is that I see a lot of people...
  • Blog Post: Exchange 2010 Tip Of The Day – 76 To 101

    For the final gripping chapter, here are tips #76 to 101 for your PowerShell pleasure! For the related articles in this series please see: Tips 1 – 25 Tips 26 - 50 Tips 51 – 75 Tip of the day #76: Exchange 2010 uses management role groups and management role assignment policies...
  • Blog Post: Exchange 2010 Tip Of The Day – 51 To 75

    Here are the Exchange 2010 tips of the day from number 51 to 75. For the related articles in this series please see: Tips 1 - 25 Tips 26 – 50 Tips 76 - 101 Tip of the day #51: Want to determine whether a server is running Exchange Server 2010 Standard Edition or Exchange Server 2010 Enterprise Edition...