New-CMTSStepConditionFile

Erstellen Sie eine Dateieigenschaftenbedingung für einen Tasksequenzschritt.

Syntax

New-CMTSStepConditionFile
   [-FileDateTimeOperator <VariableOperatorType>]
   -FilePath <String>
   [-FileTimestamp <DateTime>]
   [-FileVersion <String>]
   [-VersionOperator <VariableOperatorType>]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Beschreibung

Verwenden Sie dieses Cmdlet, um ein Bedingungsobjekt für Dateieigenschaften für einen Tasksequenzschritt zu erstellen. Verwenden Sie dann eines der Cmdlets New-CMTSStep* oder Set-CMTSStep* mit den Parametern Condition oder AddCondition . Beispiel: Set-CMTSStepApplyDataImage.

Weitere Informationen finden Sie unter Verwenden des Tasksequenz-Editors: Bedingungen.

Es gibt drei Arten von Überprüfungen, die Sie mit dieser Bedingung durchführen können:

  • Um zu überprüfen, ob die Datei vorhanden ist, verwenden Sie den erforderlichen FilePath-Parameter .
  • Um auch die Dateiversion zu überprüfen, verwenden Sie die Parameter FileVersion und VersionOperator .
  • Um auch den Dateizeitstempel zu überprüfen, verwenden Sie die Parameter FileTimestamp und FileDateTimeOperator .

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

In diesem Beispiel wird überprüft, ob eine der Hilfedateien des Configuration Manager-PowerShell-Moduls vorhanden und zeitstempel ist. Es wird ein Dateibedingungsobjekt für die Datei erstellt, dessen Zeitstempel größer als der 2. August 2021 ist.

Anschließend wird das Cmdlet Set-CMTSStepRunPowerShellScript verwendet, um dieses Bedingungsobjekt dem Schritt PowerShell-Skript ausführen der Tasksequenz Standardbetriebssystembereitstellung hinzuzufügen.

$file = "C:\Program Files (x86)\Microsoft Endpoint Manager\AdminConsole\bin\en-US\AdminUI.PS.dll-Help.xml"
$datetime = Get-Date ("August 2, 2021")

$condition = New-CMTSStepConditionFile -FilePath $file -FileTimestamp $datetime -FileDateTimeOperator Greater

$tsNameOsd = "Default OS deployment"
$tsStepNameRunPwsh = "Run PowerShell Script"

Set-CMTSStepRunPowerShellScript -TaskSequenceName $tsNameOsd -StepName $tsStepNameRunPwsh -AddCondition $condition

Dieses Beispielskript erstellt die folgende Bedingung für den Schritt:

File C:\Program Files (x86)\Microsoft Endpoint Manager\AdminConsole\bin\en-US\AdminUI.PS.dll-Help.xml exists and timestamp greater than "8/1/2021 16:00:00"

Parameter

-Confirm

Fordert Sie vor dem Ausführen des Cmdlets zur Bestätigung auf.

Typ:SwitchParameter
Aliase:cf
Position:Named
Standardwert:None
Erforderlich:False
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

-FileDateTimeOperator

Wenn Sie den FileTimestamp-Parameter verwenden, verwenden Sie diesen Parameter, um den Operator für die Tasksequenz anzugeben, um den Zeitstempel der Datei auszuwerten.

Typ:VariableOperatorType
Zulässige Werte:Equals, NotEquals, Greater, GreaterEqual, Less, LessEqual
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-FilePath

Geben Sie den vollständigen Pfad einschließlich des Namens der Datei für diese Bedingung an.

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

-FileTimestamp

Verwenden Sie zum Auswerten des Zeitstempels der Datei diesen Parameter, um ein datetime-Objekt anzugeben. Verwenden Sie zum Abrufen dieses Objekts das integrierte Cmdlet Get-Date .

Verwenden Sie dann den Parameter FileDateTimeOperator , um den Auswertungsoperator festzulegen.

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

-FileVersion

Verwenden Sie zum Auswerten der Dateiversion diesen Parameter, um die Versionszeichenfolge anzugeben.

Verwenden Sie dann den Parameter VersionOperator , um den Auswertungsoperator festzulegen.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
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

-VersionOperator

Wenn Sie den FileVersion-Parameter verwenden, verwenden Sie diesen Parameter, um den Operator für die Tasksequenz anzugeben, um die Version der Datei auszuwerten.

Typ:VariableOperatorType
Zulässige Werte:Equals, NotEquals, Greater, GreaterEqual, Less, LessEqual
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-WhatIf

Zeigt, was passieren würde, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.

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

Eingaben

None

Ausgaben

IResultObject

Hinweise

Weitere Informationen zu diesem Rückgabeobjekt und seinen Eigenschaften finden Sie unter SMS_TaskSequence_FileConditionExpression WMI-Serverklasse.