New-CMDetectionClauseFile

Erstellen Sie eine Erkennungsmethodenklausel für eine Datei.

Syntax

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

Beschreibung

Verwenden Sie dieses Cmdlet, um eine -Klausel in einer Erkennungsmethode für eine Anwendung zu erstellen. Diese Klausel ist eine Regel für eine Datei, die das Vorhandensein einer Anwendung angibt.

Verwenden Sie das Cmdlet New-CMDetectionClauseDirectory , um einen Ordner anstelle einer Datei zu erkennen.

Nachdem Sie dieses Cmdlet verwendet haben, verwenden Sie eines der Add- oder Set-Cmdlets für Bereitstellungstypen. Übergeben Sie dieses Erkennungsklauselobjekt entweder an die Parameter AddDetectionClause oder RemoveDetectionClause .

Verwenden Sie zum Gruppieren von Erkennungsklauseln den GroupDetectionClauses-Parameter für die Cmdlets des Bereitstellungstyps.

Hinweis

Führen Sie Configuration Manager Cmdlets auf dem Configuration Manager-Websitelaufwerk aus, z. PS XYZ:\>B. . Weitere Informationen finden Sie unter Erste Schritte.

Beispiele

Beispiel 1: Erkennen einer Anwendung nach Version

In diesem Beispiel wird die Anwendungapp.exe in einem bestimmten Ordner erkannt, in dem die Version größer oder gleich 1.0.0ist.

$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

Beispiel 2: Erstellen mehrerer Klauseln für einen MSI-App-Bereitstellungstyp

In diesem Beispiel werden zwei Dateiklauseln und eine Registrierungsklausel erstellt und anschließend verwendet, um einer App einen MSI-Bereitstellungstyp hinzuzufügen.

$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"}

Parameter

-DisableWildcardHandling

Dieser Parameter behandelt Wildcardzeichen als Literalzeichenwerte. Sie können es nicht mit ForceWildcardHandling kombinieren.

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

-Existence

Wenn Sie diesen Parameter hinzufügen, muss die Datei auf dem Zielsystem vorhanden sein, um anzuzeigen, dass diese Anwendung vorhanden ist.

Verwenden Sie den Value-Parameter , um eine Regel für Eigenschaften dieser Datei auszuwerten, anstatt nur zu existieren.

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

-ExpectedValue

Wenn Sie den Value-Parameter hinzufügen, verwenden Sie ExpectedValue mit PropertyType und ExpressionOperator. Wenn Sie diese Parameter verwenden, muss die Datei die Regel erfüllen, um anzugeben, dass diese Anwendung vorhanden ist. Dieser ExpectedValue-Parameter gibt den Wert an, der mit dem Dateisystem verglichen werden soll.

Der zu vergleichende Wert hängt vom angegebenen PropertyType ab.

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

-ExpressionOperator

Wenn Sie den Value-Parameter hinzufügen, verwenden Sie ExpressionOperator mit PropertyType und ExpectedValue. Wenn Sie diese Parameter verwenden, muss die Datei die Regel erfüllen, um anzugeben, dass diese Anwendung vorhanden ist. Dieser ExpressionOperator-Parameter gibt den Operator an, um den Dateisystemwert mit dem erwarteten Wert zu vergleichen.

Ab Version 2010 wurde der Parametertyp von RuleExpressionOperator in FileFolderRuleExpressionOperator geändert.

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

-FileName

Geben Sie den Namen der Datei an, die das Vorhandensein der Anwendung angibt. Verwenden Sie den Path-Parameter , um den Pfad zu dieser Datei anzugeben.

Beispielsweise wird die Configuration Manager-Konsole standardmäßig auf C:\Program Files (x86)\Microsoft Endpoint Manager\AdminConsole\bin\Microsoft.ConfigurationManagement.exeinstalliert. Um eine Regel für diese Datei zu erstellen, legen Sie diesen Parameter auf Microsoft.ConfigurationManagement.exe und den Path-Parameter auf fest %ProgramFiles(x86)%\Microsoft Endpoint Manager\AdminConsole\bin.

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

-ForceWildcardHandling

Dieser Parameter verarbeitet Wildcardzeichen und kann zu unerwartetem Verhalten führen (nicht empfohlen). Sie können es nicht mit DisableWildcardHandling kombinieren.

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

-Is64Bit

Fügen Sie diesen Parameter hinzu, um anzugeben, dass diese Datei einer 32-Bit-Anwendung auf 64-Bit-Systemen zugeordnet ist.

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

-Path

Geben Sie den Pfad im Dateisystem zu der Datei an, die das Vorhandensein der Anwendung angibt. Verwenden Sie den Parameter FileName , um den Namen der Datei anzugeben.

Beispielsweise wird die Configuration Manager-Konsole standardmäßig auf C:\Program Files (x86)\Microsoft Endpoint Manager\AdminConsole\bin\Microsoft.ConfigurationManagement.exeinstalliert. Um eine Regel für diese Datei zu erstellen, legen Sie diesen Parameter auf %ProgramFiles(x86)%\Microsoft Endpoint Manager\AdminConsole\bin und den FileName-Parameter auf fest Microsoft.ConfigurationManagement.exe.

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

-PropertyType

Wenn Sie den Value-Parameter hinzufügen, verwenden Sie PropertyType mit ExpressionOperator und ExpectedValue. Wenn Sie diese Parameter verwenden, muss die Datei die Regel erfüllen, um anzugeben, dass diese Anwendung vorhanden ist. Dieser PropertyType-Parameter gibt die auszuwertende Dateieigenschaft an.

Sie legen diesen Parameter z. B. auf Version, ExpressionOperator auf IsEqualsund ExpectedValue auf 1.48.1.0fest. Die Regel überprüft dann, ob die angegebene Datei dieselbe Dateiversion aufweist.

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

-Value

Wenn Sie den Value-Parameter hinzufügen, muss die Datei die Regel erfüllen, um anzugeben, dass diese Anwendung vorhanden ist. Verwenden Sie diesen Parameter mit den folgenden Parametern: ExpectedValue, ExpressionOperator und PropertyType.

Anstatt eine Regel auszuwerten, um nur zu überprüfen, ob die Datei vorhanden ist, verwenden Sie den Parameter Existence .

Type:SwitchParameter
Aliases:ValueRule
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

Eingaben

None

Ausgaben

System.Object