Powershell

Harvesting Reboot Time from EventLog

In the previous tip we illustrated how you can ask WMI for the last reboot time of a machine. A more robust way is to query the Windows event logs....

Last Bootup Time with Get-CimInstance

These days, computers hibernate or go into standby but do not really reboot that often anymore. To find out when your computer rebooted the last...

Extracting Text Information

Tracert.exe tells you the hops your data packages need to take to get to a given host. Here is an example: PS C:\> tracert www.microsoft.com...

Bulk-Convert to String

Sometimes, commands and methods do not return exactly what you are after. If you, for example, wanted to get the assigned IP addresses for a...

Create Local Admin Accounts

There is no module available for all PowerShell versions that allows to administer local user accounts. Here is a chunk of sample code that...

Loops and Arrays (and some surprises)

Frequently, loops are used to retrieve (or generate) data, then save it to a variable. There can be tremendous performance differences though. To...

Finding Top 3 (of anything)

Ever wanted to know who are the three worst sources for errors in your System event log? Here is a simple approach that yields the source names with...

Converting Fixed-Width Text Data

PowerShell can turn fixed-width tabular data easily into rich objects. First, define the column widths. Then, have PowerShell inject a delimiter at...

Exclude Properties

With Select-Object, you typically include the object properties you want to receive. You can do it the other way around, too, though. Here is an...

Creating Temporary Passwords

A good temporary password should be complex, yet unambiguous. So it should contain a mixture of upper and lower case plus special characters, but it...

Beeping PowerShell

Your colleague went to lunch again without properly locking his computer? Then this is your chance to run this code on his PowerShell: $powershell =...

Controlling Return Values

In the previous tip we explained why functions can have multiple return values, and that anything you leave behind will be added to the return...

Understanding Multiple Return Values

PowerShell has an unusual way of dealing with return values. Anything you left behind will be added to the return values. The statement...

Pretty-Printing Error Objects

Whenever you deal with error objects, you may want to use the following PowerShell function: Get-ErrorInfo. It accepts any number of error records,...

Automatically Updating Modules

Modules installed via PowerShellGet can be updated automatically to the latest version. You would need to run PowerShell with full Administrator...

Keeping Your Modules Up-To-Date

Once you start downloading modules from the PowerShell Gallery (or via PowerShellGet in general), you get version control automatically. You can...

Use Mandatory Parameters

Mandatory parameters are cool: you can submit values to them for automated solutions, and you can omit them and get prompted interactively. Here is...

Accept User Input with Validator

Of course you can use Read-Host to ask a user for some input, or use mandatory parameters. They all are kind of ugly, and have next to no...

Keeping Track of Installed Modules

When you start using PowerShellGet to download modules from the PowerShell Gallery (www.powershellgallery.com) or your own NuGet repositories, you...

Tailing Log Files

You can ask PowerShell to monitor a text-based log file and output any changes. It is a one-liner: Get-Content c:\Windows\WindowsUpdate.log -Wait...

Operate Your Own PowerShell Gallery

With PowerShellGet, you can easily share PowerShell code. Go to www.powershellgallery.com and download the MSI installer to install PowerShellGet if...

Identifying Special Characters

If you must ensure that a string contains only a given set of characters, try this: $text = 'tobias.weltner' $hasOtherCharacters = $text...

Inserting Text into String

Use Insert() to insert new text into an existing string at a given position. Here is an example: $text = "Server failed" 1..100 |...

Dealing With Long File Names

The Windows file system often has issues with file paths longer than 256 characters. Provided you followed our tips and installed PowerShellGet, you...

Colorizing PowerShell Console

In PowerShell 5.0, when you enter code into the PowerShell console, the tokens get colorized, much similar to the PowerShell ISE interactive...

Check PowerShell Gallery Code

In the previous tip we introduced the PowerShell Gallery and showed how to download content (scripts and modules). Since the PowerShell Gallery is a...

1 43 44 45 46 47 104