Partager via


New-CMDetectionClauseDirectory

Créez une clause de méthode de détection pour un répertoire de système de fichiers.

Syntaxe

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

Utilisez cette applet de commande pour créer une clause dans une méthode de détection sur une application. Cette clause est une règle pour un dossier de système de fichiers qui indique la présence d’une application.

Pour détecter un fichier au lieu d’un dossier, utilisez l’applet de commande New-CMDetectionClauseFile .

Après avoir utilisé cette applet de commande, utilisez l’une des applets de commande Add- ou Set- pour les types de déploiement. Transmettez cet objet de clause de détection aux paramètres AddDetectionClause ou RemoveDetectionClause .

Pour regrouper les clauses de détection, utilisez le paramètre GroupDetectionClauses sur les applets de commande de type de déploiement.

Remarque

Exécutez Configuration Manager applets de commande à partir du lecteur de site Configuration Manager, par exemple PS XYZ:\>. Pour plus d’informations, consultez Prise en main.

Exemples

Exemple 1 : Ajouter une méthode de détection d’existence

Cet exemple ajoute une clause de détection qui nécessite l’existence d’un ID de produit et d’un nom de répertoire spécifiques.

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

Exemple 2 : Ajouter une méthode de détection d’évaluation de règle

Cet exemple ajoute une clause de détection basée sur des règles pour vérifier que le dossier a été modifié après le 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

Paramètres

-DirectoryName

Spécifiez le nom du dossier qui indique la présence de l’application. Utilisez le paramètre Path pour spécifier le chemin d’accès à ce dossier.

Par exemple, la console Configuration Manager s’installe par défaut sur C:\Program Files (x86)\Microsoft Endpoint Manager\AdminConsole. Pour créer une règle pour ce dossier, définissez ce paramètre sur AdminConsole et le paramètre Path sur %ProgramFiles(x86)%\Microsoft Endpoint Manager.

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-DisableWildcardHandling

Ce paramètre traite les caractères génériques comme des valeurs de caractère littéral. Vous ne pouvez pas la combiner avec ForceWildcardHandling.

Type:SwitchParameter
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Existence

Lorsque vous ajoutez ce paramètre, le dossier doit exister sur le système cible pour indiquer la présence de cette application.

Au lieu de simplement exister, pour évaluer une règle pour les propriétés de ce dossier, utilisez le paramètre Value .

Type:SwitchParameter
Position:Named
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-ExpectedValue

Lorsque vous ajoutez le paramètre Value , utilisez ExpectedValue avec PropertyType et ExpressionOperator. Lorsque vous utilisez ces paramètres, le dossier doit satisfaire à la règle pour indiquer la présence de cette application. Ce paramètre ExpectedValue spécifie la valeur à comparer au système de fichiers.

Le paramètre PropertyType de cette clause accepte uniquement la date de création ou de modification du dossier. Cette valeur est donc une chaîne avec un datetime valide. Par exemple : "2020-11-30T08:00:00Z".

Type:String[]
Position:Named
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-ExpressionOperator

Lorsque vous ajoutez le paramètre Value , utilisez ExpressionOperator avec PropertyType et ExpectedValue. Lorsque vous utilisez ces paramètres, le dossier doit satisfaire à la règle pour indiquer la présence de cette application. Ce paramètre ExpressionOperator spécifie l’opérateur pour comparer la valeur du système de fichiers à la valeur attendue.

À compter de la version 2010, le type de paramètre est passé de RuleExpressionOperator à FileFolderRuleExpressionOperator.

Type:FileFolderRuleExpressionOperator
Valeurs acceptées:IsEquals, NotEquals, GreaterThan, LessThan, Between, GreaterEquals, LessEquals, OneOf, NoneOf
Position:Named
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-ForceWildcardHandling

Ce paramètre traite les caractères génériques et peut entraîner un comportement inattendu (non recommandé). Vous ne pouvez pas la combiner avec DisableWildcardHandling.

Type:SwitchParameter
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Is64Bit

Ajoutez ce paramètre pour indiquer que ce dossier est associé à une application 32 bits sur des systèmes 64 bits.

Type:SwitchParameter
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Path

Spécifiez le chemin d’accès dans le système de fichiers au dossier qui indique la présence de l’application. Utilisez le paramètre DirectoryName pour spécifier le nom du dossier.

Par exemple, la console Configuration Manager s’installe par défaut sur C:\Program Files (x86)\Microsoft Endpoint Manager\AdminConsole. Pour créer une règle pour ce dossier, définissez ce paramètre sur %ProgramFiles(x86)%\Microsoft Endpoint Manager et le paramètre DirectoryName sur AdminConsole.

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-PropertyType

Lorsque vous ajoutez le paramètre Value , utilisez PropertyType avec ExpressionOperator et ExpectedValue. Lorsque vous utilisez ces paramètres, le dossier doit satisfaire à la règle pour indiquer la présence de cette application. Ce paramètre PropertyType spécifie la propriété folder à évaluer.

Type:FileFolderProperty
Valeurs acceptées:DateCreated, DateModified
Position:Named
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Value

Lorsque vous ajoutez le paramètre Value , le dossier doit satisfaire à la règle pour indiquer la présence de cette application. Utilisez ce paramètre avec les paramètres suivants : ExpectedValue, ExpressionOperator et PropertyType.

Au lieu d’évaluer une règle, pour vérifier simplement que le dossier existe, utilisez le paramètre Existence .

Type:SwitchParameter
Alias:ValueRule
Position:Named
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

Entrées

None

Sorties

System.Object