Compartilhar via


New-CMDetectionClauseFile

Crie uma cláusula de método de deteção para um ficheiro.

Sintaxe

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

Utilize este cmdlet para criar uma cláusula num método de deteção numa aplicação. Esta cláusula é uma regra para um ficheiro que indica a presença de uma aplicação.

Para detetar uma pasta em vez de um ficheiro, utilize o cmdlet New-CMDetectionClauseDirectory .

Depois de utilizar este cmdlet, utilize um dos cmdlets Add- ou Set- para tipos de implementação. Transmita este objeto de cláusula de deteção para os parâmetros AddDetectionClause ou RemoveDetectionClause .

Para agrupar cláusulas de deteção, utilize o parâmetro GroupDetectionClauses nos cmdlets do tipo de implementação.

Observação

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

Exemplos

Exemplo 1: Detetar uma aplicação por versão

Este exemplo deteta a aplicaçãoapp.exe numa pasta específica onde 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 implementação de aplicação MSI

Este exemplo cria duas cláusulas de ficheiro e uma cláusula de registo e, em seguida, utiliza-as para adicionar um tipo de implementação MSI a uma aplicação.

$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

Este parâmetro trata os carateres universais como valores de carateres literais. Não pode combiná-lo com ForceWildcardHandling.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Existence

Quando adiciona este parâmetro, o ficheiro tem de existir no sistema de destino para indicar a presença desta aplicação.

Em vez de existir apenas, para avaliar uma regra relativamente às propriedades deste ficheiro, utilize o parâmetro Value .

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-ExpectedValue

Quando adicionar o parâmetro Value , utilize ExpectedValue com PropertyType e ExpressionOperator. Quando utiliza estes parâmetros, o ficheiro tem de satisfazer a regra para indicar a presença desta aplicação. Este parâmetro ExpectedValue especifica o valor a comparar com o sistema de ficheiros.

O valor a comparar depende do PropertyType especificado.

Tipo:String[]
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-ExpressionOperator

Quando adicionar o parâmetro Value , utilize ExpressionOperator com PropertyType e ExpectedValue. Quando utiliza estes parâmetros, o ficheiro tem de satisfazer a regra para indicar a presença desta aplicação. Este parâmetro ExpressionOperator especifica o operador para comparar o valor do sistema de ficheiros com o valor esperado.

A partir da versão 2010, o tipo de parâmetro mudou de RuleExpressionOperator para FileFolderRuleExpressionOperator.

Tipo:FileFolderRuleExpressionOperator
Valores aceitos:IsEquals, NotEquals, GreaterThan, LessThan, Between, GreaterEquals, LessEquals, OneOf, NoneOf
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-FileName

Especifique o nome do ficheiro que indica a presença da aplicação. Utilize o parâmetro Path para especificar o caminho para este ficheiro.

Por exemplo, a consola do Configuration Manager é instalada por predefinição para C:\Program Files (x86)\Microsoft Endpoint Manager\AdminConsole\bin\Microsoft.ConfigurationManagement.exe. Para criar uma regra para este ficheiro, defina este parâmetro como Microsoft.ConfigurationManagement.exe e o parâmetro Path como %ProgramFiles(x86)%\Microsoft Endpoint Manager\AdminConsole\bin.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-ForceWildcardHandling

Este parâmetro processa carateres universais e pode levar a um comportamento inesperado (não recomendado). Não pode combiná-lo com DisableWildcardHandling.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Is64Bit

Adicione este parâmetro para indicar que este ficheiro está associado a uma aplicação de 32 bits em sistemas de 64 bits.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Path

Especifique o caminho no sistema de ficheiros para o ficheiro que indica a presença da aplicação. Utilize o parâmetro FileName para especificar o nome do ficheiro.

Por exemplo, a consola do Configuration Manager é instalada por predefinição para C:\Program Files (x86)\Microsoft Endpoint Manager\AdminConsole\bin\Microsoft.ConfigurationManagement.exe. Para criar uma regra para este ficheiro, defina este parâmetro como %ProgramFiles(x86)%\Microsoft Endpoint Manager\AdminConsole\bin e o parâmetro FileName como Microsoft.ConfigurationManagement.exe.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-PropertyType

Quando adicionar o parâmetro Value , utilize PropertyType com ExpressionOperator e ExpectedValue. Quando utiliza estes parâmetros, o ficheiro tem de satisfazer a regra para indicar a presença desta aplicação. Este parâmetro PropertyType especifica a propriedade do ficheiro a avaliar.

Por exemplo, defina este parâmetro como Version, defina ExpressionOperator como IsEqualse ExpectedValue como 1.48.1.0. Em seguida, a regra verifica se o ficheiro especificado tem a mesma versão de ficheiro.

Tipo:FileFolderProperty
Valores aceitos:DateCreated, DateModified, Version, Size
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Value

Quando adiciona o parâmetro Value , o ficheiro tem de satisfazer a regra para indicar a presença desta aplicação. Utilize este parâmetro com os seguintes parâmetros: ExpectedValue, ExpressionOperator e PropertyType.

Em vez de avaliar uma regra, para verificar se o ficheiro existe, utilize o parâmetro Existência .

Tipo:SwitchParameter
Aliases:ValueRule
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

Entradas

None

Saídas

System.Object