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