Share via


New-CMDetectionClauseDirectory

Crie uma cláusula de método de detecção para um diretório do sistema de arquivos.

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

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

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

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: Adicionar um método de detecção de existência

Este exemplo adiciona uma cláusula de detecção que exige a existência de uma ID de produto e um nome de diretório específicos.

$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)

Exemplo 2: Adicionar um método de detecção de avaliação de regra

Este exemplo adiciona uma cláusula de detecção baseada em regra para verificar se a pasta foi modificada após 30/12/2020.

$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

Parâmetros

-DirectoryName

Especifique o nome da pasta que indica a presença do aplicativo. Use o parâmetro Caminho para especificar o caminho para esta pasta.

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

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

-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, a pasta deve existir no sistema de destino para indicar a presença desse aplicativo.

Em vez de apenas existir, para avaliar uma regra para propriedades dessa pasta, 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, a pasta 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 parâmetro PropertyType para essa cláusula aceita apenas a data em que a pasta foi criada ou modificada, portanto, esse valor é uma cadeia de caracteres com um datetime válido. Por exemplo, "2020-11-30T08:00:00Z".

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, a pasta 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

-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 essa pasta está associada 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 a pasta que indica a presença do aplicativo. Use o parâmetro DirectoryName para especificar o nome da pasta.

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

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, a pasta deve atender à regra para indicar a presença deste aplicativo. Este parâmetro PropertyType especifica a propriedade da pasta a ser avaliada.

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

-Value

Quando você adiciona o parâmetro Valor , a pasta 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 verificar se a pasta 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