Share via


New-CMDetectionClauseFile

Crie uma cláusula de método de detecção para um arquivo.

Syntax

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

Use esse cmdlet para criar uma cláusula em um método de detecção em um aplicativo. Essa cláusula é uma regra para um arquivo que indica a presença de um aplicativo.

Para detectar uma pasta em vez de um arquivo, use o cmdlet New-CMDetectionClauseDirectory .

Depois de usar esse cmdlet, use um dos cmdlets Adicionar ou Definir para tipos de implantação. Passe esse objeto de cláusula de detecção para os parâmetros AddDetectionClause ou RemoveDetectionClause .

Para agrupar cláusulas de detecção, use o parâmetro GroupDetectionClauses nos cmdlets de tipo de implantação.

Observação

Execute Configuration Manager cmdlets da unidade do site Configuration Manager, por exemplo PS XYZ:\>. Para obter mais informações, confira introdução.

Exemplos

Exemplo 1: detectar um aplicativo por versão

Este exemplo detecta o aplicativo app.exe em uma pasta específica em que a versão é maior ou igual a 1.0.0.

$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

Exemplo 2: criar várias cláusulas para um tipo de implantação de aplicativo MSI

Este exemplo cria duas cláusulas de arquivo e uma cláusula de registro e usa-as para adicionar um tipo de implantação MSI a um aplicativo.

$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"}

Parâmetros

-DisableWildcardHandling

Esse parâmetro trata caracteres curinga como valores de caractere literal. Você não pode combiná-lo com ForceWildcardHandling.

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

-Existence

Quando você adiciona esse parâmetro, o arquivo deve existir no sistema de destino para indicar a presença desse aplicativo.

Em vez de apenas existir, para avaliar uma regra para propriedades deste arquivo, use o parâmetro Valor .

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

-ExpectedValue

Ao adicionar o parâmetro Valor , use ExpectedValue com PropertyType e ExpressionOperator. Quando você usa esses parâmetros, o arquivo deve atender à regra para indicar a presença deste aplicativo. Este parâmetro ExpectedValue especifica o valor a ser comparado com o sistema de arquivos.

O valor a ser comparado depende do PropertyType especificado.

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

-ExpressionOperator

Ao adicionar o parâmetro Valor , use ExpressionOperator com PropertyType e ExpectedValue. Quando você usa esses parâmetros, o arquivo deve atender à regra para indicar a presença deste aplicativo. Este parâmetro ExpressionOperator especifica o operador para comparar o valor do sistema de arquivos com o valor esperado.

A partir da versão 2010, o tipo de parâmetro mudou de RuleExpressionOperator para 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

-FileName

Especifique o nome do arquivo que indica a presença do aplicativo. Use o parâmetro Path para especificar o caminho para este arquivo.

Por exemplo, o console Configuration Manager é instalado por padrão para C:\Program Files (x86)\Microsoft Endpoint Manager\AdminConsole\bin\Microsoft.ConfigurationManagement.exe. Para criar uma regra para este arquivo, defina esse parâmetro como Microsoft.ConfigurationManagement.exe e o parâmetro Path como %ProgramFiles(x86)%\Microsoft Endpoint Manager\AdminConsole\bin.

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

-ForceWildcardHandling

Esse parâmetro processa caracteres curinga e pode levar a um comportamento inesperado (não recomendado). Você não pode combiná-lo com DisableWildcardHandling.

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

-Is64Bit

Adicione esse parâmetro para indicar que esse arquivo está associado a um aplicativo de 32 bits em sistemas de 64 bits.

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

-Path

Especifique o caminho no sistema de arquivos para o arquivo que indica a presença do aplicativo. Use o parâmetro FileName para especificar o nome do arquivo.

Por exemplo, o console Configuration Manager é instalado por padrão para C:\Program Files (x86)\Microsoft Endpoint Manager\AdminConsole\bin\Microsoft.ConfigurationManagement.exe. Para criar uma regra para este arquivo, defina esse parâmetro como %ProgramFiles(x86)%\Microsoft Endpoint Manager\AdminConsole\bin e o parâmetro FileName como Microsoft.ConfigurationManagement.exe.

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

-PropertyType

Ao adicionar o parâmetro Valor , use PropertyType com ExpressionOperator e ExpectedValue. Quando você usa esses parâmetros, o arquivo deve atender à regra para indicar a presença deste aplicativo. Este parâmetro PropertyType especifica a propriedade do arquivo a ser avaliada.

Por exemplo, você define esse parâmetro como Version, defina ExpressionOperator como IsEqualse ExpectedValue como 1.48.1.0. Em seguida, a regra verifica o arquivo especificado para ter a mesma versão do arquivo.

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

-Value

Quando você adiciona o parâmetro Valor , o arquivo deve atender à regra para indicar a presença deste aplicativo. Use esse parâmetro com os seguintes parâmetros: ExpectedValue, ExpressionOperator e PropertyType.

Em vez de avaliar uma regra, para apenas verificar se o arquivo existe, use o parâmetro Existence .

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

Entradas

None

Saídas

System.Object