database-tools

Setting New Windows Registered Owner

This small piece of code prompts for a new registered owner name, then updates the value in the Windows Registry. Note that this requires...

Downloading Files

Invoke-WebRequest can download files from the internet for you. This example downloads a 33MB public NASA video to your computer, then starts to...

Why Invoke-Expression is Evil

Invoke-Expression takes any string and treats it as PowerShell code. This way, you could construct dynamic code, and then execute it....

Accessing Web Page Content

Beginning with PowerShell 3.0, the cmdlet Invoke-WebRequest can download web page content quite easily. This would scrape all links from...

Analyzing svchost Processes

Occasionally, you may see a bunch of processes named "svchost" in your task monitor or Get-Process output. These processes are hosts for Windows...

Identifying Services by ProcessID

Group-Object is a great cmdlet to create lookup tables. If you wanted to identify a Windows service by its process ID, here is a way: $serviceList =...

Creating Real Classes

PowerShell introduces class support in PowerShell 5.0, but you can define your own classes in other PowerShell versions as well. Simply use C# code...

Adding Test Hosts to PowerShell ISE

To quickly open new test hosts inside the PowerShell ISE that ships with PowerShell 3.0 and better, here is a small helper function: #requires...

Defining Default Parameters

PowerShell can define defaults for any parameter, so if you wanted to always submit a default value for Get-ChildItem‘s –Path parameter,...

Creating New Objects – Oneliner

Sometimes you may want to create your own objects to store multiple pieces of information. Here is a pretty dense oneliner that illustrates a quick...

Mapping Network Drives (Part 3)

If you migrated from VBScript to PowerShell, you may remember how VBScript mapped network drives. This option is still available in PowerShell....

Mapping Network Drives (Part 2)

Beginning with PowerShell 3.0, you can use New-PSDrive to map network drives. They will be visible in File Explorer as well. Here is some sample...

Mapping Network Drives (Part 1)

PowerShell supports console commands, so if you need to map a network drive, often the most reliable way is to use good old net.exe like this:...

Executing with Timeout

Start-Process can start processes but does not support a timeout. If you wanted to kill a runaway process after a given timeout, you could use an...

Executing Selected Code as Admin

If you need to run selected parts of your script with Administrator privileges, you could temporarily launch a second PowerShell with Administrator...

Finding Drive Letters

Here is a simple function to find out the reserved drive letters: #requires -Version 3 function Get-DriveLetter { (Get-WmiObject -Class...

Quickly Finding Scripts

To quickly locate a PowerShell script anywhere in your MyDocuments folder, take a look at this Find-Script function: #requires -Version 3 function...

1 89 90 91 92 93 159