Compare-Object

Compara dos conjuntos de objetos.

Sintaxis

Default (valor predeterminado)

Compare-Object
    [-ReferenceObject] <PSObject[]>
    [-DifferenceObject] <PSObject[]>
    [-SyncWindow <Int32>]
    [-Property <Object[]>]
    [-ExcludeDifferent]
    [-IncludeEqual]
    [-PassThru]
    [-Culture <String>]
    [-CaseSensitive]
    [<CommonParameters>]

Description

El cmdlet Compare-Object compara dos conjuntos de objetos. Uno conjunto de objetos es el de referencia y el otro es el de diferencia.

Compare-Object comprueba si hay métodos disponibles para comparar un objeto completo. Si no encuentra un método adecuado, llama a los métodos ToString() de los objetos de entrada y compara los resultados de la cadena. Puede proporcionar una o varias propiedades que se usarán para la comparación. Cuando se proporcionan propiedades, el cmdlet compara solo los valores de esas propiedades.

El resultado de la comparación indica si un valor de propiedad solo apareció en el objeto de referencia () o solo en la diferencia objeto (). Si se usa el parámetro IncludeEqual , (==) indica que el valor está en ambos objetos.

Si la referencia o la diferencia de objetos son nulos ($null), Compare-Object genera un error de terminación.

Algunos ejemplos usan la expansión para reducir la longitud de las líneas en los ejemplos de código. Para obtener más información, consulte about_Splatting.

Parámetros

-CaseSensitive

Indica que las comparaciones deben distinguir entre mayúsculas y minúsculas.

Propiedades de parámetro

Tipo:SwitchParameter
Valor predeterminado:False
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Culture

Especifica la referencia cultural que se va a usar para las comparaciones.

Propiedades de parámetro

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-DifferenceObject

Especifica los objetos que se comparan con los objetos de referencia .

Propiedades de parámetro

Tipo:

PSObject[]

Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:1
Obligatorio:True
Valor de la canalización:True
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-ExcludeDifferent

Indica que este cmdlet muestra solo las características de los objetos comparados que son iguales. Las diferencias entre los objetos se descartan.

Use ExcludeDifferent con IncludeEqual para mostrar solo las líneas que coinciden entre el objeto de referencia y el objeto de diferencia.

Si se especifica ExcludeDifferent sin IncludeEqual, no hay ninguna salida.

Propiedades de parámetro

Tipo:SwitchParameter
Valor predeterminado:False
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-IncludeEqual

IncludeEqual muestra las coincidencias entre los objetos de referencia y los objetos de diferencia.

De forma predeterminada, la salida también incluye las diferencias entre el objeto de referencia y el objeto de diferencia .

Propiedades de parámetro

Tipo:SwitchParameter
Valor predeterminado:False
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-PassThru

Cuando se usa el parámetro PassThru, Compare-Object omite el contenedor de PSCustomObject alrededor de los objetos comparados y devuelve los objetos diferentes, sin cambios.

Propiedades de parámetro

Tipo:SwitchParameter
Valor predeterminado:False
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Property

Especifica una matriz de propiedades del de referencia de y diferencia objetos que se van a comparar.

El valor del parámetro Property puede ser una nueva propiedad calculada. La propiedad calculada puede ser un bloque de script o una tabla hash. Los pares clave-valor válidos son:

  • Expresión: <string> o <script block>

Para obtener más información, consulte about_Calculated_Properties.

Propiedades de parámetro

Tipo:

Object[]

Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-ReferenceObject

Especifica una matriz de objetos usados como referencia para la comparación.

Propiedades de parámetro

Tipo:

PSObject[]

Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:0
Obligatorio:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-SyncWindow

Especifica el número de objetos adyacentes que Compare-Object inspecciona mientras busca una coincidencia en una colección de objetos . Compare-Object examina los objetos adyacentes cuando no encuentra el objeto en la misma posición de una colección. El valor predeterminado es [Int32]::MaxValue, lo que significa que Compare-Object examina toda la colección de objetos.

Propiedades de parámetro

Tipo:Int32
Valor predeterminado:[Int32]::MaxValue
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

CommonParameters

Este cmdlet admite los parámetros comunes: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction y -WarningVariable. Para obtener más información, vea about_CommonParameters.

Entradas

PSObject

Puede enviar un objeto a través de la canalización al parámetro DifferenceObject.

Salidas

None

Si el objeto de referencia y el objeto de diferencia son iguales, no hay salida, a menos que use el parámetro IncludeEqual .

PSCustomObject

Si los objetos son diferentes, Compare-Object ajusta los objetos diferentes en un contenedor de PSCustomObject con una propiedad SideIndicator para hacer referencia a las diferencias.

Cuando usas el parámetro PassThru, el Tipo del objeto no se cambia, pero la instancia del objeto devuelto tiene un añadido NoteProperty con el nombre SideIndicator. El SideIndicator muestra a qué objeto de entrada pertenece la salida.

Notas

Al utilizar el parámetro PassThru, es posible que la salida mostrada en la consola no incluya la propiedad SideIndicator. La vista de formato predeterminada de for the object type output by Compare-Object no incluye la propiedad SideIndicator . Para obtener más información, vea ejemplo 3 en este artículo.