Type conversion can help you count special characters in a text. For example, if you'd like to find out the number of tab characters in a text,...
Powershell
Chaining Type Conversions
In PowerShell, you can do multiple sequential type conversions. For example, you should first convert the string into a character array and then...
Accessing Event Logs via Conversion
You will find that type conversion can do amazing things. For example, the next line accesses a system log by converting the log name to an EventLog...
Finding WMI Instance Path Names
In a previous tip, you learned about how to access WMI instances directly using their individual instance path. Here is how you can find that path...
Accessing WMI Instances Directly
If you know the path to a WMI instance, you can access it directly by converting the WMI path to a WMI object:...
Type Accelerators
PowerShell has a few shortcuts for popular .NET types like [WMI], [ADSI] or [Int]. You should read the FullName property if you'd like to know...
Comparing Versions
When you compare version strings, PowerShell will use alphanumeric algorithms, which may lead to confusing results: '3.4.22.12' -gt...
View Object Inheritance
A hidden object property called "PSTypeNames" will tell you the object type as well as the inherited chain: (Get-WMIObject...
Using Scripts to Validate Input
For tricky validation checks, you should use arbitrary PowerShell code to validate. The function Copy-OldFiles will only accept files (no folders)...
Restrict Input to Numeric Ranges
Let's say you'd like to set the PowerShell console cursor size. This size must be a number between 0 and 100. The following template will...
Converting Object Types
Once you know the name of an object type, you can use that type for conversion. The next line converts a string into a date-time type: [DateTime]...
Finding Object Types with Powershell
Anything in PowerShell is an object. You can use GetType() to get the object type:...
Validate Input Using Regular Expressions
Function parameters can be validated using standard regular expressions. For example, the next template function accepts only valid Knowledge Base...
Limiting String Input Length
If a function parameter should receive a string of a given length only, you should use the following validation attribute. In the example, it limits...
Limiting Number of Arguments
Function parameters can receive multiple values when they accept arrays. You should use this template to limit the number of values acceptable:...
Defining Alias Properties
Your functions can have properties with built-in alias names. The user can then either use the descriptive "long" name or its short and...
Validate Set of Inputs
If you need to limit a function parameter to only a set of allowed choices, you should use the next example: function Get-24hEventLogEntries...
Finding Cmdlets With a Given Parameter
Finding cmdlets by name is easy: Get-Command *service* -commandType Cmdlet But how can you list all cmdlets that support a given parameter? If...
Removing All Internet Explorer Cookies
You'd probably like to regularly clean your machine and remove all cookies set by Web sites you may have visited? Here is how: Dir...
Listing Internet Explorer Cookies
Have you ever wanted to find out who stored your information while you were surfing the Web? Check out your cookies folder: Dir...
Remove Recents Folder
Windows uses the special recents folder to remember which files you have opened. You can have a look to check what Windows has stored: Dir...
Bulk-Changing File Extensions
Changing file extensions can be a quick one-line operation. The next line renames all ps1 PowerShell script files found in your user profile and...
Displaying Hex Dumps
PowerShell can read plain text, but it can also read binary content. Here is a little function that creates a "hex dump" of any binary...
Reading File "Magic Number"
File types are not entirely dependent on file extension. Rather, binary files have internal ID numbers called "magic numbers" that tell...