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\AdminConsole
installiert. Um eine Regel für diesen Ordner zu erstellen, legen Sie diesen Parameter auf AdminConsole
und den Path-Parameter auf %ProgramFiles(x86)%\Microsoft Endpoint Manager
fest.
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\AdminConsole
installiert. 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