PowerShell Compare-Object Cmdlet

Ciao a tutti

Benvenuti su CloudAffaire e sono Debjeet.

Nell’ultimo post del blog, abbiamo discusso di Tee-Object cmdlet in PowerShell.

PowerShell Tee-Object Cmdlet

In questo post del blog, discuteremo Compare-Object cmdlet in PowerShell. Puoi usare Compare-Object cmdlet per confrontare due oggetti dove un set di oggetti è la fonte o il riferimento e un altro set di oggetti è il target o la differenza. Il cmdlet Compare-Object cerca di confrontare gli oggetti in base a qualsiasi metodo di confronto che trova sull’oggetto. Se non viene trovato alcun oggetto di confronto, esegue un confronto tra stringhe convertendo l’oggetto in una stringa. Puoi anche passare una o più proprietà per il confronto, quando le proprietà vengono passate il confronto viene fatto solo in base a quelle proprietà.

Compare-Object cmdlet output:

  • (<=): il valore della proprietà è apparso solo nell’oggetto di riferimento
  • (=>): il valore della proprietà è apparso solo nell’oggetto differenza
  • (==): il valore della proprietà è apparso sia nell’oggetto riferimento che nell’oggetto differenza

Nota: Se gli oggetti riferimento o differenza sono nulli ($null), Compare-Object genera un errore di terminazione.

Sintassi del comando Compare-Object:

Shell

1
2
3
4
5
6
7
8
9
10
11

## Compare-Oggetto
## <PSObject>
## <PSObject>
##
### >]
##
##
###
##
##
##

Compare-Oggetto Lista degli argomenti del Cmdlet:

  • -CaseSensitive: Indica che i confronti dovrebbero essere case-sensitive.
  • -Cultura: Specifica la cultura da usare per i confronti.
  • -DifferenceObject: Specifica gli oggetti che vengono confrontati con gli oggetti di riferimento.
  • -ExcludeDifferent: Indica che questo cmdlet visualizza solo le caratteristiche degli oggetti confrontati che sono uguali. Le differenze tra gli oggetti vengono scartate.
  • -IncludeEqual: IncludeEqual visualizza le corrispondenze tra gli oggetti di riferimento e di differenza.
  • -PassThru: Quando si usa il parametro PassThru, Compare-Object omette il wrapper PSCustomObject intorno agli oggetti confrontati e restituisce gli oggetti diversi, invariati.
  • -Property: Specifica un array di proprietà degli oggetti di riferimento e di differenza da confrontare.
  • -ReferenceObject: Specifica un array di oggetti usati come riferimento per il confronto.
  • -SyncWindow: Specifica il numero di oggetti adiacenti che Compare-Object ispeziona mentre cerca una corrispondenza in una collezione di oggetti.

PowerShell Compare-Object Cmdlet:

Shell

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

##########################################
## PowerShell | Cmdlet | Compare-Object ##
##########################################
### PowerShell Ultima versione (5)
## dichiara due array con dati di tipo stringa
$a = “gatto”, “ratto”, “cane”, “uomo”
$b = “mela”, “banana”, “cane”, “mango”
## confronta due oggetti in PowerShell
Compare-Object -ReferenceObject $a -DifferenceObject $b
## confronta due oggetti in PowerShell con case sensitive
Compare-Object -ReferenceObject $a -DifferenceObject $b -CaseSensitive
## confronta due oggetti in PowerShell e mostra la differenza e la somiglianza
Compare-Object -ReferenceObject $a -DifferenceObject $b -IncludeEqual
## confronta due oggetti in PowerShell e mostra ciò che è comune
Compare-Object -ReferenceObject $a -DifferenceObject $b -IncludeEqual -ExcludeDifferent
## confronta due oggetti in PowerShell basandosi su una specifica proprietà dell’oggetto
Compare-Object -ReferenceObject $a -DifferenceObject $b -Property length

Spero ti sia piaciuto questo articolo. Nel prossimo post del blog, discuteremo il cmdlet Add-Content in PowerShell.

Per ottenere maggiori dettagli su PowerShell, seguite gentilmente la seguente documentazione ufficiale

https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about?view=powershell-5.1

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.