Power Tips

Share |

Join PowerShell.com!
Subscribe to Feed

PowerShell eBook
Sign up for
Your PowerTip of the Day:

Award-winning PowerShellPlus


Admin Guide to PowerShell Remoting


Mastering PowerShell eBook

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
  • Checking Windows Updates

    To check all installed updates on a Windows box, there is a COM library you can use. Unfortunately, this library isn't very intuitive to use, nor does it work remotely. So here is a PowerShell function called Get-WindowsUpdate. It gets the locally...
  • Finding AD Accounts Easily

    All PowerShell versions You do not necessarily need additional cmdlets to search for user accounts or computers in your Active Directory. Provided you are logged on to the domain, simply use this: $ldap = ' (&(objectClass=computer)(samAccountName...
  • Wait For Key Press

    Sometimes you'd like to wait for a key press. The easiest way is to use Read-Host like this: Read-Host 'Please press ENTER' | Out-Null Problem here is: Read-Host accepts more than one key and only continues after you press ENTER. To implement...
  • ExpandProperty rocks - sometimes

    Select-Object will select the object properties that you want to see. So it removes all properties you did not specify, but it always returns an object: Get-Process | Select-Object Name Often, you are not interested in an object but prefer the content...
  • Using OpenFile Dialog

    You can use this code to open a standard OpenFile dialog in your PowerShell scripts: [ System.Reflection.Assembly ]:: LoadWithPartialName ( "System.windows.forms" ) | Out-Null $dialog = New-Object System.Windows.Forms.OpenFileDialog $dialog...
  • Creating Calendars (and Lists of Dates)

    Here's a code snippet that creates DateTime ranges. Just specify a year and a month, and the script produces a DateTime object for each day in that month: $month = 8 $year = 2013 1 .. [ DateTime ] :: DaysInMonth ( $year , $month ) | ForEach-Object...
  • Getting Excuses Automatically

    Tired of inventing lame excuses yourself? Then here's a script that gets you a new excuse any time you call Get-Excuse! All you need is Internet access: function Get-Excuse { $url = ' http://pages.cs.wisc.edu/~ballard/bofh/bofhserver.pl '...
  • Pinging Computers

    There are multiple ways how you can ping computers. Here is a simple approach that uses the traditional ping.exe but can be easily integrated into your scripts: function Test-Ping { param ([ Parameter ( ValueFromPipeline = $true )] $Name ) process { ...
  • Getting Yesterday’s Date - at Midnight!

    Getting relative dates (like yesterday or one week ahead) is easy once you know the Add…() methods every DateTime object supports. This would give you yesterday: $today = Get-Date $yesterday = $today . AddDays ( - 1 ) $yesterday $yesterday will...
  • Starting Services Remotely

    Since Start-Service has no -ComputerName parameter, you cannot use it easily to remotely start a service. While you could run Start-Service within a PowerShell remoting session, an easier way may sometimes be Set-Service. This would start the Spooler...
  • Exporting and Importing Credentials in PowerShell

    Credential objects contain a username and a password. You can create them using Get-Credential, and then supply this object to any cmdlet that has the -Credential parameter. However, what do you do if you want your scripts to run without user intervention...
  • Showing WPF Info Message

    WPF (Windows Presentation Foundation) is a technology that enables you to create windows and dialogs. The advantage of WPF is that the window design can be separated from program code. Here is a sample that displays a catchy message. The message is defined...
  • Reading Registry Values Easily

    All PowerShell versions Here is the simplest way to read Registry values: $Key = ' HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion ' $Name = ' RegisteredOwner ' $result = ( Get-ItemProperty -Path "Registry::$Key"...
  • Finding Active Directory User Accounts Fast

    The more specific your LDAP query is the faster and less resource intense the query is, and the more precise are the results as well. For example, most people use objectClass to limit search results to a specific object class. To find just user accounts...
  • 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: #...
1 2 3 4 5 Next > ... Last »
Copyright 2012 PowerShell.com. All rights reserved.