Freigeben über


New-CMDetectionClauseDirectory

Erstellen Sie eine Erkennungsmethodenklausel für ein Dateisystemverzeichnis.

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

Beschreibung

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

Um eine Datei anstelle eines Ordners zu erkennen, verwenden Sie das Cmdlet New-CMDetectionClauseFile .

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-Standortlaufwerk aus, z. B PS XYZ:\>. . Weitere Informationen finden Sie unter Erste Schritte.

Beispiele

Beispiel 1: Hinzufügen einer Existenzerkennungsmethode

In diesem Beispiel wird eine Erkennungsklausel hinzugefügt, für die eine bestimmte Produkt-ID und ein Verzeichnisname vorhanden sein müssen.

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

Beispiel 2: Hinzufügen einer Erkennungsmethode für die Regelauswertung

In diesem Beispiel wird eine regelbasierte Erkennungsklausel hinzugefügt, um zu überprüfen, ob der Ordner nach dem 30.12.2020 geändert wurde.

$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

Parameter

-DirectoryName

Geben Sie den Namen des Ordners an, der das Vorhandensein der Anwendung angibt. Verwenden Sie den Path-Parameter , um den Pfad zu diesem Ordner anzugeben.

Beispielsweise wird die Configuration Manager-Konsole standardmäßig in C:\Program Files (x86)\Microsoft Endpoint Manager\AdminConsoleinstalliert. Um eine Regel für diesen Ordner zu erstellen, legen Sie diesen Parameter auf AdminConsole und den Path-Parameter auf %ProgramFiles(x86)%\Microsoft Endpoint Managerfest.

Typ:String
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-DisableWildcardHandling

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

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Existence

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

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

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ExpectedValue

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

Der PropertyType-Parameter für diese Klausel akzeptiert nur das Datum, an dem der Ordner erstellt oder geändert wurde, sodass dieser Wert eine Zeichenfolge mit einem gültigen datetime-Wert ist. Beispiel: "2020-11-30T08:00:00Z".

Typ:String[]
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ExpressionOperator

Wenn Sie den Value-Parameter hinzufügen, verwenden Sie ExpressionOperator mit PropertyType und ExpectedValue. Wenn Sie diese Parameter verwenden, muss der Ordner die Regel erfüllen, um das Vorhandensein dieser Anwendung anzugeben. 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.

Typ:FileFolderRuleExpressionOperator
Zulässige Werte:IsEquals, NotEquals, GreaterThan, LessThan, Between, GreaterEquals, LessEquals, OneOf, NoneOf
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ForceWildcardHandling

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

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Is64Bit

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

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Path

Geben Sie den Pfad im Dateisystem zu dem Ordner an, der das Vorhandensein der Anwendung angibt. Verwenden Sie den Parameter DirectoryName , um den Namen des Ordners anzugeben.

Beispielsweise wird die Configuration Manager-Konsole standardmäßig in C:\Program Files (x86)\Microsoft Endpoint Manager\AdminConsoleinstalliert. Um eine Regel für diesen Ordner zu erstellen, legen Sie diesen Parameter auf %ProgramFiles(x86)%\Microsoft Endpoint Manager und den DirectoryName-Parameter auf fest AdminConsole.

Typ:String
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-PropertyType

Wenn Sie den Value-Parameter hinzufügen, verwenden Sie PropertyType mit ExpressionOperator und ExpectedValue. Wenn Sie diese Parameter verwenden, muss der Ordner die Regel erfüllen, um das Vorhandensein dieser Anwendung anzugeben. Dieser PropertyType-Parameter gibt die auszuwertende Folder-Eigenschaft an.

Typ:FileFolderProperty
Zulässige Werte:DateCreated, DateModified
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Value

Wenn Sie den Value-Parameter hinzufügen, muss der Ordner 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 der Ordner vorhanden ist, verwenden Sie den Parameter Existence .

Typ:SwitchParameter
Aliase:ValueRule
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

Eingaben

None

Ausgaben

System.Object