Microsoft BranchCache reference: Generates hashes for files in shared folders. The syntax and selected example below are adapted from the pinned Windows Server 2025 reference. Module availability, target configuration and delegated permissions determine whether it can run in your environment. Documentation and parameter text: Microsoft, CC BY 4.0; formatting adapted by Cmdlet World. No execution testing is claimed.
Use an account with the target resource permissions documented for Publish-BCFileContent. Modifying administrative cmdlets may require elevation or delegated administration. This catalog does not assert that ordinary users can execute the command.
Supported environments
Windows / BranchCache · Windows Server 2025 documentation; feature/module prerequisites apply
Parameters
-AsJob
Runs the cmdlet as a background job. Use this parameter to run commands that take a long time to complete. The cmdlet immediately returns an object that represents the job and then displays the command prompt. You can continue to work in the session while the job completes. To manage the job, use the *-Job cmdlets. To get the job results, use the Receive-Job cmdlet. For more information about Windows PowerShell background jobs, see about_Jobs.
-CimSession
Runs the cmdlet in a remote session or on a remote computer. Enter a computer name or a session object, such as the output of a New-CimSession or Get-CimSession cmdlet. The default is the current session on the local computer.
-Confirm
Prompts you for confirmation before running the cmdlet.
-Force
Forces the command to run without asking for user confirmation.
-Path (required)
Specifies the file path or the path of a folder that contains files that this cmdlet hashes.
-Recurse
Indicates that hashes are created for content in subfolders. If you do not specify this parameter, this cmdlet creates hashes only for content in the top folder.
-ReferenceFile
Specifies a reference file from a previous run. A reference file contains a list of identifiers that describe the data in a data package. If you specify a reference file, this cmdlet excludes all data described in that file from the output. You can use a reference files to create data packages that only contain the changes from the previous time a data package was created.
-StageData
Indicates that this cmdlet saves data to a staging area for future export using the Export-BCCachePackage cmdlet. If you do not specify this parameter, hashes are generated for data, but the data is not prepared for export.
-StagingPath
Specifies a temporary folder to which this cmdlet saves the staging data. If you do not specify a location, this cmdlet uses a default location on the local hard disk. Use this parameter if a large data package is being created that must be housed on a separate hard disk.
-ThrottleLimit
Specifies the maximum number of concurrent operations that can be established to run the cmdlet. If this parameter is omitted or a value of 0 is entered, then Windows PowerShell® calculates an optimum throttle limit for the cmdlet based on the number of CIM cmdlets that are running on the computer. The throttle limit applies only to the current cmdlet, not to the session or to the computer.
-UseVersion
Specifies the version of the BranchCache hashing scheme to use. If the version specified is 1, content information is generated according to the scheme used by Windows 7 clients. If version specified is 2, content information is generated according to the more efficient hashing scheme used by client computers that run operating systems later than Windows® 7.
-WhatIf
Shows what would happen if the cmdlet runs. The cmdlet is not run.
Prerequisites
Windows with the BranchCache module and the Windows feature or management tools that provide it. Confirm target connectivity and version compatibility using the linked Microsoft reference.
Security considerations
This cmdlet changes system state. Review every target and parameter in the official reference, test outside production, and prepare an appropriate backup or rollback. Do not execute the example automatically.
Examples
Example 1: Hash the contents of a folder for export
Publish-BCFileContent -Path "D:\share" -StageData
This command hashes the contents of D:\share and adds the data to a cache package that can later be exported and sent to a remote hosted cache server. Source: Microsoft, CC BY 4.0; transcript prompt/output removed. This example was not executed.