New-FileCatalog
Creates a Windows catalog file containing cryptographic hashes for files and folders in the specified paths.
Syntax
Default (Default)
New-FileCatalog
[-CatalogVersion <Int32>]
[-CatalogFilePath] <String>
[[-Path] <String[]>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
This cmdlet is only available on the Windows platform.
New-FileCatalog
creates a Windows catalog file
for a set of folders and files. This catalog file contains hashes for all files in the provided
paths. Users can then distribute the catalog with their files so that users can validate whether any
changes have been made to the folders since catalog creation time.
Catalog versions 1 and 2 are supported. Version 1 uses the (deprecated) SHA1 hashing algorithm to create file hashes, and version 2 uses SHA256.
Examples
Example 1: Create a file catalog for `Microsoft.PowerShell.Utility`
$newFileCatalogSplat = @{
Path = "$PSHOME\Modules\Microsoft.PowerShell.Utility"
CatalogFilePath = '\temp\Microsoft.PowerShell.Utility.cat'
CatalogVersion = 2.0
}
New-FileCatalog @newFileCatalogSplat
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 11/2/2018 11:58 AM 950 Microsoft.PowerShell.Utility.cat
Parameters
-CatalogFilePath
The location and name of the catalog file (.cat
) you are creating. If you specify only a folder
path, the command creates a file named catalog.cat
in that location.
Parameter properties
Type: | String |
Default value: | None |
Supports wildcards: | False |
DontShow: | False |
Parameter sets
(All)
Position: | 0 |
Mandatory: | True |
Value from pipeline: | True |
Value from pipeline by property name: | True |
Value from remaining arguments: | False |
-CatalogVersion
Accepts 1.0
or 2.0
as possible values for specifying the catalog version. 1.0
should be
avoided whenever possible because it uses the insecure SHA-1 hash algorithm. Version 2.0
uses the
secure SHA-256 algorithm.
Parameter properties
Type: | Int32 |
Default value: | None |
Supports wildcards: | False |
DontShow: | False |
Parameter sets
(All)
Position: | Named |
Mandatory: | False |
Value from pipeline: | False |
Value from pipeline by property name: | False |
Value from remaining arguments: | False |
-Confirm
Prompts you for confirmation before running the cmdlet.
Parameter properties
Type: | SwitchParameter |
Default value: | False |
Supports wildcards: | False |
DontShow: | False |
Aliases: | cf |
Parameter sets
(All)
Position: | Named |
Mandatory: | False |
Value from pipeline: | False |
Value from pipeline by property name: | False |
Value from remaining arguments: | False |
-Path
Accepts a path or array of paths to files or folders that should be included in the catalog file. If a folder is specified, the command includes all files in the folder.
Parameter properties
Type: | String[] |
Default value: | None |
Supports wildcards: | False |
DontShow: | False |
Parameter sets
(All)
Position: | 1 |
Mandatory: | False |
Value from pipeline: | True |
Value from pipeline by property name: | True |
Value from remaining arguments: | False |
-WhatIf
Shows what would happen if the cmdlet runs. The cmdlet is not run.
Parameter properties
Type: | SwitchParameter |
Default value: | False |
Supports wildcards: | False |
DontShow: | False |
Aliases: | wi |
Parameter sets
(All)
Position: | Named |
Mandatory: | False |
Value from pipeline: | False |
Value from pipeline by property name: | False |
Value from remaining arguments: | False |
CommonParameters
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.
Inputs
String
You can pipe a string that's used as the catalog filename to this cmdlet.
Outputs
FileInfo
This cmdlet returns a FileInfo object representing the created catalog.
Notes
This cmdlet is only available on Windows platforms.