Announcing the General Availability of IDERA SQL Compliance Manager 7.0
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
Determining Registry Value Data Type
PowerShell can read and write Registry keys and values easily, but there is no a built-in way to check the data type of a given value. To find out the data type of a value, first access the Registry key as usual. Then, use its GetValueKind() method. This example...
Creating Colorized Excel Output (Part 2)
In a previous tip, we illustrated how you can feed HTML data to Excel in order to create formatted Excel sheets. Today, we'll show you an easy way to create color-coded data. Instead of having PowerShell create HTML (via ConvertTo-Html), you can create the HTML...
Creating Readable CSV-and HTML-Output
When you convert PowerShell results to CSV or HTML output, you may have discovered that some properties don't display correctly. PowerShell cannot correctly convert arrays to strings and instead displays the array data type. Here's a sample: # use extension...
Creating Colorized Excel Output
PowerShell can send data to Excel using CSV files easily. Here's a short script creating a list of running services and opening it in Excel (provided you have Excel installed of course): $Path = "$env:temp\tempfile.csv" Get-Service | Export-Csv -Path...
Finding Unused Drive Letter
Here's a simple way of finding unassigned drive letters: If you just want any unused drive letter, pipe the result to Get-Random. This approach uses the fact that PowerShell creates a function for each available drive, so the code tests whether or not there is a...
Using Bitwise Shift Operators
PowerShell 3.0 introduces two new operators to bitwise shift. You can use these, for example, to convert GB to MB or KB to GB: -shr 10 basically does the same as dividing by 1024, whereas -shr 20 divides by 1MB. Likewise, -shl does the opposite. ReTweet this Tip!
Preventing Debugging (Part 2)
In a previous tip we explained how you can tell PowerShell not to debug certain functions by adding a special attribute: function test { [System.Diagnostics.DebuggerHidden()] param($a) Get-Service } So when you step through code using the PowerShell debugger, the...
Adding Suggestions to PowerShell Console
Suggestions are little pieces of text that can appear next to a PowerShell error message to better explain what went wrong. Suggestions only work in the PowerShell console. They do not work in the ISE editor. There are only three suggestions hard-coded into...
Printing from an Android device using FireMonkey
Printing from an Android device requires a little bit more setup than in iOS where you simply connect to an AirPrint capable printer (like my Epson XP-400). However, Android printing appears to work with any Wifi printer (or PC connected printer), so its more...
Examining Certificates
Here's how you can pick a certificate from your certificate store. This line will return certificates that have "Tobias" in the subject: Next, you can "unfold" all properties and display them as plain text: Or, you can display only selected...
Removing Certificate Plus Private Key
Starting with PowerShell 3.0, the certificate provider has become a lot more powerful. It can now easily delete certificates plus their associated private key (which you should only try if you clearly understand what it means to get rid of a digital certificate). This...
Preventing Flashing Console Window
When you run a console command inside a non-console PowerShell host (like the ISE editor), there will be a flashing window, indicating that the host is launching a temporary console window to host the console command. That's no bad thing, but if you must prevent...
Changing Current Time Zone
In a previous tip you learned how PowerShell can list all available time zone IDs. Today, we show you how to set the time zone using the utility tzutil.exe. First, here's a helper function that returns the correct time zone ID when you submit part of its name:...
Get Time Zone Info
There is a little known utility called tzutil.exe which can both set the current time zone and get all available time zones. Today, let's check out how PowerShell can embrace raw output and help you get what you want. When you dump all available time zones, you...
Finding Office Installation Path
Microsoft Office has many different versions and exists as a 32-bit and 64-bit edition. Finding the installation path with PowerShell can still be surprisingly simple once you understand the power of wildcards. The next line will return the Excel installation path...
Hiding Code from ISE Debugger
Typically, when you set breakpoints in your script and then step through your code using F11 or "Debug/Step Into", the debugger will visit all lines that are executed. Sometimes, however, you may not want to step through some functions, or you want to make...
Exploring PowerShell "Suggestions"
In the PowerShell console, you may have noticed "suggestions" that appear with common errors. Suggestions are designed to help you better understand the error. Suggestions are hard-coded into PowerShell and only appear in the console. They do not appear in...
Analyzing PowerShell Errors
PowerShell logs all errors in $error variable (unless the cmdlet uses -ErrorAction Ignore). $error contains the error records which in turn contain a property named HistoryID that links to the command that produced the error. By looking up the history list, you can...
Using Script Validators with Variables
As pointed out in a previous tip, PowerShell 3.0 now supports the use of validators for variable assignments. This is a great way of ensuring that a variable cannot contain illegal data. One of the most versatile validators is the ValidateScript attribute. This...
Waiting for Service State
Most high-level cmdlets dealing with services have built-in code to wait for state changes. So when you run Restart-Service to restart a service, the cmdlet will pause the script until the service indeed has restarted, and even display a warning message if this takes...