New-FsrmFileManagementJob

New-FsrmFileManagementJob

Creates a file management job.

Syntax

Parameter Set: cim:CreateInstance0
New-FsrmFileManagementJob [-Name] <String> -Action <CimInstance> -Namespace <String[]> -Schedule <CimInstance> [-AsJob] [-CimSession <CimSession[]> ] [-Condition <CimInstance[]> ] [-Continuous] [-ContinuousLog] [-ContinuousLogSize <UInt64> ] [-Description <String> ] [-Disabled] [-MailTo <String> ] [-Notification <CimInstance[]> ] [-Parameters <String[]> ] [-ReportFormat <FmjReportFormatsEnum[]> ] [-ReportLog <FmjReportLogsEnum[]> ] [-ThrottleLimit <Int32> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Detailed Description

The New-FsrmFileManagementJob cmdlet creates a file management job on the server. The job specifies a schedule, conditions, a command or actions to run if a file meets all the conditions, user notifications, and reporting.

To use this cmdlet to create a file management job, you must pass in a FsrmScheduledTask object, a FsrmFmjAction object, and a FsrmFmjNotification object.

Parameters

-Action<CimInstance>

Specifies a FsrmFmjAction object. You can use the New-FsrmFmjAction cmdlet to create a FsrmFmjAction object.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-AsJob

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

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

Aliases

Session

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Condition<CimInstance[]>

Specifies a FsrmFmjCondition object. You can use the New-FsrmFmjCondition cmdlet to create a FsrmFmjCondition object.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-Continuous

Indicates that the server continuously applies classification to files in the background.

If you specify this parameter, you cannot specify any notifications and the conditions that you specify cannot include any objects where the classification property is set to the following values:
-- File.DateCreated
-- File.DateLastModified
-- File.DateLastAccessed

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-ContinuousLog

Indicates that the server maintains a log of continuous classification activities. You must specify the Continuous parameter to log classification activities.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-ContinuousLogSize<UInt64>

Specifies the maximum size of the log that contains continuous classification activity. You must specify the Continuous parameter to log classification activities.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-Description<String>

Specifies a description for the file management job.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-Disabled

Indicates that the file management job is disabled.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-MailTo<String>

Specifies a semicolon-separated list of email addresses to which the file server sends the email.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-Name<String>

Specifies a name for the file management job.

Aliases

none

Required?

true

Position?

2

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

true

-Namespace<String[]>

Specifies an array of namespaces that are part of the scope. Each value must be either a value of the FolderType property defined on the server (in the format "[Folder type property name=<value>]") or a static path.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-Notification<CimInstance[]>

Specifies a FsrmFmjNotificationAction object. You can use the New-FsrmFmjNotificationAction cmdlet to create a FsrmFmjNotificationAction object.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-Parameters<String[]>

Specifies an array of strings of the form <name>=<value>. The File Classification Infrastructure and other management tools use these parameters.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-ReportFormat<FmjReportFormatsEnum[]>

Specifies an array of report formats that the file management job produces. The acceptable values for this parameter are:
-- DHTML
-- HTML
-- XML
-- CSV
-- Text

Aliases

none

Required?

false

Position?

named

Default Value

{"DHTML", "XML"}

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-ReportLog<FmjReportLogsEnum[]>

Specifies an array of report types that the file management job generates. The acceptable values for this parameter are:
-- Information
-- Error
-- Audit

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-Schedule<CimInstance>

Specifies a File Server Resource Manager (FSRM) scheduled task object that describes the schedule for performing the continuous classification. Use the New-FsrmScheduledTask cmdlet to create a scheduled task object. Any duration information in the FSRM scheduled task object is ignored.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-ThrottleLimit<Int32>

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.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Confirm

Prompts you for confirmation before running the cmdlet.

Required?

false

Position?

named

Default Value

false

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-WhatIf

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

Required?

false

Position?

named

Default Value

false

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

<CommonParameters>

This cmdlet supports the common parameters: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, and -OutVariable. For more information, see    about_CommonParameters (https://go.microsoft.com/fwlink/p/?LinkID=113216).

Inputs

The input type is the type of the objects that you can pipe to the cmdlet.

Outputs

The output type is the type of the objects that the cmdlet emits.

  • Microsoft.Management.Infrastructure.CimInstance#MSFT_FSRMFileManagementJob

Examples

Example 1: Create a file management job that expires data

This example creates a file management job that expires all data in a namespace.

The first command gets a DateTime object and stores it in the variable $date.

PS C:\> $date = Get-Date "12:00am"

This second command returns a FsrmScheduledTask object that runs the task at midnight on the first day of the month. The command stores results in the $task variable.

PS C:\> $task = New-FsrmScheduledTask -Time $date.ToFileTimeUtc() -Monthly 1

The third command returns an action object for a management job and stores the results in the $action variable. The command specifies an expiration action and specifies a path that the action uses to expire files.

PS C:\> $action = New-FsrmFmjAction -Type Expiration -ExpirationFolder "C:\Expire"

The fourth command creates a file management job named "Expire all data" for the folder C:\Share01. The command specifies the schedule stored in the $task variable and specifies the action stored in the $action variable.

PS C:\> New-FsrmFileManagementJob -Name "Expire all data" -Namespace @("C:\Share01") -Schedule $task -Action $action

Example 2: Create a file management job that expires data continuously

This example creates a file management job that expires data in a namespace when the server runs the file management job and when a file is modified or classified.

The first command gets a DateTime object and stores it in the variable $date.

PS C:\> $date = Get-Date "12:00am"

This second command returns a FsrmScheduledTask object that runs the task at midnight on the first day of the month. The command stores results in the $task variable.

PS C:\> $task = New-FsrmScheduledTask -Time $date.ToFileTimeUtc() -Monthly 1

The third command returns an action object for a management job and stores the results in the $action variable. The command specifies an expiration action and specifies a path that the action uses to expire files.

PS C:\> $action = New-FsrmFmjAction -Type Expiration -ExpirationFolder "C:\Expire"

The fourth command creates a file management job named "Expire all data" for the folder C:\Share01. The command specifies the schedule stored in the $task variable, specifies the action stored in the $action variable, and specifies that the server continuously apply classification to files in the background.

PS C:\> New-FsrmFileManagementJob -Name "Expire all data" -Namespace @("C:\Share01") -Schedule $task -Action $action -Continuous

Example 3: Create a file management job that sends notifications

This example creates a file management job that expires data in a namespace and sends an email notice to the file owner and administrator 30 days before the server runs the file management job.

The first command gets a DateTime object and stores it in the variable $date.

PS C:\> $date = Get-Date "12:00am"

This second command returns a FsrmScheduledTask object that runs the task at midnight on the first day of the month. The command stores results in the $task variable.

PS C:\> $task = New-FsrmScheduledTask -Time $date.ToFileTimeUtc() -Monthly 1

The third command returns an action object for a management job and stores the results in the $action variable. The command specifies an expiration action and specifies a path that the action uses to expire files.

PS C:\> $action = New-FsrmFmjAction -Type Expiration -ExpirationFolder "C:\Expire"

The fourth command returns a notification action object that sends the specified email message to the administrator and file owner. The command specifies that the action can attach a maximum of 1000 files to the message. The command stores the results in the $notificationaction variable.

PS C:\> $notificationaction = New-FsrmFmjNotificationAction -Type Email -MailTo “[Admin Email];[File Owner]” -Subject “Warning: Files will expire soon” -Body “The attached list of files will expire in 30 days.” -AttachmentFileListSize 1000

The fifth command returns a notification object for a file management job that runs the notification action stored in the $notificationaction variable 30 days before the file management job acts. The command stores the results in the $notification variable.

PS C:\> $notification = New-FsrmFmjNotification –Days 30 -Action $notificationaction

The sixth command creates a file management job named "Expire all data" for the folder C:\Share01. The command specifies the schedule stored in the $task variable, specifies the action stored in the $action variable, and specifies the notification stored in the $notification variable.

PS C:\> New-FsrmFileManagementJob -Name "Expire all data" -Namespace @("C:\Share01") -Schedule $task -Action $action -Notification $notification

Example 4: Create a conditional file management job

This example creates a file management job that expires all files that have the PII property set to true.

The first command gets a DateTime object and stores it in the variable $date.

PS C:\> $date = Get-Date "12:00am"

This second command returns an FsrmScheduledTask object that runs the task at midnight on the first day of the month. The command stores results in the $task variable.

PS C:\> $task = New-FsrmScheduledTask -Time $date.ToFileTimeUtc() -Monthly 1

The third command returns an action object for a management job and stores the results in the $action variable. The command specifies an expiration action and specifies a path that the action uses to expire files.

PS C:\> $action = New-FsrmFmjAction -Type Expiration -ExpirationFolder "C:\Expire"

The fourth command returns a condition object for file management job that verifies that a file has a PII classification property set to true. The command stores the results in the $condition variable.

PS C:\> $condition = New-FsrmFmjCondition -Property "PII" -Condition Equal -Value "1"

The fifth command creates a file management job named "Expire all data" for the folder C:\Share01. The command specifies the schedule stored in the $task variable, specifies the action stored in the $action variable, and specifies the condition stored in the $condition variable.

PS C:\> New-FsrmFileManagementJob -Name "Expire all data" -Namespace @("C:\Share01") -Schedule $task -Action $action -Condition $condition

Get-FsrmFileManagementJob

Set-FsrmFileManagementJob

Remove-FsrmFileManagementJob

Start-FsrmFileManagementJob

Stop-FsrmFileManagementJob

Wait-FsrmFileManagementJob

New-FsrmFmjAction

New-FsrmFmjCondition

New-FsrmScheduledTask

New-FsrmFMJNotification

New-FsrmFmjNotificationAction