about_Objects
Applies To: Windows PowerShell 2.0
TOPIC
about_Objects
SHORT DESCRIPTION
Provides essential information about objects in Windows PowerShell.
LONG DESCRIPTION
Every action you take in Windows PowerShell occurs within the context of
objects. As data moves from one command to the next, it moves as one or
more identifiable objects. An object, then, is a collection of data that
represents an item in a namespace. An object is made up of three types
of data: the object's type, its methods, and its properties.
The data about an object's type provides details about what kind of
object it is. For example, an object that represents a file is a
FileInfo object.
An object's method is an action that you can perform on the item that
the object represents. For instance, a FileInfo object includes a
method that you can use to cause the file to be copied. That is, when
you invoke the copy method of the object, the file that the object
represents is copied.
An object's property is information about the state of that object. For
example, a FileInfo object includes the length property, which
specifies the size of the file represented by the object.
When working with objects, you can use their methods and properties in
your commands to take specific actions and manipulate data. This is
especially useful when you combine multiple commands into a single
pipeline.
When commands are combined in a pipeline, they pass information to each
other as objects. When the first command runs, it sends one or more
objects down the pipeline to the second command. The second command
receives the objects from the first command, processes the objects, and
then passes new or revised objects to the next command in the pipeline.
This continues until all commands in the pipeline run.
The following example demonstrates how objects are passed from one
command to the next:
Get-ChildItem c: | where {$_.PsIsContainer -eq $false} |
Format-List
The first command (Get-ChildItem c:) returns an object for each item in
the root directory of the file system. Those objects are passed down
the pipeline to the second command (where {$_.PsIsContainer -eq
$false}). The second command uses the PsIsContainer property of the
object to filter the data from the input objects so that no directories
(containers) are returned. The command then passes the information as
objects to the third command (Format-List), which displays the contents
of each piped object in a list format.
SEE ALSO
about_Methods
about_Properties
about_Pipelines
Get-Member