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,...
powertips
Categories
- Free tools
- SQL Admin Toolset
- SQL Compliance Manager
- SQL Defrag Manager
- SQL Diagnostic Manager for MySQL
- SQL Diagnostic Manager for SQL Server
- SQL Diagnostic Manager Pro
- SQL Doctor
- SQL Enterprise Job Manager
- SQL Inventory Manager
- SQL Query Tuner for SQL Server
- SQL Safe Backup
- SQL Secure
- SQL Workload Analysis for SQL Server
- Uptime Infrastructure Monitor Formerly Uptime
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...
PowerShell does not support JSON Data Types
By default, any object created from JSON uses String as a data type: $json = @" { "Name": "Weltner", "ID" :...
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...
Automation via Keystroke and Mouse Click
Occasionally, the only way of automating processes is to send keystrokes or mouse clicks to UI elements. A good and free PowerShell extension is...
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...
Automatically Downloading Pictures via Google Picture Search
In a previous tip you learned how you can use Invoke-WebRequest to get image links from Google Image Search. Invoke-WebRequest can do better,...
Getting Picture URLs from Google Picture Search
Invoke-WebRequest is your friend whenever you want to download information from the Internet. You could, for example, send a search request to...
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...