# New-RubrikFilesetTemplate

## SYNOPSIS

Creates a new fileset template.

## SYNTAX

### OSType

```
New-RubrikFilesetTemplate [-Name <String>] [-AllowBackupNetworkMounts]
 [-AllowBackupHiddenFoldersInNetworkMounts] [-UseWindowsVSS] [-Includes <String[]>] [-Excludes <String[]>]
 [-Exceptions <String[]>] [-OperatingSystemType <String>] [-PreBackupScript <String>]
 [-PostBackupScript <String>] [-BackupScriptTimeout <Int32>] [-BackupScriptErrorHandling <String>]
 [-Server <String>] [-api <String>] [-WhatIf] [-Confirm] [<CommonParameters>]
```

### ShareType

```
New-RubrikFilesetTemplate [-Name <String>] [-AllowBackupNetworkMounts]
 [-AllowBackupHiddenFoldersInNetworkMounts] [-UseWindowsVSS] [-Includes <String[]>] [-Excludes <String[]>]
 [-Exceptions <String[]>] [-ShareType <String>] [-PreBackupScript <String>] [-PostBackupScript <String>]
 [-BackupScriptTimeout <Int32>] [-BackupScriptErrorHandling <String>] [-Server <String>] [-api <String>]
 [-WhatIf] [-Confirm] [<CommonParameters>]
```

## DESCRIPTION

Create a new fileset template for Linux hosts, Windows hosts, and NAS shares. This must be done before creating a new fileset, as filesets are defined by the templates. Once a Fileset Template has been created, the New-RubrikFileset can be used to assign the Fileset Template to a host. Finally, the Protect-RubrikFileset is utilized to assign an SLA Domain to the Fileset created. Some caveats that are defined by the Rubrik GUI but not applied here:

* If creating a Windows Fileset Template, you should declare UseWindowsVSS equal to true
* If you define a pre or post backup script, you need to define error handling
* If you define a pre or post backup script, you should definte the backup script timeout value to 14400

## EXAMPLES

### EXAMPLE 1

```
New-RubrikFilesetTemplate -Name 'FOO' -UseWindowsVSS -OperatingSystemType 'Windows' -Includes 'C:\*.mp3','C:\*.csv'
```

Create a Windows Fileset Template to backup .mp3 and .csv on the C:.

### EXAMPLE 2

```
New-RubrikFilesetTemplate -Name 'BAR' -ShareType 'SMB' -Includes '*' -Excludes '*.pdf'
```

Create a new NAS FilesetTemplate named BAR to backup a NAS SMB share, backing up everything byt excluding all .pdf files.

## PARAMETERS

### -Name

Name of fileset template

```yaml
Type: String
Parameter Sets: (All)
Aliases:

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

### -AllowBackupNetworkMounts

Boolean - Allow Backup Network Mounts

```yaml
Type: SwitchParameter
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
```

### -AllowBackupHiddenFoldersInNetworkMounts

Boolean - Allow Backup Hidden Folders in Network Mounts

```yaml
Type: SwitchParameter
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
```

### -UseWindowsVSS

Enable Windows VSS

```yaml
Type: SwitchParameter
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
```

### -Includes

Include naming patterns

```yaml
Type: String[]
Parameter Sets: (All)
Aliases:

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

### -Excludes

Exclude naming patterns

```yaml
Type: String[]
Parameter Sets: (All)
Aliases:

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

### -Exceptions

Exceptions for exclude naming patterns

```yaml
Type: String[]
Parameter Sets: (All)
Aliases:

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

### -OperatingSystemType

Operating System Type

```yaml
Type: String
Parameter Sets: OSType
Aliases:

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

### -ShareType

Share Type

```yaml
Type: String
Parameter Sets: ShareType
Aliases:

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

### -PreBackupScript

Path to pre-backup script

```yaml
Type: String
Parameter Sets: (All)
Aliases:

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

### -PostBackupScript

Path to post-backup script

```yaml
Type: String
Parameter Sets: (All)
Aliases:

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

### -BackupScriptTimeout

Backup script timeout

```yaml
Type: Int32
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: 0
Accept pipeline input: False
Accept wildcard characters: False
```

### -BackupScriptErrorHandling

Error handling for backup script

```yaml
Type: String
Parameter Sets: (All)
Aliases:

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

### -Server

Rubrik server IP or FQDN

```yaml
Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: $global:RubrikConnection.server
Accept pipeline input: False
Accept wildcard characters: False
```

### -api

API version

```yaml
Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: $global:RubrikConnection.api
Accept pipeline input: False
Accept wildcard characters: False
```

### -WhatIf

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

```yaml
Type: SwitchParameter
Parameter Sets: (All)
Aliases: wi

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

### -Confirm

Prompts you for confirmation before running the cmdlet.

```yaml
Type: SwitchParameter
Parameter Sets: (All)
Aliases: cf

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

### CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about\_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216).

## INPUTS

## OUTPUTS

## NOTES

Written by Mike Fal Twitter: @Mike\_Fal GitHub: MikeFal

## RELATED LINKS

<https://rubrik.gitbook.io/rubrik-sdk-for-powershell/command-documentation/reference/new-rubrikfilesettemplate>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://rubrik.gitbook.io/rubrik-sdk-for-powershell/command-documentation/reference/new-rubrikfilesettemplate.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
