Power Tips

Share |

Join PowerShell.com!
Subscribe to Feed

PowerShell eBook
Sign up for
Your PowerTip of the Day:

Powershell Plus


13 Free SQL Tools from Idera


Free Ebook: Mastering Powershell

Welcome to the archive of tips delivered through Tobias' Tip of the Day RSS Feed and Your Power Tip of the Day email. Subscribe in the sidebar to get the latest tips!

Sort by: Most Recent | Most Viewed | Most Commented
  • Common Parameters and Optional Common Parameters

    Cmdlets and advanced PowerShell functions can have their own parameters, but they also always inherit common parameters. To see a list of common parameters, try this: PS> [System.Management.Automation.Cmdlet]::CommonParameters Verbose Debug ErrorAction...
  • Displaying Object Properties One per Line

    Sometimes you may want to get a good overview of the data contained in an object. For example, if you query the PowerShell process and display it in a grid view window, you can see the object content: Get-Process -Id $pid | Out-GridView But can you really...
  • Listing (and Checking) PowerShell Profiles

    Profile scripts are PowerShell scripts that launch automatically once PowerShell starts. The path to the primary profile file can be found in $profile. To get a list of potential profile script paths, try this: #requires -Version 1 ( $profile | Get-Member...
  • 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 way of creating new objects: #requires -Version 3 $Info = ' Test ' $SomeOtherInfo = 12 New-Object...
  • 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. $helper = New-Object -ComObject WScript.Network $helper . MapNetworkDrive ( ' O: ' , ' \\dc-01...
  • 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 code: #requires -Version 3 New-PSDrive -Name N -PSProvider FileSystem -Root ' \\dc-01\somefolder '...
  • 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: #requires -Version 1 net.exe use M : ' \\dc-01\somefolder ' / PERSISTENT : YES Test-Path -Path M:\ explorer...
  • 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 approach like this: #requires -Version 2 $maximumRuntimeSeconds = 3 $process = Start-Process -FilePath powershell...
  • 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 privileges, then run the privileged command in the temporary shell. Here is a sample that stops the Windows...
  • Finding Drive Letters

    Here is a simple function to find out the reserved drive letters: #requires -Version 3 function Get-DriveLetter { ( Get-WmiObject -Class Win32_LogicalDisk ) . DeviceID } To list all drive letters in use, try this: PS> Get-DriveLetter C: D: Y: Z: PS>...
  • Quickly Setting Multiple Environment Variables

    To quickly (and permanently) set a bunch of environment variables, here is a nice approach: $hashtable = @ { Name = ' Weltner ' ID = 12 Ort = ' Hannover ' Type = ' Notebook ' ABC = 123 } $hashtable . Keys | ForEach-Object { $Name...
  • 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 Find-Script { param ( [ Parameter ( Mandatory = $true )] $SearchPhrase , $Path = [ Environment ] :: GetFolderPath...
  • Hiding Variable Content

    When you override the ToString() method of an object you control how this object is displayed. The object content stays untouched, though: $a = 123 $a = $a | Add-Member -MemberType ScriptMethod -Name toString -Value { ' secret ' } -Force -PassThru...
  • Adding Additional Information to Objects

    When you retrieve results, you may want to add additional properties to the results so later you know where they came from. Attaching additional information to complex objects works a little different than attaching them to primitive data (as described...
  • Appending Extra Information to Primitive Data Types

    Maybe you'd like to tag a variable and provide some extra information. In PowerShell, use Add-Member and attach NoteProperties or ScriptProperties to it. A NoteProperty contains some static information, whereas a ScriptProperty runs code when you...
1 2 3 4 5 Next > ... Last »
Copyright 2012 PowerShell.com. All rights reserved.