New-CMDetectionClauseDirectory

为文件系统目录创建检测方法子句。

语法

New-CMDetectionClauseDirectory
   -DirectoryName <String>
   -PropertyType <FileFolderProperty>
   -ExpectedValue <String[]>
   -ExpressionOperator <FileFolderRuleExpressionOperator>
   [-Is64Bit]
   -Path <String>
   [-Value]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [<CommonParameters>]
New-CMDetectionClauseDirectory
   -DirectoryName <String>
   [-Is64Bit]
   -Path <String>
   [-Existence]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [<CommonParameters>]

说明

使用此 cmdlet 在应用程序的检测方法中创建子句。 此子句是文件系统文件夹的规则,指示存在应用程序。

若要检测文件而不是文件夹,请使用 New-CMDetectionClauseFile cmdlet。

使用此 cmdlet 后,请对部署类型使用 Add-Set- cmdlet 之一。 将此检测子句对象传递给 AddDetectionClauseRemoveDetectionClause 参数。

若要对检测子句进行分组,请在部署类型 cmdlet 上使用 GroupDetectionClauses 参数。

注意

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

示例

示例 1:添加存在检测方法

此示例添加一个检测子句,该子句要求存在特定的产品 ID 和目录名称。

$app = Get-CMApplication -ApplicationName "CentralApp"
$guid = "9900a338-484b-4a18-884e-bce87654ce1b"
$clause1 = New-CMDetectionClauseWindowsInstaller -ProductCode $guid -Value -ExpressionOperator IsEquals -ExpectedValue "1.1.1.1"
$clause2 = New-CMDetectionClauseDirectory -DirectoryName "mymsi" -Path "C:\" -Existence

$app | Add-CMMsiDeploymentType -ContentLocation "\\myserver\mypath\mymsi.msi" -Force -AddDetectionClause ($clause1, $clause2)

示例 2:添加规则评估检测方法

此示例添加一个基于规则的检测子句,以检查文件夹在 2020 年 12 月 30 日之后是否已修改。

$clause1 = New-CMDetectionClauseDirectory -DirectoryName "AdminConsole" -Path "%ProgramFiles(x86)%\Microsoft Endpoint Manager" -Value -PropertyType DateCreated -ExpressionOperator GreaterThan -ExpectedValue "2020-11-30T08:00:00Z"

Set-CMScriptDeploymentType -ApplicationName "Configuration Manager console" -DeploymentTypeName "Install" -AddDetectionClause $clause1

参数

-DirectoryName

指定指示应用程序存在的文件夹的名称。 使用 Path 参数指定此文件夹的路径。

例如,Configuration Manager 控制台默认安装到 C:\Program Files (x86)\Microsoft Endpoint Manager\AdminConsole。 若要为此文件夹创建规则,请将此参数设置为 AdminConsole ,并将 Path 参数设置为 %ProgramFiles(x86)%\Microsoft Endpoint Manager

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

-DisableWildcardHandling

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

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

-Existence

添加此参数时,文件夹必须存在于目标系统上,以指示存在此应用程序。

若要评估此文件夹属性的规则,请使用 Value 参数,而不是仅存在。

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

-ExpectedValue

添加 Value 参数时,请将 ExpectedValuePropertyTypeExpressionOperator 配合使用。 使用这些参数时,文件夹必须满足规则以指示此应用程序的存在。 此 ExpectedValue 参数指定要与文件系统进行比较的值。

此子句的 PropertyType 参数仅接受文件夹的创建或修改日期,因此此值是具有有效日期时间的字符串。 例如,"2020-11-30T08:00:00Z"

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

-ExpressionOperator

添加 Value 参数时,将 ExpressionOperatorPropertyTypeExpectedValue 配合使用。 使用这些参数时,文件夹必须满足规则以指示此应用程序的存在。 此 ExpressionOperator 参数指定将文件系统值与预期值进行比较的运算符。

从版本 2010 开始,参数类型从 RuleExpressionOperator 更改为 FileFolderRuleExpressionOperator

类型:FileFolderRuleExpressionOperator
接受的值:IsEquals, NotEquals, GreaterThan, LessThan, Between, GreaterEquals, LessEquals, OneOf, NoneOf
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

指定文件系统中指示存在应用程序的文件夹的路径。 使用 DirectoryName 参数指定文件夹的名称。

例如,Configuration Manager 控制台默认安装到 C:\Program Files (x86)\Microsoft Endpoint Manager\AdminConsole。 若要为此文件夹创建规则,请将此参数设置为 %ProgramFiles(x86)%\Microsoft Endpoint Manager ,并将 DirectoryName 参数设置为 AdminConsole

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

-PropertyType

添加 Value 参数时,请将 PropertyTypeExpressionOperatorExpectedValue 配合使用。 使用这些参数时,文件夹必须满足规则以指示此应用程序的存在。 此 PropertyType 参数指定要计算的文件夹属性。

类型:FileFolderProperty
接受的值:DateCreated, DateModified
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-Value

添加 Value 参数时,文件夹必须满足规则以指示存在此应用程序。 将此参数与以下参数一起使用: ExpectedValueExpressionOperatorPropertyType

若要仅检查文件夹是否存在,请使用 Exists 参数,而不是评估规则。

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

输入

None

输出

System.Object