Q. Is there a way to pipe an object to multiple commands when using PowerShell?

A. Normally, when you use PowerShell you perform actions by piping the objects from one PowerShell command to another. For example:

get-aduser bruce | Disable-ADAccount

This command gets the object for user bruce and disables it using the Disable-ADAccount cmdlet. But what if you want to run another command on the bruce account as well? Say you want to pass the bruce object through the Disable-ADAccount cmdlet to the next cmdlet. Fortunately, this is easy. You just add -PassThru to the end of the cmdlet. For example, the command below would disable the AD account then update its description.

get-aduser bruce | Disable-ADAccount -PassThru
 | Set-ADUser -Description ("Account Disabled on
Related Reading:

Check out hundreds more useful Q&As like this in John Savill's FAQ for Windows. Also, watch instructional videos made by John at ITTV.net.
Hide comments


  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.