powertips

Checking Windows Updates

To check all installed updates on a Windows box, there is a COM library you can use. Unfortunately, this library isn't very intuitive to use,...

Getting Free Cheat Sheets

There are two great sources for PowerShell cheat sheets. One is the set of cheat sheets created by powershellmagazine.com which was just updated to...

Start to Look at DSC

Desired State Configuration (DSC) is a new feature in PowerShell 4.0. With DSC, you can write simple configuration scripts and apply them to the...

Compiling Binary Cmdlets

PowerShell functions can mimick all the features found in a true binary cmdlet--but PowerShell functions are plain PowerShell code, so anyone can...

Adding and Resetting NTFS Permissions

Whether you want to add a new NTFS access rule to a file or turn off inheritance and add new rules, here is a sample script that illustrates the...

Converting Text Arrays to String

Occasionally, text from a text file needs to be read and processed by other commands. Typically, you would use Get-Content to read the text file...

ISE Bug Locks Debugger

There is an obscure bug in the PowerShell ISE that may dead-lock the debugger. It affects PowerShell version 3.0 and 4.0. Here is a test script:...

Bulk Renaming Object Properties

Occasionally, it may become necessary to bulk rename object properties to create better reports. For example, if you retrieve process objects, you...

Fixing Display in Excel Reports

When you send information to Microsoft Excel, it is converted to text using the built-in .NET ToString() method. This method typically does not...

Creating Excel Reports

PowerShell objects can easily be opened in Microsoft Excel. Simply export the objects to CSV, then open the CSV file with the associated program...

Use JSON to Create Objects

JSON is describing objects, similar to XML--but a lot easier. JSON allows for nested object properties, so you can retrieve information from various...

Getting Variable Value in Parent Scope

If you define variables in a function, then these variables live in function scope. To find out what the value of the variable is in the parent...

Updating Windows Defender Signatures

Windows 8.1 comes with a ton of new cmdlets. One of them can automatically download and install the latest antivirus signatures for Windows...

Showing WPF Info Message

WPF (Windows Presentation Foundation) is a technology that enables you to create windows and dialogs. The advantage of WPF is that the window design...

Sending Email via Outlook

Of course you can send emails directly via SMTP server using Send-MailMessage. But if you want to prefill an email form in your default MAPI client,...

Finding Default MAPI Client

Your MAPI client is the email client that by default is used with URLs like "mailto:". To find out if there is a MAPI client, and if so,...

Getting Arguments from Command Line

In a previous tip we illustrated how you can extract the command from a command line and strip all arguments. Today, you get a function that does...

Getting Executable from Command Line

Sometimes it becomes necessary to extract the command name from a command line. Here is a function that can do this: And this is the code: function...

Open MsgBox with Random Sound

You may have seen script code that opens a MsgBox dialog box. Today, you get a piece of code that opens a MsgBox and plays a random sound, adding...

Finding Registered Event Sources

Each Windows log file has a list of registered event sources. To find out which event sources are registered to which event log, you can directly...

IntelliSense Trick to Show Variables

In the PowerShell ISE editor, when you enter a dollar sign, an IntelliSense menu opens and displays all variables that are currently defined. When...

Writing Events to Own Event Logs

Often, there is a need to log information when a script runs. Instead of writing log information to a text file that you would have to maintain and...

Logging All Errors

In a previous tip you have seen that cmdlet errors can only be caught by an error handler if the -ErrorAction is set to "Stop". Doing this...

Catching Non-Terminating Errors

Non-terminating errors are errors that are handled by a cmdlet internally. Most errors that can occur in cmdlets are non-terminating. You cannot...

Hiding Terminating Errors

Occasionally, you may have noticed that cmdlets throw errors although you specified "SilentlyContinue" as -ErrorAction. The -ErrorAction...

Getting Events From All Event Logs

Recently, a reader asked how to retrieve all events from all event logs from a local or remote system, and optionally save them to file. Here is a...

1 53 54 55 56 57 98