New-CMDetectionClauseFile  
为文件创建检测方法子句。
语法
New-CMDetectionClauseFile
   -FileName <String>
   -PropertyType <FileFolderProperty>
   -ExpectedValue <String[]>
   -ExpressionOperator <FileFolderRuleExpressionOperator>
   [-Is64Bit]
   -Path <String>
   [-Value]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [<CommonParameters>]  New-CMDetectionClauseFile
   -FileName <String>
   [-Is64Bit]
   -Path <String>
   [-Existence]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [<CommonParameters>]  说明
使用此 cmdlet 在应用程序的检测方法中创建子句。 此子句是指示存在应用程序的文件的规则。
若要检测文件夹而不是文件,请使用 New-CMDetectionClauseDirectory cmdlet。
使用此 cmdlet 后,请对部署类型使用 Add- 或 Set- cmdlet 之一。 将此检测子句对象传递给 AddDetectionClause 或 RemoveDetectionClause 参数。
若要对检测子句进行分组,请在部署类型 cmdlet 上使用 GroupDetectionClauses 参数。
注意
从 Configuration Manager 站点驱动器运行 Configuration Manager cmdlet,例如 PS XYZ:\>。 有关详细信息,请参阅 入门。
示例
示例 1:按版本检测应用程序
此示例检测版本大于或等于 1.0.0的特定文件夹中的应用程序 app.exe。
$clause = New-CMDetectionClauseFile -Path "C:\Program Files\Application" -FileName App.exe -Value -PropertyType Version -ExpressionOperator GreaterEquals -ExpectedValue "1.0.0"
Set-CMScriptDeploymentType -ApplicationName "CentralApp" -DeploymentTypeName "Scripted install" -AddDetectionClause $clause示例 2:为 MSI 应用部署类型创建多个子句
此示例创建两个文件子句和一个注册表子句,然后使用它们向应用添加 MSI 部署类型。
$cla1=New-CMDetectionClauseFile -FileName "filetest" -PropertyType Size -ExpectedValue 123 -ExpressionOperator IsEquals -Path "C:\" -Value -Is64Bit
$cla2=New-CMDetectionClauseFile -FileName "foldertest" -PropertyType DateCreated -ExpectedValue (Get-Date) -ExpressionOperator LessThan -Path "C:\" -Value
$cla3=New-CMDetectionClauseRegistryKey -Hive ClassesRoot -KeyName "aaa"
$logic1=$cla1.Setting.LogicalName
$logic2=$cla2.Setting.LogicalName
$logic3=$cla3.Setting.LogicalName
Add-CMMsiDeploymentType -AddDetectionClause $cla1,$cla2,$cla3 -ApplicationName "app" -DeploymentTypeName "dt" -InstallCommand "mycommand" -ContentLocation "\\server\sources\Orca.msi" -GroupDetectionClauses $logic1,$logic2 -DetectionClauseConnector {LogicalName=$logic2;Connector="or"},{LogicalName=$logic3;Connector="or"}参数
-DisableWildcardHandling
此参数将通配符视为文本字符值。 不能将其与 ForceWildcardHandling 组合使用。
| 类型: | SwitchParameter | 
| Position: | Named | 
| 默认值: | None | 
| 必需: | False | 
| 接受管道输入: | False | 
| 接受通配符: | False | 
-Existence
添加此参数时,文件必须存在于目标系统上,以指示存在此应用程序。
若要评估此文件属性的规则,请使用 Value 参数,而不是仅存在。
| 类型: | SwitchParameter | 
| Position: | Named | 
| 默认值: | None | 
| 必需: | True | 
| 接受管道输入: | False | 
| 接受通配符: | False | 
-ExpectedValue
添加 Value 参数时,请将 ExpectedValue 与 PropertyType 和 ExpressionOperator 配合使用。 使用这些参数时,文件必须满足规则以指示此应用程序是否存在。 此 ExpectedValue 参数指定要与文件系统进行比较的值。
要比较的值取决于指定的 PropertyType。
| 类型: | String[] | 
| Position: | Named | 
| 默认值: | None | 
| 必需: | True | 
| 接受管道输入: | False | 
| 接受通配符: | False | 
-ExpressionOperator
添加 Value 参数时,将 ExpressionOperator 与 PropertyType 和 ExpectedValue 配合使用。 使用这些参数时,文件必须满足规则以指示此应用程序是否存在。 此 ExpressionOperator 参数指定将文件系统值与预期值进行比较的运算符。
从版本 2010 开始,参数类型从 RuleExpressionOperator 更改为 FileFolderRuleExpressionOperator。
| 类型: | FileFolderRuleExpressionOperator | 
| 接受的值: | IsEquals, NotEquals, GreaterThan, LessThan, Between, GreaterEquals, LessEquals, OneOf, NoneOf | 
| Position: | Named | 
| 默认值: | None | 
| 必需: | True | 
| 接受管道输入: | False | 
| 接受通配符: | False | 
-FileName
指定指示应用程序存在的文件的名称。 使用 Path 参数指定此文件的路径。
例如,Configuration Manager 控制台默认安装到 C:\Program Files (x86)\Microsoft Endpoint Manager\AdminConsole\bin\Microsoft.ConfigurationManagement.exe。 若要为此文件创建规则,请将此参数 Microsoft.ConfigurationManagement.exe 设置为 ,并将 Path 参数设置为 %ProgramFiles(x86)%\Microsoft Endpoint Manager\AdminConsole\bin。
| 类型: | String | 
| Position: | Named | 
| 默认值: | None | 
| 必需: | True | 
| 接受管道输入: | False | 
| 接受通配符: | False | 
-ForceWildcardHandling
此参数处理通配符,并可能导致意外行为, (不建议) 。 不能将其与 DisableWildcardHandling 组合使用。
| 类型: | SwitchParameter | 
| Position: | Named | 
| 默认值: | None | 
| 必需: | False | 
| 接受管道输入: | False | 
| 接受通配符: | False | 
-Is64Bit
添加此参数以指示此文件与 64 位系统上的 32 位应用程序相关联。
| 类型: | SwitchParameter | 
| Position: | Named | 
| 默认值: | None | 
| 必需: | False | 
| 接受管道输入: | False | 
| 接受通配符: | False | 
-Path
指定文件系统中指示存在应用程序的文件的路径。 使用 FileName 参数指定文件的名称。
例如,Configuration Manager 控制台默认安装到 C:\Program Files (x86)\Microsoft Endpoint Manager\AdminConsole\bin\Microsoft.ConfigurationManagement.exe。 若要为此文件创建规则,请将此参数设置为 %ProgramFiles(x86)%\Microsoft Endpoint Manager\AdminConsole\bin ,并将 FileName 参数设置为 Microsoft.ConfigurationManagement.exe。
| 类型: | String | 
| Position: | Named | 
| 默认值: | None | 
| 必需: | True | 
| 接受管道输入: | False | 
| 接受通配符: | False | 
-PropertyType
添加 Value 参数时,请将 PropertyType 与 ExpressionOperator 和 ExpectedValue 配合使用。 使用这些参数时,文件必须满足规则以指示此应用程序是否存在。 此 PropertyType 参数指定要计算的文件属性。
例如,将此参数设置为 Version,将 ExpressionOperator 设置为 IsEquals, 并将 ExpectedValue 设置为 1.48.1.0。 然后,该规则将检查指定的文件是否具有相同的文件版本。
| 类型: | FileFolderProperty | 
| 接受的值: | DateCreated, DateModified, Version, Size | 
| Position: | Named | 
| 默认值: | None | 
| 必需: | True | 
| 接受管道输入: | False | 
| 接受通配符: | False | 
-Value
添加 Value 参数时,文件必须满足规则以指示存在此应用程序。 将此参数与以下参数一起使用: ExpectedValue、 ExpressionOperator 和 PropertyType。
若要仅检查文件是否存在,请使用 Exists 参数,而不是评估规则。
| 类型: | SwitchParameter | 
| 别名: | ValueRule | 
| Position: | Named | 
| 默认值: | None | 
| 必需: | True | 
| 接受管道输入: | False | 
| 接受通配符: | False | 
输入
None
输出
System.Object