Chapter 8. Utility Tasks

8.0 Introduction

When you’re scripting or just using the interactive shell, a handful of needs arise that are simple but useful: measuring commands, getting random numbers, and more.

8.1 Get the System Date and Time


You want to get the system date.


To get the system date, run the command Get-Date.


The Get-Date command generates rich object-based output, so you can use its result for many date-related tasks. For example, to determine the current day of the week:

PS > $date = Get-Date
PS > $date.DayOfWeek

If you want to format the date for output (for example, as a logfile stamp), see Recipe 5.13.

For more information about the Get-Date cmdlet, type Get-Help Get-Date.

For more information about working with classes from the .NET Framework, see Recipe 3.8.

8.2 Measure the Duration of a Command


You want to know how long a command takes to execute.


To measure the duration of a command, use the Measure-Command cmdlet:

PS > Measure-Command { Start-Sleep -Milliseconds 337 }

Days              : 0
Hours             : 0
Minutes           : 0
Seconds           : 0
Milliseconds      : 339
Ticks             : 3392297
TotalDays         : 3.92626967592593E-06
TotalHours        : 9.42304722222222E-05
TotalMinutes      : 0.00565382833333333
TotalSeconds      : 0.3392297
TotalMilliseconds : 339.2297


In interactive use, it’s common to want to measure the duration of a command. An example of this ...

Get PowerShell Cookbook, 4th Edition now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.