Windows power shell commands can accept input only from one of their parameters.
This creates a statement that is an easy statement to read but how the command works may not all is
obvious when you run a command.
For example get service Robsart sort object property status type select object does property name call
my status.
In that example it seems as if both cert object and select object are an input in some other way.
Let object produced by get service are somehow being picked up out of the pipeline by Sorto object and
so on.
In reality both Sorto object and select object are being given to parameters not the one parameter alert.
You can see the other parameter isn't visible used by Windows or a shell in a process that is known
as pipelined parameter or bind.
Basically when two commands are connected in the pipeline pipeline perimeter bind and has to take the
output of the Thurles command and decide what to do with it.
That process has to select one of the parameters of the second command that is to receive those objects
the shell has two techniques that it uses to make that decision.
The first technique and the one that the shell of is try to use first is called by well.
The second technique is called by Robert a name and it is only used to and by well your fails if you
read the full help for a command.
You can see the pipeline input capability of each parameter.
For example in the help file for saut object you will find the following in the except pipeline input
attribute is true because the input object parameter accepts pipeline input.
Also shown is a list of the techniques the perimeter supports.
In this case it supports only by well your technique by using by well your perimeter can accept complete
objects from the pipeline.
When those objects are of the type that's the parameter except a single command can have more than one
parameter acceptant pipeline input by well.
But each parameter will accept a different kind of object.
For example good service can accept pipeline input by well-you on both its input object and name parameters
those parameters each except a different kind of object input object accepts objects of the type service
controller and name accepts objects of the type Stream.
Let's look at the example SCORM are we in the room.
Why get source bits Andrina RAM are in quotes here to String objects are being piped into service.
This will be attached to the main parameter because that parameter accepts that kind of object by well
you from the pipeline like you to predict in what the shell will do with objects in the pipeline.
Is Novum.
What kind of objects is in the pipeline to do that.
You can pipe the object to get mamber the first line of output will tell you what kind of object the
pipeline can.
For example if you type bits in quotes comma in a room and quotes and pipe it to get member you'll get
the following output.
Here are the pipeline contained objects of the type system Dadds scream windows power shell frequently
abbreviates type names to include only the last portion and this example that would be stream.
Then you examine the food held for the next amount in the pipeline.
In this example you just get service and you would find that most the input object and name parameters
except input from the pipeline by well-you because their pipeline contains objects of that type Stream.
And because the name parameter accepts objects of the types drinn from the pipeline by well-you the
objects in the pipeline are attached to the main parameter Rondo's partial recognizers to generic kind
of object object and B-S object parameters that except these kinds of objects can accept any kind of
object when you perform by well-you pipeline parameter bind.
This shell force looks for the most specific object type possible.
If the pipeline contains a string and two parameter can accept string that parameter will receive the
object.
If there is no match for a specific data type this shell will try to match generic type data type that
behavior is why comments like sort object and select object work those commands each have a parameter
named the input object that accepts objects of that type B the Saab's are from the pipeline by well.
That is why you can pipe and listen to those commands.
Their input object parameter will receive anything from the pipeline because it accepts objects of any
kind.
Now let's review some demonstration examples.
Let's look at this command get service Desch name bits.
Why stop the service.
Let's discover what kind of object the files command produces.
To do that let's Taieb get service by GET member as you can see that name is service controller.
Now let's discover what parameter is.
The second command from this example can accept pipelining input by well you know to do that let's type
help stop service desk show window and turn this help window.
You have to find the input object parameter accepts objects of the type service controller from the
pipeline by using by well.
So now you can determine that the object spread used by the first command the command in the example
will be attached to the input object parameter of the second command.