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 ==) 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
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.