All PowerShell versions Here is the simplest way to read Registry values: $Key = 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows...
database-tools
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
Survey: What database platforms are you using?
We are always looking for feedback to ensure we produce products that make your job easier. We’d very much appreciate if you’d take this short...
Copying Command History as a Tool
In a previous tip we illustrated how you can copy the previously entered interactive PowerShell commands to your favorite script editor. Here is a...
DBAs and Dinosaurs
You have to admit that title is catchier than yet another “Death of the DBA” blog. And that was exactly the direction I was headed until I ran a...
Finding Dates Between Two Dates
If you must know how many days are between two dates, you can easily find out by using New-TimeSpan: $startdate = Get-Date $enddate = Get-Date -Date...
Using Default Parameters
In PowerShell 3.0, an option was added to define default values for arbitrary cmdlet parameters. This line, for example, would set the default value...
Speeding Up Scripts with StringBuilder
Often, scripts add new text to existing text. Here is a piece of code that may look familiar to you: Measure-Command { $text = "Hello" for...
SQL diagnostic manager Secrets: Configuring Alerts
There are a lot of features in SQL diagnostic manager. In this series, I plan to let you know about features that many users never find. In...
Finding Working Days
To find all working days in a given month, here is a neat little one-liner: $month = 7 1..31 | ForEach-Object { Get-Date -Day $_ -Month $month } |...
Why Directories Have a Size of 1
Occasionally, you may notice that folders have a length of 1 byte. This was introduced in PowerShell 3.0. In PowerShell 2.0, they did not report...
Speeding Up Background Jobs
Background jobs can be a great thing to speed up scripts because they can do things in parallel. However, background jobs only work well if the code...
Understanding the statement "exit"
PowerShell supports the keyword "exit" which is a scope-based. It may work much differently than you assumed it would. Let's take a...
Using break, continue, and return
There are two special keywords in PowerShell that you can use in loops: break and continue. With continue, the loop continues but skips the...
Time for an Upgrade?
I don’t know about you, but deciding when to pull the trigger on an upgrade is not that easy for me. What is to be upgraded usually doesn’t...
Dealing with Environment Variables
To read a Windows environment variable in PowerShell, simply use the prefix "env:": PS> $env:windirC:\WindowsPS> $env:USERNAMETobias...
Using Nested Hash Tables
Nested hash tables can be a great alternative to multidimensional arrays. They can be used to store data sets in an easy-to-manage way. Have a look:...
Speeding Up Arrays
When you assign new items to an array often, you may experience a performance problem. Here is a sample that illustrates how you should not do it:...
Using Event Logs Instead of Log Files
Often, people use file-based logging. There is nothing wrong about that, but using the built-in event log system provided by Windows may be much...
Reading Registry Values the Easy Way
With PowerShell, it can be a piece of cake to read out Registry values. Here is your simple code template: $RegPath =...
Handling Cmdlet Errors without Interruption
When you want to use error handlers with errors that occur inside a cmdlet, then you can only catch such exceptions when you set the -ErrorAction of...
Fun with Path Names
You can use the -split operator to easily split a path in its components. The result is always an array. Simply use comparison operators to exclude...
Get Better Integration with SCOM using SQLdm SCOM Management Pack
It’s an age old problem in IT, one IT department has one standard and tools they use to manage their systems. Another IT department has another...
Survey: Idera’s new SQL Server job management solution
We are currently working on a new SQL Server agent job monitoring and management tool, to become available later this year. This first release will...
Skipping Profile on Keystroke
Maybe you'd like to be able to occasionally skip certain parts of your profile script. For example, in the ISE editor, simply add this...
Using Profile Scripts
You probably know that PowerShell supports profile scripts. Simply make sure the file found in $profile exists. It's a plain script that gets...
Be Aware of Side Effects
There are plenty of low level system functions that PowerShell can use. This one, for example, creates a temporary file name:...
Recruiting Beta Candidates for SQL Compliance Manager 4.5 Beta
Thank you for your interest in the SQL Compliance 4.5 beta. Please note that this is pre-release code and may be subject to certain defects. Your...
Bulk File Renaming
Let's assume you have a bunch of scripts (or pictures or log files or whatever) in a folder, and you'd like to rename all files. The new file name...
Getting DateTaken Info from Pictures
If you'd like to reorganize your picture archive, then here is a piece of code that reads the "DateTaken" information from picture...
Reading Installed Software Remotely
Most software registers itself in the Registry. Here is a piece of code that reads all installed software from the 32-bit and 64-bit hive and works...