Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

For example, if I type a command like this:

Get-Childitem | where-object {$_lastwritetime.Day -eq "$data"} |sort-object lastwrittetime

and I want to make an alias for it, I was trying do stuff like this:

set-alias Check -value (and there is above command)

then the alias works, but ignores commands after Get-Childitem.

share|improve this question
up vote 5 down vote accepted

For example:

Get-CsAdUser –LdapFilter "Department=IT" | Format-Table DisplayName, Enabled, SipAddress –AutoSize

So how do you create an alias for a command like that? Well, you don't: PowerShell will only let you create aliases for cmdlets, functions, scripts, or files.

So is there a way to work around this problem? Of course there is: there's always a way to work around a problem. (Well, except when there isn't.) For one thing, you could write a script that runs that command for you; there's definitely nothing wrong with that. However, an even better approach might be to create a function that runs your command for you. You know, a function that looks like this one:

Function itusers {Get-CsAdUser –LdapFilter "Department=IT" | Format-Table DisplayName, Enabled, SipAddress –AutoSize}

What we have here is a little function named itusers, a function that returns all the users in the IT department and then displays the value of the DisplayName, Enabled, and SipAddress attributes for each of those users (and in a nicely-formatted table to boot).

Instructions as seen in here.

share|improve this answer
Excellent answer. – Guy Thomas Jan 2 '13 at 13:34

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .