New-CMDetectionClauseFile
Создайте предложение метода обнаружения для файла.
Синтаксис
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>]
Описание
Используйте этот командлет для создания предложения в методе обнаружения в приложении. Это предложение является правилом для файла, которое указывает на наличие приложения.
Чтобы обнаружить папку вместо файла, используйте командлет New-CMDetectionClauseDirectory .
После использования этого командлета используйте один из командлетов Add- или Set- для типов развертывания. Передайте этот объект предложения обнаружения в параметры AddDetectionClause или RemoveDetectionClause .
Чтобы группировать предложения обнаружения, используйте параметр GroupDetectionClauses в командлетах типа развертывания.
Примечание.
Запустите командлеты Configuration Manager с диска сайта Configuration Manager, например PS XYZ:\>
. Дополнительные сведения см. в статье Начало работы.
Примеры
Пример 1. Определение приложения по версии
В этом примере обнаруживается app.exe приложения в определенной папке, где версия больше или равна 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
Пример 2. Создание нескольких предложений для типа развертывания приложения MSI
В этом примере создаются два предложения файлов и одно предложение реестра, а затем они используются для добавления типа развертывания MSI в приложение.
$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"}
Параметры
-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.
Тип: | 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 |
-FileName
Укажите имя файла, указывающего на наличие приложения. Используйте параметр Path , чтобы указать путь к этому файлу.
Например, консоль Configuration Manager устанавливается по умолчанию в C:\Program Files (x86)\Microsoft Endpoint Manager\AdminConsole\bin\Microsoft.ConfigurationManagement.exe
. Чтобы создать правило для этого файла, присвойте этому параметру значение Microsoft.ConfigurationManagement.exe
, а параметру Path — значение %ProgramFiles(x86)%\Microsoft Endpoint Manager\AdminConsole\bin
.
Тип: | String |
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
Укажите путь в файловой системе к файлу, который указывает на наличие приложения. Используйте параметр FileName , чтобы указать имя файла.
Например, консоль Configuration Manager устанавливается по умолчанию в C:\Program Files (x86)\Microsoft Endpoint Manager\AdminConsole\bin\Microsoft.ConfigurationManagement.exe
. Чтобы создать правило для этого файла, задайте для этого параметра значение %ProgramFiles(x86)%\Microsoft Endpoint Manager\AdminConsole\bin
, а для параметра FileName — значение Microsoft.ConfigurationManagement.exe
.
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-PropertyType
При добавлении параметра Value используйте PropertyType с ExpressionOperator и ExpectedValue. При использовании этих параметров файл должен соответствовать правилу, чтобы указать на наличие этого приложения. Этот параметр PropertyType указывает свойство файла для оценки.
Например, для этого параметра задается значение Version
, для ExpressionOperator — значение IsEquals
, а для Параметра ExpectedValue — значение 1.48.1.0
. Затем правило проверяет указанный файл на наличие той же версии файла.
Тип: | FileFolderProperty |
Допустимые значения: | DateCreated, DateModified, Version, Size |
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