Share via


New-CMDetectionClauseDirectory

建立檔案系統目錄的偵測方法子句。

Syntax

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>]

Description

使用此 Cmdlet 在應用程式的偵測方法中建立 子句。 這個子句是檔系統資料夾的規則,指出應用程式是否存在。

若要偵測檔案而非資料夾,請使用 New-CMDetectionClauseFile Cmdlet。

使用此 Cmdlet 之後,請針對部署類型使用其中一個 Add-Set- Cmdlet。 將此偵測子句物件傳遞至 AddDetectionClauseRemoveDetectionClause 參數。

若要將偵測子句分組,請在部署類型 Cmdlet 上使用 GroupDetectionClauses 參數。

注意事項

從Configuration Manager月臺磁片磁碟機執行 Configuration Manager Cmdlet,例如 PS XYZ:\> 。 如需詳細資訊,請 參閱開始使用

範例

範例 1:新增存在偵測方法

此範例會新增需要特定產品識別碼和目錄名稱的偵測子句。

$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

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-DisableWildcardHandling

此參數會將萬用字元視為常值字元值。 您無法將其與 ForceWildcardHandling結合。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Existence

當您新增此參數時,該資料夾必須存在於目標系統上,以指出此應用程式是否存在。

若要評估此資料夾屬性的規則,請使用 Value 參數,而不只是存在。

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ExpectedValue

當您新增 Value 參數時,請使用 ExpectedValue 搭配 PropertyTypeExpressionOperator。 當您使用這些參數時,資料夾必須滿足規則,以指出此應用程式是否存在。 這個 ExpectedValue 參數會指定要與檔案系統比較的值。

這個子句的 PropertyType 參數只接受建立或修改資料夾的日期,因此這個值是具有有效日期時間的字串。 例如,"2020-11-30T08:00:00Z"

Type:String[]
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ExpressionOperator

當您新增Value參數時,請搭配PropertyTypeExpectedValue使用ExpressionOperator。 當您使用這些參數時,資料夾必須滿足規則,以指出此應用程式是否存在。 這個 ExpressionOperator 參數會指定比較檔案系統值與預期值的運算子。

從 2010 版開始,參數類型從 RuleExpressionOperator 變更為 FileFolderRuleExpressionOperator

Type:FileFolderRuleExpressionOperator
Accepted values:IsEquals, NotEquals, GreaterThan, LessThan, Between, GreaterEquals, LessEquals, OneOf, NoneOf
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ForceWildcardHandling

此參數會處理萬用字元,並可能導致非預期的行為 (不建議) 。 您無法將其與 DisableWildcardHandling結合。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Is64Bit

新增此參數,表示此資料夾與 64 位系統上的 32 位應用程式相關聯。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

指定檔案系統中指出應用程式存在的資料夾路徑。 使用 DirectoryName 參數來指定資料夾的名稱。

例如,Configuration Manager主控台預設會安裝為 C:\Program Files (x86)\Microsoft Endpoint Manager\AdminConsole 。 若要建立此資料夾的規則,請將此參數 %ProgramFiles(x86)%\Microsoft Endpoint Manager 設定為 ,並將 DirectoryName 參數設定為 AdminConsole

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-PropertyType

當您新增Value參數時,請搭配ExpressionOperatorExpectedValue使用PropertyType。 當您使用這些參數時,資料夾必須滿足規則,以指出此應用程式是否存在。 這個 PropertyType 參數會指定要評估的資料夾屬性。

Type:FileFolderProperty
Accepted values:DateCreated, DateModified
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Value

當您新增 Value 參數時,資料夾必須滿足規則,以指出此應用程式是否存在。 使用此參數搭配下列參數: ExpectedValueExpressionOperatorPropertyType

若只要檢查資料夾是否存在,請使用 Existence 參數,而不是評估規則。

Type:SwitchParameter
Aliases:ValueRule
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

輸入

None

輸出

System.Object