Condividi tramite


Test-FileCatalog

Test-FileCatalog convalida se gli hash contenuti in un file di catalogo (con estensione cat) corrispondono agli hash dei file effettivi per convalidare l'autenticità.

Questo cmdlet è supportato solo in Windows.

Sintassi

Default (impostazione predefinita).

Test-FileCatalog
    [-Detailed]
    [-FilesToSkip <String[]>]
    [-CatalogFilePath] <String>
    [[-Path] <String[]>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Descrizione

Questo cmdlet è disponibile solo nella piattaforma Windows.

Test-FileCatalog convalida l'autenticità dei file confrontando gli hash dei file di un file di catalogo (cat) con gli hash dei file effettivi su disco. Se rileva eventuali mancate corrispondenze, restituisce lo stato ValidationFailed. Gli utenti possono recuperare tutte queste informazioni usando il parametro -Detailed. Mostra anche lo stato della firma del catalogo nella proprietà Firma, equivalente a eseguire il comando Get-AuthenticodeSignature sul file del catalogo. Gli utenti possono anche ignorare qualsiasi file durante la convalida usando il parametro -FilesToSkip.

Questo cmdlet è supportato solo in Windows.

Esempio

Esempio 1: Creare e convalidare un catalogo file

$NewFileCatalogParams = @{
    Path = "$PSHOME\Modules\Microsoft.PowerShell.Utility"
    CatalogFilePath = "\temp\Microsoft.PowerShell.Utility.cat"
    CatalogVersion = 2.0
}
New-FileCatalog @NewFileCatalogParams

$TestFileCatalogParams = @{
    CatalogFilePath = "\temp\Microsoft.PowerShell.Utility.cat"
    Path = "$PSHOME\Modules\Microsoft.PowerShell.Utility\"
}
Test-FileCatalog @TestFileCatalogParams
Valid

Esempio 2: Convalidare un catalogo file con output dettagliato

$TestFileCatalogParams = @{
    Detailed = $true
    CatalogFilePath = "\temp\Microsoft.PowerShell.Utility.cat"
    Path = "$PSHOME\Modules\Microsoft.PowerShell.Utility\"
}
Test-FileCatalog @TestFileCatalogParams
Status        : Valid
HashAlgorithm : SHA256
CatalogItems  : {[Microsoft.PowerShell.Utility.psd1,
                A7028BD54018AE519381CDF5BF91F3B0417BD9345478086089ACBFAD05C899FC], [Microsoft.PowerShell.Utility.psm1,
                1127E8151FB86BCB683F932E8F6538552F7195816ED351A28AE07A753B8F20DE]}
PathItems     : {[Microsoft.PowerShell.Utility.psd1,
                A7028BD54018AE519381CDF5BF91F3B0417BD9345478086089ACBFAD05C899FC], [Microsoft.PowerShell.Utility.psm1,
                1127E8151FB86BCB683F932E8F6538552F7195816ED351A28AE07A753B8F20DE]}
Signature     : System.Management.Automation.Signature

Parametri

-CatalogFilePath

Percorso di un file di catalogo (.cat) che contiene gli hash da usare per la convalida.

Proprietà dei parametri

Tipo:String
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:0
Obbligatorio:True
Valore dalla pipeline:True
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-Confirm

Richiede conferma prima di eseguire il cmdlet.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:False
Supporta i caratteri jolly:False
DontShow:False
Alias:cfr

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Detailed

Restituisce altre informazioni un oggetto CatalogInformation più dettagliato che contiene i file testati, gli hash previsti/effettivi e una firma Authenticode del file di catalogo, se firmato.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-FilesToSkip

Matrice di percorsi che non devono essere testati come parte della convalida.

Proprietà dei parametri

Tipo:

String[]

Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Path

Cartella o matrice di file che devono essere convalidati rispetto al file di catalogo.

Proprietà dei parametri

Tipo:

String[]

Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:1
Obbligatorio:False
Valore dalla pipeline:True
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-WhatIf

Mostra gli effetti dell'esecuzione del cmdlet. Il cmdlet non viene eseguito.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:False
Supporta i caratteri jolly:False
DontShow:False
Alias:Wi

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

CommonParameters

Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedi about_CommonParameters.

Input

DirectoryInfo

È possibile inviare tramite pipe un oggetto DirectoryInfo che rappresenta il percorso ai file da convalidare.

String

È possibile inviare tramite pipe una stringa che rappresenta il percorso ai file che devono essere convalidati.

Output

CatalogValidationStatus

Per impostazione predefinita, questo cmdlet restituisce un oggetto CatalogValidationStatus con un valore Valid o ValidationFailed.

CatalogInformation

Quando si utilizza il parametro dettagliato, il cmdlet restituisce un oggetto CatalogInformation per ogni file, che può essere utilizzato per analizzare file specifici che potrebbero o meno avere superato la convalida, quali hash erano previsti rispetto a quelli trovati, e l'algoritmo usato nel catalogo.

Note

Questo cmdlet è disponibile solo nelle piattaforme Windows.