database-tools

Copy Over PowerShell Remoting Sessions

You can use PowerShell remoting to transfer files across a network – this is new in PowerShell 5.0. This can be useful in closed environments...

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...

1 82 83 84 85 86 159