about_objects

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