New-CMTSStepConditionFile

为任务序列步骤创建 文件属性 条件。

语法

New-CMTSStepConditionFile
   [-FileDateTimeOperator <VariableOperatorType>]
   -FilePath <String>
   [-FileTimestamp <DateTime>]
   [-FileVersion <String>]
   [-VersionOperator <VariableOperatorType>]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

说明

使用此 cmdlet 为任务序列步骤创建 文件属性 条件对象。 然后,将 New-CMTSStep*Set-CMTSStep* cmdlet 之一与 ConditionAddCondition 参数结合使用 。 例如 ,Set-CMTSStepApplyDataImage

有关详细信息,请参阅 使用任务序列编辑器:条件

可以使用此条件执行三种类型的检查:

  • 若要检查文件是否存在,请使用所需的 FilePath 参数。
  • 若要同时检查文件版本,请使用 FileVersionVersionOperator 参数。
  • 若要同时检查文件时间戳,请使用 FileTimestampFileDateTimeOperator 参数。

注意

从 Configuration Manager 站点驱动器运行 Configuration Manager cmdlet,例如 PS XYZ:\>。 有关详细信息,请参阅 入门

示例

示例 1

此示例检查其中一个 Configuration Manager PowerShell 模块帮助文件是否存在和时间戳。 它为文件创建文件条件对象,其时间戳大于 2021 年 8 月 2 日。

然后,它使用 Set-CMTSStepRunPowerShellScript cmdlet 将此条件对象添加到默认 OS 部署任务序列的“运行 PowerShell 脚本”步骤。

$file = "C:\Program Files (x86)\Microsoft Endpoint Manager\AdminConsole\bin\en-US\AdminUI.PS.dll-Help.xml"
$datetime = Get-Date ("August 2, 2021")

$condition = New-CMTSStepConditionFile -FilePath $file -FileTimestamp $datetime -FileDateTimeOperator Greater

$tsNameOsd = "Default OS deployment"
$tsStepNameRunPwsh = "Run PowerShell Script"

Set-CMTSStepRunPowerShellScript -TaskSequenceName $tsNameOsd -StepName $tsStepNameRunPwsh -AddCondition $condition

此示例脚本在步骤中创建以下条件:

File C:\Program Files (x86)\Microsoft Endpoint Manager\AdminConsole\bin\en-US\AdminUI.PS.dll-Help.xml exists and timestamp greater than "8/1/2021 16:00:00"

参数

-Confirm

提示你在运行 cmdlet 之前进行确认。

类型:SwitchParameter
别名:cf
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-DisableWildcardHandling

此参数将通配符视为文本字符值。 不能将其与 ForceWildcardHandling 组合使用。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-FileDateTimeOperator

使用 FileTimestamp 参数时,使用此参数指定任务序列的 运算符来评估文件的时间戳。

类型:VariableOperatorType
接受的值:Equals, NotEquals, Greater, GreaterEqual, Less, LessEqual
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-FilePath

指定完整路径,包括此条件的文件的名称。

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-FileTimestamp

若要计算文件的时间戳,请使用此参数指定 datetime 对象。 若要获取此对象,请使用内置的 Get-Date cmdlet。

然后使用 FileDateTimeOperator 参数设置计算运算符。

类型:DateTime
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-FileVersion

若要评估文件的版本,请使用此参数指定版本字符串。

然后使用 VersionOperator 参数设置计算运算符。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ForceWildcardHandling

此参数处理通配符,并可能导致意外行为, (不建议) 。 不能将其与 DisableWildcardHandling 组合使用。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-VersionOperator

使用 FileVersion 参数时,使用此参数指定任务序列的 运算符来评估文件的版本。

类型:VariableOperatorType
接受的值:Equals, NotEquals, Greater, GreaterEqual, Less, LessEqual
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-WhatIf

显示在 cmdlet 运行时发生的情况。 cmdlet 不会运行。

类型:SwitchParameter
别名:wi
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

输入

None

输出

IResultObject

备注

有关此返回对象及其属性的详细信息,请参阅 SMS_TaskSequence_FileConditionExpression服务器 WMI 类