Check out this simple way of creating temporary passwords: -join...
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...
Better Prompting for Mandatory Parameters
When you do not submit an argument to a mandatory parameter, PowerShell prompts you for a value. You don't have much control over how this is done,...
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...
Checking Paths and Files for Illegal Characters
In the previous tip we illustrated how you can get a list of characters that are illegal in paths or file names. However, what would be the best and...
Finding Invalid File and Path Characters
When dealing with files and folders, some characters are considered illegal. Here is an easy way to get a list of the characters that Windows...