Here is a quick and easy way to find NTFS permissions that are potentially dangerous. The script tests all folders in $pathsToCheck and reports any...
Powershell
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
Get IP Address Geolocation
Would you like to know where a public IP address is located? Provided you have Internet access, you can query one of the public information...
Get Current IP Address
Here is a quick way to get all IP addresses assigned to your computer: #requires -Version 1 $ipaddress = [System.Net.DNS]::GetHostByName($null)...
Validating Domain Credentials
To check credentials (username plus password) against your current domain, you can use this approach: #requires -Version 1 $username =...
Safely Use UNC Paths
Whenever you use UNC paths in PowerShell, your script may break. Since a UNC path has no drive letter, PowerShell looks at the current directory...
Using Splatting
With splatting, you can call cmdlets and programmatically control the parameters you submit. To do this, add the parameters and values to a hash...
Reading RSS Feeds
RSS feeds can be read by using an XML object, however XML objects do not support proxies. Here is an example that uses Invoke-WebRequest to retrieve...
Getting Registry Values and Value Types
Get-ItemProperty can easily read registry values, but you do not get back any information about the registry value type. Get-ItemProperty -Path...
Finding Information about TV Series
PowerShell can query websites that deliver XML content, and here is an example on how to query a movie database. Simply adjust the name of the TV...
Comparing Folder Content
To quickly compare folder content and find out files that exist only in one of two folders, try this example: $list1 = Get-ChildItem...
Encoded Passwords
If you must put a credential object in your script, here is a way how you can convert a secure string into encrypted text: $password = Read-Host...
Find All Active Drive Letters
To quickly get a list of all drive letters in use, try this: #requires -Version 1 [Environment]::GetLogicalDrives() The result is a list of all...
Encrypting Text Information Using Passphrase
PowerShell 3.0 and later In a previous tip we explained how you can use the Windows product ID stored in the Windows Registry to encrypt some text...
Encrypting Information with Windows ProductID
PowerShell 3.0 and later To store secret information, you can use a SecureString object and save it to disk. PowerShell automatically takes the user...
Finding Exchange Mailboxes
Microsoft Exchange 2013 To find the number of mailboxes, simply use the Exchange cmdlets and have Measure-Object count the results: Get-Mailbox...
Clever Parameter Validation
PowerShell 2.0 and later When you create PowerShell functions with parameters, make sure you tell PowerShell what kind of values the parameter...
Discovering High Impact Cmdlets
All Versions Cmdlets can declare how severe their impact is. Typically, cmdlets that make changes to the system that cannot be undone will have an...
ISE Auto-Completion Trick
PowerShell 3.0 ISE and later When you want to select the information returned by a cmdlet, you typically use Select-Object: Get-Process |...
Accessing Non-Microsoft LDAP Servers
All Versions There are free Active Directory cmdlets from Microsoft (part of the RSAT tools) and Dell (Quest). They take the complexity out of...
Finding Read-Only and Constant Variables
All PowerShell versions Some variables are protected and cannot be changed. To identify these, take a look at this line: Get-Variable | Where-Object...
Read-Only and Strongly Typed Variables
All PowerShell versions To make PowerShell scripts more robust, you can code a lot of requirements right into your script variables. When you do...
Using Constants
All PowerShell versions Variables in PowerShell are volatile. You can overwrite and delete them – unless you create constants. Constants can...
Including Resources with Your Scripts
PowerShell 3.0 and later If your script needs additional resources, like text lists of server names, or picture files, or anything else, then make...
Using “more” in the PowerShell ISE
PowerShell ISE In the PowerShell console, you can pipe commands to the old-fashioned “more.com”, or better yet, to Out-Host...
Read User Profiles from Registry
All versions To find out which users have a (local) user profile on your machine, and where this profile is located, try this snippet: $path =...
Reading Associated File Extensions from Registry (Part 2)
All versions In a previous tip you learned how a one-liner can read multiple registry keys. In part 2, check out this one-liner: $lookup =...
Reading Associated File Extensions from Registry
All versions PowerShell code can be extremely dense. Here is a one-liner that reads all associated file extensions from the Windows Registry:...
Sort Things with Type
All Versions Sort-Object is your one-stop solution for sorting. If it’s primitive data, simply pipe it to Sort-Object. If it is object data,...
Opening Webpages from PowerShell
All versions Let’s assume you would like to open your favorite websites in a browser when you start your day. PowerShell can do this for you...
Measuring Website Response (and Execution Times)
PowerShell 3.0 and later Sometimes it is important to know just how long a command takes. For example, to monitor web site response times, you could...