Object Type Match in Pipeline in Windows PowerShell

Q

What will happen if the output object type does not match the input object type in a cmdlet pipeline in Windows PowerShell?

✍: FYIcenter.com

A

When you build a cmdlet pipeline, you have to make sure that object types are compatible in the pipeline operation. In other words, the output object type from the previous cmdlet must match the input object type of the next cmdlet.

If the object type is not compatible in the pipeline operation, you will get an error. For example:

PS C:\fyicenter> get-date | stop-process

stop-process : The input object cannot be bound to any parameters 
for the command either because the command does not take pipeline 
input or the input and its properties do not match any of the 
parameters that take pipeline input.
 
At line:1 char:12
+ get-date | stop-process
+            ~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (18:14:15 AM:PSObject) 
                              [Stop-Process], ParameterBindingException
    + FullyQualifiedErrorId : InputObjectNotBound,Microsoft.PowerShell
                              .Commands.StopProcessCommand

 

Introduction of Windows PowerShell Cmdlet

⇒⇒Windows PowerShell Tutorials

2016-11-04, 296👍, 0💬