To improve user-friendlyness, you could replace Read-Host by the following Show-InputBox function and get an inputbox dialog window: #requires...
posts-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
Tags
Administration agent-based monitoring Agentless Monitoring alert responses alert thresholds alerting Alerts Amazon Aurora Amazon EC2 Amazon RDS Amazon RDS / Aurora Amazon RDS for SQL Server Amazon Redshift Amazon S3 Amazon Web Services (AWS) Analytics application monitoring Aqua Data Studio automation availability Azure Azure SQL Database azure sql managed instance Azure VM backup Backup and recovery backup and restore backup compression backup status Backup Strategy backups big data Blocking bug fixes business architecture business data objects business intelligence business process modeling business process models capacity planning change management cloud cloud database cloud database monitoring cloud infrastructure cloud migration cloud providers Cloud Readiness Cloud Services cloud storage cloud virtual machine cloud VM clusters code completion collaboration compliance compliance audit compliance audits compliance manager compliance reporting conference configuration connect to database cpu Cross Platform custom counters Custom Views customer survey customer testimonials Dark Theme dashboards data analysis Data Analytics data architect data architecture data breaches Data Collector data governance data lakes data lineage data management data model data modeler data modeling data models data privacy data protection data security data security measures data sources data visualization data warehouse database database administration database administrator database automation database backup database backups database capacity database changes database community database connection database design database developer database developers database development database diversity Database Engine Tuning Advisor database fragmentation database GUI database IDE database indexes database inventory management database locks database management database migration database monitoring database navigation database optimization database performance Database Permissions database platforms database profiling database queries database recovery database replication database restore database schema database security database support database synchronization database tools database transactions database tuning database-as-a-service databases DB Change Manager DB Optimizer DB PowerStudio DB2 DBA DBaaS DBArtisan dBase DBMS DDL Debugging defragmentation Demo diagnostic manager diagnostics dimensional modeling disaster recovery Download drills embedded database Encryption End-user Experience entity-relationship model ER/Studio ER/Studio Data Architect ER/Studio Enterprise Team Edition events execution plans free tools galera cluster GDPR Getting Started Git GitHub Google Cloud Hadoop Healthcare high availability HIPAA Hive hybrid clouds Hyper-V IDERA IDERA ACE Index Analyzer index optimization infrastructure as a service (IaaS) infrastructure monitoring installation Integrated Development Environment interbase Inventory Manager IT infrastructure Java JD Edwards JSON licensing load test load testing logical data model macOS macros managed cloud database managed cloud databases MariaDB memory memorystorage memoryusage metadata metric baselines metric thresholds Microsoft Azure Microsoft Azure SQL Database Microsoft PowerShell Microsoft SQL Server Microsoft Windows MongoDB monitoring Monitoring Tools Monyog multiple platforms MySQL news newsletter NoSQL Notifications odbc optimization Oracle PeopleSoft performance Performance Dashboards performance metrics performance monitoring performance schema performance tuning personally identifiable information physical data model Platform platform as a service (PaaS) PostgreSQL Precise Precise for Databases Precise for Oracle Precise for SQL Server Precise Management Database (PMDB) product updates Project Migration public clouds Query Analyzer query builder query monitor query optimization query performance Query Store query tool query tuning query-level waits Rapid SQL rdbms real time monitoring Real User Monitoring recovery regulations relational databases Releases Reporting Reports repository Restore reverse engineering Roadmap sample SAP Scalability Security Policy Security Practices server monitoring Server performance server-level waits Service Level Agreement SkySQL slow query SNMP snowflake source control SQL SQL Admin Toolset SQL CM SQL code SQL coding SQL Compliance Manager SQL Defrag Manager sql development SQL Diagnostic Manager SQL Diagnostic Manager for MySQL SQL Diagnostic Manager for SQL Server SQL Diagnostic Manager Pro SQL DM SQL Doctor SQL Enterprise Job Manager SQl IM SQL Inventory Manager SQL Management Suite SQL Monitoring SQL Performance SQL Quality SQL query SQL Query Tuner SQL Safe Backup SQL script SQL Secure SQL Security Suite SQL Server sql server alert SQL Server Migration SQL Server Performance SQL Server Recommendations SQL Server Security SQL statement history SQL tuning SQL Virtual Database sqlmemory sqlserver SQLyog Storage Storage Performance structured data Subversion Support tempdb tempdb data temporal data Tips and Tricks troubleshooting universal data models universal mapping unstructured data Uptime Infrastructure Monitor user experience user permissions Virtual Machine (VM) web services webinar What-if analysis WindowsPowerShellCreating Simple Keylogger
By accessing the Windows low-level API functions, a script can constantly monitor the keyboard for keypresses and log these to a file. This...
Detecting Key Presses across Applications
By accessing the Windows low-level system calls, PowerShell can query the keyboard for pressed keys. The following example waits until the user...
Accessing API Functions and Logging Off
You may have heard about pInvoke.net, a site that documents internal Windows API signatures. Signatures describe low-level Windows API system calls....
Executing Code after Script Is Done
For monitoring purposes, it is often not known how long a script needs to run. So here, an endless loop is used. The script runs for as long as the...
Setting Permanent Environment Variables
When you set or change environment variables in PowerShell, this only affects the process set, so changes apply only to the current PowerShell...
Replacing Special Characters
Sometimes it is crucial to replace special characters in text before you can use it. For example, if you plan to create Active Directory accounts,...
Getting Airports and Weather Info near You
PowerShell can talk to web services, and there are some public web services that you can contact via internet. Here are two functions: Get-Airport...
Identifying Essential Add-Type Statement
When you access .NET types and objects directly in your PowerShell code, you must make sure that the appropriate .NET assemblies are loaded. If you...
Understanding the –f Operator
You may have come across the –f operator before and wondered what it does. It’s the format operator and provides an extremely easy way...
Creating Backup Copies of Many Files
PowerShell can quickly create backup files of your files. All you need to adjust is the type of files you want to backup, and the file extension you...
Piping Results Straight Into Office Word
With only a few lines of code you can implement a command called Out-OfficeWord. It takes the data you pipe into it and inserts them into a new Word...
Search WMI for Useful Information
WMI is a great source of information but it is not always easy to find out the names of valid WMI classes to query. Here is a little search tool: it...
Use a Grid View Window as a Universal Dialog
Out-GridView can be much more than just a window showing results. You can turn it into a pretty useful universal dialog. Let's assume you want...
Outputting File Sizes in Different Formats
When you store a number in a variable, you may want to display the number in different units. Bytes are very precise, but sometimes displaying the...
Converting Date/Time Formats
Here is a simple PowerShell filter that can convert any DateTime object into any date/time-format you like: #requires -Version 1 filter...
Waiting for Process Launch
PowerShell has a built-in support to wait until a process or many processes end: simply use Wait-Process. There is no support to do the opposite:...
Invoking Different Code Based on Parameter Value
Here is a simple concept using an action parameter with a number of choices. Each choice refers to a script block that would be executed then....
Finding Script Block Variables
Script blocks define a PowerShell code without executing it. The easiest way of defining script blocks is placing code into braces. Script blocks...
Getting Installed Software Remotely
In a previous tip we introduced the Get-Software function that was able to retrieve installed software from local computers. If you have enabled...
Reading Installed Software from Registry
Here is a very quick way of finding installed software. The Get-Software function reads both the 32- and 64-bit locations for software installed for...
Display Message Box Dialog
PowerShell is console-based, but sometimes it would be nice to add some simple dialogs. Here is a function called Show-MessageBox that can display...
Use Server-Side Filtering When Possible
When you retrieve information across a network, always make sure you use client-side techniques like Where-Object as a last resort. Server-side...
Turning Lists of Numbers Into Useful Lists
PowerShell features the ".." operator which produces lists of numbers. With the -join operator, you can convert these to almost anything...
Checking for AC Power
Ask WMI to find out whether your notebook is connected to AC: #requires -Version 1 $battery = Get-WmiObject -Class Win32_Battery | Select-Object...
Creating Enumerations
PowerShell 5.0 added the capabilities to define enumerations but in older PowerShell versions, you can create enumerations too, simply by compiling...
Crazy Prompt Function
The built-in "prompt" function is invoked whenever PowerShell completed interactive input, and you can use it to change the way your...
Conversation with PowerShell
Today's tip is using the programmable CommandNotFoundHandler to have PowerShell talk with you once you enter an unknown command:...
Finding Operating System Version
One of the easiest ways of getting your operating system version is this one line of code: PS> [Environment]::OSVersion Platform ServicePack...
Why Some Errors Aren't Caught
When you receive a red error message from PowerShell, you can always encapsulate the code in a try…catch block and handle the error yourself:...