Set-FileIntegrity

Sets integrity for a file on an ReFS volume.

Syntax

Set-FileIntegrity
   [-FileName] <String>
   [[-Enable] <Boolean>]
   [-Enforce <Boolean>]
   [-CimSession <CimSession[]>]
   [-ThrottleLimit <Int32>]
   [-AsJob]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

The Set-FileIntegrity cmdlet sets integrity for a file on a Resilient File System (ReFS) volume. You can enable or disable integrity.

Examples

Example 1: Enable integrity

PS C:\>Set-FileIntegrity -FileName 'H:\Temp\New Text Document.txt' -Enable $True
PS C:\> Get-FileIntegrity 'H:\Temp\New Text Document.txt'
FileName                                Enabled                              Enforced

--------                                -------                              --------

H:\Temp\New Text Document.txt           True                                 True

The first command enables integrity for a file by specifying the Enable parameter.

The second command uses the Get-FileIntegrity cmdlet to display the file integrity settings for the specified file.

Example 2: Enable integrity for multiple files by using the pipeline

PS C:\>Get-Item -Path 'H:\Temp\*' | Set-FileIntegrity -Enable $True
PS C:\> Get-Item -Path 'H:\Temp\*' | Get-FileIntegrity
FileName                                Enabled                              Enforced

--------                                -------                              --------

H:\Temp\New Text Document 07 21         True                                 True

H:\Temp\New Text Document 08 19         True                                 True

H:\Temp\New Text Document 08 22         True                                 True

H:\Temp\New Text Document 09 07         True                                 True

The first command uses the Get-Item cmdlet to get all the files in the specified folder, and then passes them to the current cmdlet by using the pipeline operator. For more information, type Get-Help Get-Item. The command enables integrity for each file in the directory.

The second command uses Get-Item to get all the files in the specified folder, and then passes them to the Get-FileIntegrity by using the pipeline operator. The command displays the file integrity setting for all the files in the folder.

Parameters

-AsJob

Runs the cmdlet as a background job. Use this parameter to run commands that take a long time to complete.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

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

Type:CimSession[]
Aliases:Session
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Prompts you for confirmation before running the cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Enable

Indicates whether to enable integrity for the file.

Type:Boolean
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Enforce

Indicates whether to enable blocking access to a file if integrity streams indicate data corruption.

If you specify a value of $True for this parameter, the cmdlet also enables integrity for the file.

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FileName

Specifies a file name. The cmdlet modifies integrity for the file that you specify.

Type:String
Aliases:FullName
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

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

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Inputs

FileInfo

To obtain a FileInfo object, use the Get-Item cmdlet for a specified file name. The cmdlet uses the FullName property as the value of the FileName parameter.

DirectoryInfo

To obtain a DirectoryInfo object, use Get-Item for a specified directory name. The cmdlet uses the FullName property as the value of the FileName parameter.

Outputs

None

Notes

  • When used in Failover Cluster, cmdlets from the Storage module operate on cluster level (all servers in the cluster).