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>]
Description
使用此 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 參數時,請搭配 PropertyType 和 ExpectedValue 使用 ExpressionOperator。 當您使用這些參數時,檔案必須滿足規則,以指出此應用程式是否存在。 這個 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 參數時,請搭配 ExpressionOperator 和 ExpectedValue 使用 PropertyType。 當您使用這些參數時,檔案必須滿足規則,以指出此應用程式是否存在。 這個 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。
若只要檢查檔案是否存在,請使用 Existence 參數,而不是評估規則。
類型: | SwitchParameter |
別名: | ValueRule |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | False |
接受萬用字元: | False |
輸入
None
輸出
System.Object