Book Image

Microsoft Exchange Server 2013 PowerShell Cookbook: Second Edition - Second Edition

Book Image

Microsoft Exchange Server 2013 PowerShell Cookbook: Second Edition - Second Edition

Overview of this book

Microsoft Exchange Server 2013 is a complex messaging system. Windows PowerShell 3 can be used in conjunction with Exchange Server 2013 to automate and manage routine and complex tasks to save time, money, and eliminate errors.Microsoft Exchange Server 2013 PowerShell Cookbook: Second Edition offers more than 120 recipes and solutions to everyday problems and tasks encountered in the management and administration of Exchange Server. If you want to write scripts that help you create mailboxes, monitor server resources, and generate detailed reports, then this Cookbook is for you. This practical guide to Powershell and Exchange Server 2013 will help you automate and manage time-consuming and reoccurring tasks quickly and efficiently. Starting by going through key PowerShell concepts and the Exchange Management Shell, this book will get you automating tasks that used to take hours in no time.With practical recipes on the management of recipients and mailboxes as well as distribution groups and address lists, this book will save you countless hours on repetitive tasks. Diving deeper, you will then manage your mailbox database, client access, and your transport servers with simple but effective scripts.This book finishes with advanced recipes on Exchange Server problems such as server monitoring as well as maintaining high availability and security. If you want to control every aspect of Exchange Server 2013 and learn how to save time with PowerShell, then this cookbook is for you.
Table of Contents (23 chapters)
Microsoft Exchange Server 2013 PowerShell Cookbook
Credits
About the Authors
Acknowledgement
About the Reviewers
www.PacktPub.com
Preface
Index

Reporting on Exchange Server uptime


Using WMI and PowerShell, we can quickly determine how long a server has been online based on the last boot time of the operating system. This information can be useful for monitoring scripts that report on availability, or even when you just want to do a quick check on how long each server has been online. In this recipe, we'll take a look at how to use PowerShell to extract this information.

How to do it...

  1. To determine the total uptime for a server, we can query the Win32_OperatingSystem class by first running this command:

    $OS = Get-WmiObject Win32_OperatingSystem
    
  2. Next, we can access the LastBootUpTime property of this object to determine how long the system has been online:

  3. The problem with this, as you can see from the output shown previously, is that the value is stored in UTC (Universal Time Coordinate) format, so let's convert the value to a readable date-time format:

    $OS.ConvertToDateTime($OS.LastBootUpTime)
    
  4. To get the total uptime, we can subtract...