Поделиться через


New-CMDetectionClauseDirectory

Создайте предложение метода обнаружения для каталога файловой системы.

Синтаксис

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>]

Описание

Используйте этот командлет для создания предложения в методе обнаружения в приложении. Это предложение является правилом для папки файловой системы, указывающей на наличие приложения.

Чтобы обнаружить файл, а не папку, используйте командлет New-CMDetectionClauseFile .

После использования этого командлета используйте один из командлетов Add- или Set- для типов развертывания. Передайте этот объект предложения обнаружения в параметры AddDetectionClause или RemoveDetectionClause .

Чтобы группировать предложения обнаружения, используйте параметр GroupDetectionClauses в командлетах типа развертывания.

Примечание.

Запустите командлеты Configuration Manager с диска сайта Configuration Manager, например PS XYZ:\>. Дополнительные сведения см. в статье Начало работы.

Примеры

Пример 1. Добавление метода обнаружения существования

В этом примере добавляется предложение обнаружения, которое требует наличия определенного идентификатора продукта и имени каталога.

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

Пример 2. Добавление метода обнаружения оценки правила

В этом примере добавляется предложение обнаружения на основе правил, чтобы убедиться, что папка была изменена после 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

Параметры

-DirectoryName

Укажите имя папки, указывающей на наличие приложения. Используйте параметр Path , чтобы указать путь к этой папке.

Например, консоль Configuration Manager устанавливается по умолчанию в C:\Program Files (x86)\Microsoft Endpoint Manager\AdminConsole. Чтобы создать правило для этой папки, задайте для этого параметра значение AdminConsole , а для параметра Path — значение %ProgramFiles(x86)%\Microsoft Endpoint Manager.

Тип:String
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-DisableWildcardHandling

Этот параметр обрабатывает подстановочные знаки как литеральные символы. Вы не можете объединить его с ForceWildcardHandling.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Existence

При добавлении этого параметра папка должна существовать в целевой системе, чтобы указать на наличие этого приложения.

Вместо того чтобы просто существовать, чтобы оценить правило для свойств этой папки, используйте параметр Value .

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ExpectedValue

При добавлении параметра Value используйте ExpectedValue с PropertyType и ExpressionOperator. При использовании этих параметров папка должна соответствовать правилу, чтобы указать на наличие этого приложения. Этот параметр ExpectedValue задает значение для сравнения с файловой системой.

Параметр PropertyType для этого предложения принимает только дату создания или изменения папки, поэтому это значение представляет собой строку с допустимым значением datetime. Например, "2020-11-30T08:00:00Z".

Тип:String[]
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ExpressionOperator

При добавлении параметра Value используйте ExpressionOperator с PropertyType и ExpectedValue. При использовании этих параметров папка должна соответствовать правилу, чтобы указать на наличие этого приложения. Этот параметр ExpressionOperator указывает оператор для сравнения значения файловой системы с ожидаемым значением.

Начиная с версии 2010 тип параметра изменился с RuleExpressionOperator на FileFolderRuleExpressionOperator.

Тип:FileFolderRuleExpressionOperator
Допустимые значения:IsEquals, NotEquals, GreaterThan, LessThan, Between, GreaterEquals, LessEquals, OneOf, NoneOf
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ForceWildcardHandling

Этот параметр обрабатывает подстановочные знаки и может привести к непредвиденному поведению (не рекомендуется). Его нельзя объединить с DisableWildcardHandling.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Is64Bit

Добавьте этот параметр, чтобы указать, что эта папка связана с 32-разрядным приложением в 64-разрядных системах.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Path

Укажите путь в файловой системе к папке, указывающей на наличие приложения. Используйте параметр DirectoryName , чтобы указать имя папки.

Например, консоль Configuration Manager устанавливается по умолчанию в C:\Program Files (x86)\Microsoft Endpoint Manager\AdminConsole. Чтобы создать правило для этой папки, присвойте этому параметру значение %ProgramFiles(x86)%\Microsoft Endpoint Manager , а параметру DirectoryName — значение AdminConsole.

Тип:String
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-PropertyType

При добавлении параметра Value используйте PropertyType с ExpressionOperator и ExpectedValue. При использовании этих параметров папка должна соответствовать правилу, чтобы указать на наличие этого приложения. Этот параметр PropertyType указывает свойство папки для оценки.

Тип:FileFolderProperty
Допустимые значения:DateCreated, DateModified
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Value

При добавлении параметра Value папка должна соответствовать правилу, чтобы указать на наличие этого приложения. Используйте этот параметр со следующими параметрами: ExpectedValue, ExpressionOperator и PropertyType.

Вместо того чтобы оценивать правило, чтобы просто проверить, существует ли папка, используйте параметр Existence .

Тип:SwitchParameter
Aliases:ValueRule
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

Входные данные

None

Выходные данные

System.Object